Ultra Detailed Player Audit - 20260521

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

Windows shown explicitly: Team recent form = latest 10 games from enhanced analysis. Player historical helpers = 75 games; balancing rates = 162 games (as implemented in services).

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

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

20260521_ATL@MIA

Prediction Method: enhanced_ml_savant_pitcher_quality
Team Recent Window (Home): 49 games
Team Recent Window (Away): 50 games
Team Recent Period: Latest 10 games from dataset
Enhanced Prediction Target: {"away_runs": 3, "home_runs": 1, "confidence": 0.5838289999999999, "home_win_probability": 0.41617100000000007, "away_win_probability": 0.5838289999999999, "predicted_score_text": "ATL 3 - 1 MIA", "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": 3, "run_delta": 0.2108, "adjusted_runs": 3, "lineup": {"players_used": 9, "total_weight": 64.0, "quality": 0.3458958937370578, "contact": 0.2534738054961779, "power": 0.3747091399757839, "discipline": 0.012976286568920439, "xwoba": 0.3349375000000001, "recent_xwoba": 0.3349375000000001, "barrel": 9.6859375, "ab_hard_contact": 0.3541420285589964, "ab_bat_speed": 71.35149066332079, "ab_strikeout_rate": 0.2199949745917938, "available_players": 8, "top_players": [{"player_id": "621566", "player_name": "Matt Olson", "position": "1B", "weight": 9.0, "quality": 1.3060766713947982, "contact": 1.2904419393154092, "power": 1.9908782066120614, "discipline": 0.2681598639455781, "xwoba": 0.39, "recent_xwoba": 0.39, "barrel": 16.7, "ab_hard_contact": 1.6792784179555016, "ab_bat_speed": 73.33984126984126, "ab_strikeout_rate": 0.24319727891156462, "available": 1.0}, {"player_id": "671739", "player_name": "Michael Harris II", "position": "CF", "weight": 8.0, "quality": 1.1759713334502846, "contact": 1.870079185458673, "power": 2.0, "discipline": -0.599984126984127, "xwoba": 0.398, "recent_xwoba": 0.398, "barrel": 16.8, "ab_hard_contact": 1.4219595466323387, "ab_bat_speed": 74.03688456790124, "ab_strikeout_rate": 0.20555555555555555, "available": 1.0}, {"player_id": "660670", "player_name": "Ronald Acuña Jr.", "position": "RF", "weight": 9.0, "quality": 0.5679494289128638, "contact": 0.7439244609688777, "power": 0.8890278433379102, "discipline": 0.5906428571428571, "xwoba": 0.383, "recent_xwoba": 0.383, "barrel": 12.9, "ab_hard_contact": 0.39465210485343766, "ab_bat_speed": 73.33873412698412, "ab_strikeout_rate": 0.2, "available": 1.0}, {"player_id": "673490", "player_name": "Ha-Seong Kim", "position": "SS", "weight": 6.0, "quality": -0.11031021480563226, "contact": -1.5533803351762472, "power": -1.7387139310488138, "discipline": 0.7077857142857142, "xwoba": 0.225, "recent_xwoba": 0.225, "barrel": 0.0, "ab_hard_contact": -0.914469097166763, "ab_bat_speed": 70.65694444444445, "ab_strikeout_rate": 0.25, "available": 1.0}, {"player_id": "644433", "player_name": "Chadwick Tromp", "position": "C", "weight": 3.0, "quality": 0.0019033066206479766, "contact": -1.7999999999999998, "power": -2.0, "discipline": 0.14999999999999986, "xwoba": 0.318, "recent_xwoba": 0.318, "barrel": 7.8, "ab_hard_contact": -2.0, "ab_bat_speed": 70.3087758838384, "ab_strikeout_rate": 0.22395833333333331, "available": 0.0}]}, "opposing_starter": {"available": true, "player_id": "645261", "player_name": "Sandy Alcantara", "quality": 0.09617792541691238, "contact": 0.301214932157318, "command": -0.3487627941331645, "movement": 0.4706613018301763, "xwoba": 0.29, "whiff": 23.3, "faced_est_woba": 0.3020300708180708, "faced_launch_speed": 85.05965028350187, "faced_strikeout_rate": 0.1613327002215891, "faced_run_exp": -0.002746791118077499}}, "home": {"team": "MIA", "original_runs": 1, "run_delta": -0.3337, "adjusted_runs": 1, "lineup": {"players_used": 9, "total_weight": 66.0, "quality": 0.010530994053709887, "contact": -0.12281675120068047, "power": -0.2730003152465806, "discipline": -0.026665809969670533, "xwoba": 0.2983484848484848, "recent_xwoba": 0.2983484848484848, "barrel": 5.953030303030303, "ab_hard_contact": -0.16370038862570566, "ab_bat_speed": 70.19177567359725, "ab_strikeout_rate": 0.21866436696822747, "available_players": 9, "top_players": [{"player_id": "805300", "player_name": "Jakob Marsee", "position": "CF", "weight": 8.0, "quality": -0.46436961949412225, "contact": -0.5314235153518642, "power": -0.8255005663263618, "discipline": 0.696385511651469, "xwoba": 0.298, "recent_xwoba": 0.298, "barrel": 4.0, "ab_hard_contact": -0.8818208503367617, "ab_bat_speed": 68.7555042445734, "ab_strikeout_rate": 0.24397163120567375, "available": 1.0}, {"player_id": "691594", "player_name": "Javier Sanoja", "position": "3B", "weight": 7.0, "quality": -0.30006179877555256, "contact": -0.6059801439064048, "power": -1.023824564911247, "discipline": 0.6111825396825397, "xwoba": 0.26, "recent_xwoba": 0.26, "barrel": 2.4, "ab_hard_contact": -0.47039606012972657, "ab_bat_speed": 69.01589814814815, "ab_strikeout_rate": 0.10388888888888889, "available": 1.0}, {"player_id": "666624", "player_name": "Christopher Morel", "position": "1B", "weight": 6.0, "quality": -0.2679164917886261, "contact": -1.481468783068783, "power": -1.0651332910858429, "discipline": -1.4783571428571427, "xwoba": 0.207, "recent_xwoba": 0.207, "barrel": 3.6, "ab_hard_contact": -0.8554277264787683, "ab_bat_speed": 73.71685185185184, "ab_strikeout_rate": 0.4222222222222222, "available": 1.0}, {"player_id": "691788", "player_name": "Joe Mack", "position": "C", "weight": 6.0, "quality": -0.24392070427618295, "contact": -1.5451897368856493, "power": -1.1109560136190213, "discipline": -1.3033131868131869, "xwoba": 0.2, "recent_xwoba": 0.2, "barrel": 3.8, "ab_hard_contact": -0.19512027238043927, "ab_bat_speed": 73.38814102564103, "ab_strikeout_rate": 0.3153846153846154, "available": 1.0}, {"player_id": "672640", "player_name": "Otto Lopez", "position": "SS", "weight": 9.0, "quality": 0.4109727189162677, "contact": 0.7766324827801027, "power": 0.546610725242523, "discipline": -0.2959583333333333, "xwoba": 0.336, "recent_xwoba": 0.336, "barrel": 8.8, "ab_hard_contact": 0.5192621238980514, "ab_bat_speed": 70.57177025462963, "ab_strikeout_rate": 0.16145833333333334, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "675911", "player_name": "Spencer Strider", "quality": 0.10313515525770935, "contact": 0.6040313072897294, "command": 0.7677821476768847, "movement": 0.642874242246586, "xwoba": 0.272, "whiff": 38.1, "faced_est_woba": 0.29380676817042606, "faced_launch_speed": 84.58, "faced_strikeout_rate": 0.3483709273182957, "faced_run_exp": 0.018257620241078874}}}, "confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Production confidence governor cap enforced.", "pre_simulation_target": {"away_runs": 3, "home_runs": 1, "predicted_score_text": "ATL 3 - 1 MIA", "confidence": 0.5838289999999999, "source": "enhanced_prediction_before_inning_simulation"}, "score_source": "enhanced_prediction.pre_simulation_target", "final_prediction_synced": true, "final_prediction_source": "pre_simulation_target", "simulation_usage": "advisory_box_score_draw", "simulation_score_matches_prediction": false, "simulation_reconciliation": {"pre_simulation_score": {"away_runs": 3, "home_runs": 1, "score_text": "ATL 3 - 1 MIA", "winner": "ATL"}, "final_simulation_score": {"away_runs": 3, "home_runs": 2, "score_text": "ATL 3 - 2 MIA", "winner": "ATL"}, "winner_flipped_by_simulation": false, "away_run_delta": 0, "home_run_delta": 1, "total_run_delta": 1, "score_source": "enhanced_prediction.pre_simulation_target", "simulation_usage": "advisory_box_score_draw", "final_prediction_source": "pre_simulation_target"}}
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, 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 3 - 1 MIAATL0.584enhanced_prediction.pre_simulation_targetTrue
Simulation drawATL 3 - 2 MIAATL-advisory_box_score_drawFalse

The shipped score is the pre-simulation model target. The inning simulation is a separate box-score realization used for player lines and stress testing.

Full Prediction Process

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.5838
9. Simulation reconciliationKeeps final shipped score and simulation box score auditable side by side.simulation_reconciliationadvisory_box_score_draw
10. Score evolution rendered6 stored score steps are rendered below.game.score_evolution.stepstrue

Score Evolution Steps

StepLayerAway RunsHome RunsConfidenceDescription
1historical_ml4.0313.085-Base ML historical model prediction
2variance_applied43-Random variance applied (0.9-1.1)
3enhanced_prediction310.5838Enhanced ML with recent form, H2H, low-score analysis
4embedded_savant_run_environment31-Target score adjusted by temporal Savant lineup quality versus opposing starter quality
5capped_target31-Capped at max 12 realistic runs
6simulation_result32-Final inning-by-inning simulation result

Governors, Guardrails, and Reconciliation

Low Score Analysis
{
  "low_score_probability": 0.6593442327790976,
  "base_low_score_probability": 0.42399049881235157,
  "low_score_signal_threshold": 0.5039904988123516,
  "low_score_signal_strength": 0.23535373396674603,
  "confidence": 0.8775460000000002,
  "factors": {
    "environmental": 1.0710000000000002,
    "pitcher_form": 1.4520000000000002,
    "team_form": 1.0,
    "situational": 1.0,
    "combined": 1.5550920000000004
  },
  "prediction": "low_scoring",
  "expected_total_runs": 4,
  "pre_simulation_expected_total_runs": 6.5,
  "low_score_model_expected_total_runs": 6.5,
  "final_simulation_total_runs": 5,
  "score_source": "enhanced_prediction.pre_simulation_target"
}
Win Probability Calibration
{
  "method": "historical_slate_bin_shrinkage",
  "sample_size": 47,
  "near_bucket_sample_size": 26,
  "medium_bucket_sample_size": 47,
  "wide_bucket_sample_size": 106,
  "global_sample_size": 205,
  "bucket_scope": "pooled_0.08",
  "sparse_bucket": false,
  "empirical_hit_rate": 0.5532,
  "bayesian_hit_rate": 0.5385,
  "sample_weight": 0.6,
  "prior_strength": 18.0,
  "reliability": 0.7231,
  "confidence_cap": 0.78,
  "raw_pick_probability": 0.6752,
  "calibrated_pick_probability": 0.5838,
  "predicted_side": "away"
}
Season Run Differential Adjustment
{
  "applied": true,
  "home": {
    "team": "MIA",
    "games": 50,
    "wins": 22,
    "losses": 28,
    "win_pct": 0.44,
    "runs_scored": 218,
    "runs_allowed": 231,
    "run_differential": -13,
    "run_differential_per_game": -0.26,
    "available": true
  },
  "away": {
    "team": "ATL",
    "games": 50,
    "wins": 34,
    "losses": 16,
    "win_pct": 0.68,
    "runs_scored": 267,
    "runs_allowed": 169,
    "run_differential": 98,
    "run_differential_per_game": 1.96,
    "available": true
  },
  "run_differential_edge_per_game": -2.22,
  "win_pct_edge": -0.24,
  "quality_edge": -2.58,
  "margin_adjustment": -1.0836,
  "reason": "season-to-date run differential and record moved the score toward the stronger team",
  "adjusted_score": {
    "away_runs": 2.561,
    "home_runs": 0.501,
    "home_win_probability": 0.3248
  }
}
Matchup Recency Guardrail
{
  "applied": false,
  "confidence_cap": null,
  "winner_flipped": false,
  "reasons": [],
  "signals": {
    "predicted_team": "ATL",
    "guardrail_predicted_team": "ATL",
    "guardrail_opponent_team": null,
    "output_pre_simulation_winner": "ATL",
    "output_opponent_team": "MIA",
    "final_score_winner": "ATL",
    "pre_simulation_winner": "ATL",
    "winner_flipped_by_simulation": false
  },
  "final_prediction_sync": {
    "pre_simulation_score": {
      "away_runs": 3,
      "home_runs": 1,
      "score_text": "ATL 3 - 1 MIA",
      "winner": "ATL"
    },
    "final_simulation_score": {
      "away_runs": 3,
      "home_runs": 2,
      "score_text": "ATL 3 - 2 MIA",
      "winner": "ATL"
    },
    "winner_flipped_by_simulation": false,
    "away_run_delta": 0,
    "home_run_delta": 1,
    "total_run_delta": 1,
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_usage": "advisory_box_score_draw",
    "final_prediction_source": "pre_simulation_target"
  }
}
Season Quality Guardrail
{
  "applied": false,
  "confidence_cap": null,
  "winner_flipped": false,
  "reasons": [],
  "signals": {
    "home": {
      "team": "MIA",
      "games": 50,
      "wins": 22,
      "losses": 28,
      "win_pct": 0.44,
      "runs_scored": 218,
      "runs_allowed": 231,
      "run_differential": -13,
      "run_differential_per_game": -0.26,
      "available": true
    },
    "away": {
      "team": "ATL",
      "games": 50,
      "wins": 34,
      "losses": 16,
      "win_pct": 0.68,
      "runs_scored": 267,
      "runs_allowed": 169,
      "run_differential": 98,
      "run_differential_per_game": 1.96,
      "available": true
    }
  }
}
Margin Governor
{
  "applied": false,
  "raw_margin": -2.0608,
  "final_margin": -2.0608,
  "margin_cap": 4.25,
  "season_quality_edge": 2.58,
  "reason": "raw target margin within supported range"
}
Confidence Governor
{
  "applied": false,
  "raw_confidence": 0.583829,
  "final_confidence": 0.583829,
  "confidence_cap": 0.64,
  "score_gap": 2.0608,
  "calibration_sample_size": 47,
  "calibration_empirical_hit_rate": 0.5532,
  "calibration_bayesian_hit_rate": 0.5385,
  "calibration_sparse_bucket": false,
  "season_quality_edge": 2.58,
  "reasons": [
    "unvalidated probabilities are capped for production display",
    "projected score gap is moderate",
    "local calibration sample has at least 30 games",
    "season run-differential edge supports the pick",
    "win-probability calibration cap enforced"
  ]
}
Simulation Reconciliation
{
  "pre_simulation_score": {
    "away_runs": 3,
    "home_runs": 1,
    "score_text": "ATL 3 - 1 MIA",
    "winner": "ATL"
  },
  "final_simulation_score": {
    "away_runs": 3,
    "home_runs": 2,
    "score_text": "ATL 3 - 2 MIA",
    "winner": "ATL"
  },
  "winner_flipped_by_simulation": false,
  "away_run_delta": 0,
  "home_run_delta": 1,
  "total_run_delta": 1,
  "score_source": "enhanced_prediction.pre_simulation_target",
  "simulation_usage": "advisory_box_score_draw",
  "final_prediction_source": "pre_simulation_target"
}
Enhanced Prediction Target
{
  "away_runs": 3,
  "home_runs": 1,
  "confidence": 0.5838289999999999,
  "home_win_probability": 0.41617100000000007,
  "away_win_probability": 0.5838289999999999,
  "predicted_score_text": "ATL 3 - 1 MIA",
  "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": 3,
      "run_delta": 0.2108,
      "adjusted_runs": 3,
      "lineup": {
        "players_used": 9,
        "total_weight": 64.0,
        "quality": 0.3458958937370578,
        "contact": 0.2534738054961779,
        "power": 0.3747091399757839,
        "discipline": 0.012976286568920439,
        "xwoba": 0.3349375000000001,
        "recent_xwoba": 0.3349375000000001,
        "barrel": 9.6859375,
        "ab_hard_contact": 0.3541420285589964,
        "ab_bat_speed": 71.35149066332079,
        "ab_strikeout_rate": 0.2199949745917938,
        "available_players": 8,
        "top_players": [
          {
            "player_id": "621566",
            "player_name": "Matt Olson",
            "position": "1B",
            "weight": 9.0,
            "quality": 1.3060766713947982,
            "contact": 1.2904419393154092,
            "power": 1.9908782066120614,
            "discipline": 0.2681598639455781,
            "xwoba": 0.39,
            "recent_xwoba": 0.39,
            "barrel": 16.7,
            "ab_hard_contact": 1.6792784179555016,
            "ab_bat_speed": 73.33984126984126,
            "ab_strikeout_rate": 0.24319727891156462,
            "available": 1.0
          },
          {
            "player_id": "671739",
            "player_name": "Michael Harris II",
            "position": "CF",
            "weight": 8.0,
            "quality": 1.1759713334502846,
            "contact": 1.870079185458673,
            "power": 2.0,
            "discipline": -0.599984126984127,
            "xwoba": 0.398,
            "recent_xwoba": 0.398,
            "barrel": 16.8,
            "ab_hard_contact": 1.4219595466323387,
            "ab_bat_speed": 74.03688456790124,
            "ab_strikeout_rate": 0.20555555555555555,
            "available": 1.0
          },
          {
            "player_id": "660670",
            "player_name": "Ronald Acuña Jr.",
            "position": "RF",
            "weight": 9.0,
            "quality": 0.5679494289128638,
            "contact": 0.7439244609688777,
            "power": 0.8890278433379102,
            "discipline": 0.5906428571428571,
            "xwoba": 0.383,
            "recent_xwoba": 0.383,
            "barrel": 12.9,
            "ab_hard_contact": 0.39465210485343766,
            "ab_bat_speed": 73.33873412698412,
            "ab_strikeout_rate": 0.2,
            "available": 1.0
          },
          {
            "player_id": "673490",
            "player_name": "Ha-Seong Kim",
            "position": "SS",
            "weight": 6.0,
            "quality": -0.11031021480563226,
            "contact": -1.5533803351762472,
            "power": -1.7387139310488138,
            "discipline": 0.7077857142857142,
            "xwoba": 0.225,
            "recent_xwoba": 0.225,
            "barrel": 0.0,
            "ab_hard_contact": -0.914469097166763,
            "ab_bat_speed": 70.65694444444445,
            "ab_strikeout_rate": 0.25,
            "available": 1.0
          },
          {
            "player_id": "644433",
            "player_name": "Chadwick Tromp",
            "position": "C",
            "weight": 3.0,
            "quality": 0.0019033066206479766,
            "contact": -1.7999999999999998,
            "power": -2.0,
            "discipline": 0.14999999999999986,
            "xwoba": 0.318,
            "recent_xwoba": 0.318,
            "barrel": 7.8,
            "ab_hard_contact": -2.0,
            "ab_bat_speed": 70.3087758838384,
            "ab_strikeout_rate": 0.22395833333333331,
            "available": 0.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "645261",
        "player_name": "Sandy Alcantara",
        "quality": 0.09617792541691238,
        "contact": 0.301214932157318,
        "command": -0.3487627941331645,
        "movement": 0.4706613018301763,
        "xwoba": 0.29,
        "whiff": 23.3,
        "faced_est_woba": 0.3020300708180708,
        "faced_launch_speed": 85.05965028350187,
        "faced_strikeout_rate": 0.1613327002215891,
        "faced_run_exp": -0.002746791118077499
      }
    },
    "home": {
      "team": "MIA",
      "original_runs": 1,
      "run_delta": -0.3337,
      "adjusted_runs": 1,
      "lineup": {
        "players_used": 9,
        "total_weight": 66.0,
        "quality": 0.010530994053709887,
        "contact": -0.12281675120068047,
        "power": -0.2730003152465806,
        "discipline": -0.026665809969670533,
        "xwoba": 0.2983484848484848,
        "recent_xwoba": 0.2983484848484848,
        "barrel": 5.953030303030303,
        "ab_hard_contact": -0.16370038862570566,
        "ab_bat_speed": 70.19177567359725,
        "ab_strikeout_rate": 0.21866436696822747,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "805300",
            "player_name": "Jakob Marsee",
            "position": "CF",
            "weight": 8.0,
            "quality": -0.46436961949412225,
            "contact": -0.5314235153518642,
            "power": -0.8255005663263618,
            "discipline": 0.696385511651469,
            "xwoba": 0.298,
            "recent_xwoba": 0.298,
            "barrel": 4.0,
            "ab_hard_contact": -0.8818208503367617,
            "ab_bat_speed": 68.7555042445734,
            "ab_strikeout_rate": 0.24397163120567375,
            "available": 1.0
          },
          {
            "player_id": "691594",
            "player_name": "Javier Sanoja",
            "position": "3B",
            "weight": 7.0,
            "quality": -0.30006179877555256,
            "contact": -0.6059801439064048,
            "power": -1.023824564911247,
            "discipline": 0.6111825396825397,
            "xwoba": 0.26,
            "recent_xwoba": 0.26,
            "barrel": 2.4,
            "ab_hard_contact": -0.47039606012972657,
            "ab_bat_speed": 69.01589814814815,
            "ab_strikeout_rate": 0.10388888888888889,
            "available": 1.0
          },
          {
            "player_id": "666624",
            "player_name": "Christopher Morel",
            "position": "1B",
            "weight": 6.0,
            "quality": -0.2679164917886261,
            "contact": -1.481468783068783,
            "power": -1.0651332910858429,
            "discipline": -1.4783571428571427,
            "xwoba": 0.207,
            "recent_xwoba": 0.207,
            "barrel": 3.6,
            "ab_hard_contact": -0.8554277264787683,
            "ab_bat_speed": 73.71685185185184,
            "ab_strikeout_rate": 0.4222222222222222,
            "available": 1.0
          },
          {
            "player_id": "691788",
            "player_name": "Joe Mack",
            "position": "C",
            "weight": 6.0,
            "quality": -0.24392070427618295,
            "contact": -1.5451897368856493,
            "power": -1.1109560136190213,
            "discipline": -1.3033131868131869,
            "xwoba": 0.2,
            "recent_xwoba": 0.2,
            "barrel": 3.8,
            "ab_hard_contact": -0.19512027238043927,
            "ab_bat_speed": 73.38814102564103,
            "ab_strikeout_rate": 0.3153846153846154,
            "available": 1.0
          },
          {
            "player_id": "672640",
            "player_name": "Otto Lopez",
            "position": "SS",
            "weight": 9.0,
            "quality": 0.4109727189162677,
            "contact": 0.7766324827801027,
            "power": 0.546610725242523,
            "discipline": -0.2959583333333333,
            "xwoba": 0.336,
            "recent_xwoba": 0.336,
            "barrel": 8.8,
            "ab_hard_contact": 0.5192621238980514,
            "ab_bat_speed": 70.57177025462963,
            "ab_strikeout_rate": 0.16145833333333334,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "675911",
        "player_name": "Spencer Strider",
        "quality": 0.10313515525770935,
        "contact": 0.6040313072897294,
        "command": 0.7677821476768847,
        "movement": 0.642874242246586,
        "xwoba": 0.272,
        "whiff": 38.1,
        "faced_est_woba": 0.29380676817042606,
        "faced_launch_speed": 84.58,
        "faced_strikeout_rate": 0.3483709273182957,
        "faced_run_exp": 0.018257620241078874
      }
    }
  },
  "confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Production confidence governor cap enforced.",
  "pre_simulation_target": {
    "away_runs": 3,
    "home_runs": 1,
    "predicted_score_text": "ATL 3 - 1 MIA",
    "confidence": 0.5838289999999999,
    "source": "enhanced_prediction_before_inning_simulation"
  },
  "score_source": "enhanced_prediction.pre_simulation_target",
  "final_prediction_synced": true,
  "final_prediction_source": "pre_simulation_target",
  "simulation_usage": "advisory_box_score_draw",
  "simulation_score_matches_prediction": false,
  "simulation_reconciliation": {
    "pre_simulation_score": {
      "away_runs": 3,
      "home_runs": 1,
      "score_text": "ATL 3 - 1 MIA",
      "winner": "ATL"
    },
    "final_simulation_score": {
      "away_runs": 3,
      "home_runs": 2,
      "score_text": "ATL 3 - 2 MIA",
      "winner": "ATL"
    },
    "winner_flipped_by_simulation": false,
    "away_run_delta": 0,
    "home_run_delta": 1,
    "total_run_delta": 1,
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_usage": "advisory_box_score_draw",
    "final_prediction_source": "pre_simulation_target"
  }
}

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.02771.0277190
Home MIATrue0.99580.9958190

Away Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
CFMichael Harris II-1.10931.4570positive_batter_regression0.39800.31200.585016.8057.1094.6010.9026.9019.904.201.2286
1BMatt Olson-1.11131.4838neutral0.39000.26400.572016.7051.4093.7017.5024.9023.8011.70-0.5143
RFRonald Acuña Jr.-1.07090.9448positive_batter_regression0.38300.26500.488012.9040.6089.2016.9027.4020.3013.901.2571
2BOzzie Albies-0.9658-0.4561negative_batter_regression0.29800.24400.37304.2026.5086.401722.7012.407.60-1.1714
3BAustin Riley-1.01900.2537neutral0.30900.22400.41609.9046.6090.9017.9032.20276.900.5429
DHDominic Smith-1.04260.5680neutral0.37800.31600.51608.604289.9016.5019.7015.703.900.2286
LFMike Yastrzemski-0.9680-0.4262neutral0.27300.22000.30704.3036.6089.9015.6024.3025.708.30-0.4286
SSHa-Seong Kim-0.9551-0.5991positive_batter_regression0.22500.17100.1910033.3085.7010.9014.6019.2011.502
CChadwick Tromp-1.00720.0966neutral0.31800.24500.39507.8040.7089.2013.8025.2021.808.900.1429

Home Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
DHLiam Hicks-1.02670.3556neutral0.34900.28700.43305.8038.1087.9014.5010.708.807.60-0.6571
SSOtto Lopez-1.02960.3953negative_batter_regression0.33600.28900.45308.8044.4090.406.402116.203.90-1.3714
2BXavier Edwards-1.03900.5202negative_batter_regression0.35600.28300.43806.9036.9088.601215.2011.1012-1.1714
LFKyle Stowers-1.01760.2342positive_batter_regression0.32700.25300.38205.8050.7089.8014.4032.902511.601.1143
CFJakob Marsee-0.9674-0.4346neutral0.29800.20800.3050438.4087.8021.2018.802413.50-0.3714
CJoe Mack-0.9502-0.6633negative_batter_regression0.20000.17700.23303.8038.50898.4030.4039.104.30-0.8857
1BChristopher Morel-0.9565-0.5797neutral0.20700.17300.23103.6046.4088.8023.6033.3036.704.100.5429
RFOwen Caissie-1.00860.1149neutral0.29300.21300.382011.9044.8091.4014.8034.9040.506.900.6857
3BJavier Sanoja-0.9662-0.4512negative_batter_regression0.26000.22400.29302.4034.5087.9011.4013.6011.507.70-1.2571
Raw Savant Batter Quality JSON
{
  "home": {
    "applied": true,
    "offense_factor": 0.9958,
    "raw_average_factor": 0.9958,
    "team_espn_average_rank": null,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "DH",
        "player_id": "689414",
        "player_name": "Liam Hicks",
        "offense_factor": 1.0267,
        "quality_score": 0.3556,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "689414",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 169.0,
          "k_percent": 8.8,
          "bb_percent": 7.6,
          "woba": 0.372,
          "xwoba": 0.349,
          "xba": 0.287,
          "xslg": 0.433,
          "sweet_spot_percent": 30.9,
          "barrel_batted_rate": 5.8,
          "hard_hit_percent": 38.1,
          "exit_velocity_avg": 87.9,
          "launch_angle_avg": 14.5,
          "whiff_percent": 10.7,
          "swing_percent": 44.6
        },
        "components": {
          "expected_quality": 0.6453,
          "regression_edge": -0.6571,
          "xwoba_edge": 1.1714,
          "xba_edge": 1.3429,
          "xslg_edge": 0.8143,
          "barrel_edge": -0.2444,
          "hard_hit_edge": -0.1929,
          "exit_velocity_edge": -0.44,
          "sweet_spot_edge": -0.4,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "SS",
        "player_id": "672640",
        "player_name": "Otto Lopez",
        "offense_factor": 1.0296,
        "quality_score": 0.3953,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "672640",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 203.0,
          "k_percent": 16.2,
          "bb_percent": 3.9,
          "woba": 0.384,
          "xwoba": 0.336,
          "xba": 0.289,
          "xslg": 0.453,
          "sweet_spot_percent": 30.0,
          "barrel_batted_rate": 8.8,
          "hard_hit_percent": 44.4,
          "exit_velocity_avg": 90.4,
          "launch_angle_avg": 6.4,
          "whiff_percent": 21.0,
          "swing_percent": 48.0
        },
        "components": {
          "expected_quality": 0.7214,
          "regression_edge": -1.3714,
          "xwoba_edge": 0.8,
          "xba_edge": 1.4,
          "xslg_edge": 1.1,
          "barrel_edge": 0.4222,
          "hard_hit_edge": 0.7071,
          "exit_velocity_edge": 0.56,
          "sweet_spot_edge": -0.55,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "2B",
        "player_id": "669364",
        "player_name": "Xavier Edwards",
        "offense_factor": 1.039,
        "quality_score": 0.5202,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "669364",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 207.0,
          "k_percent": 11.1,
          "bb_percent": 12.0,
          "woba": 0.397,
          "xwoba": 0.356,
          "xba": 0.283,
          "xslg": 0.438,
          "sweet_spot_percent": 38.8,
          "barrel_batted_rate": 6.9,
          "hard_hit_percent": 36.9,
          "exit_velocity_avg": 88.6,
          "launch_angle_avg": 12.0,
          "whiff_percent": 15.2,
          "swing_percent": 38.9
        },
        "components": {
          "expected_quality": 0.8336,
          "regression_edge": -1.1714,
          "xwoba_edge": 1.3714,
          "xba_edge": 1.2286,
          "xslg_edge": 0.8857,
          "barrel_edge": 0.0,
          "hard_hit_edge": -0.3643,
          "exit_velocity_edge": -0.16,
          "sweet_spot_edge": 0.9167,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "LF",
        "player_id": "669065",
        "player_name": "Kyle Stowers",
        "offense_factor": 1.0176,
        "quality_score": 0.2342,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "669065",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 107.0,
          "k_percent": 25.0,
          "bb_percent": 11.6,
          "woba": 0.288,
          "xwoba": 0.327,
          "xba": 0.253,
          "xslg": 0.382,
          "sweet_spot_percent": 33.3,
          "barrel_batted_rate": 5.8,
          "hard_hit_percent": 50.7,
          "exit_velocity_avg": 89.8,
          "launch_angle_avg": 14.4,
          "whiff_percent": 32.9,
          "swing_percent": 55.1
        },
        "components": {
          "expected_quality": 0.3785,
          "regression_edge": 1.1143,
          "xwoba_edge": 0.5429,
          "xba_edge": 0.3714,
          "xslg_edge": 0.0857,
          "barrel_edge": -0.2444,
          "hard_hit_edge": 1.6071,
          "exit_velocity_edge": 0.32,
          "sweet_spot_edge": 0.0,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "CF",
        "player_id": "805300",
        "player_name": "Jakob Marsee",
        "offense_factor": 0.9674,
        "quality_score": -0.4346,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "805300",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 205.0,
          "k_percent": 24.0,
          "bb_percent": 13.5,
          "woba": 0.311,
          "xwoba": 0.298,
          "xba": 0.208,
          "xslg": 0.305,
          "sweet_spot_percent": 29.6,
          "barrel_batted_rate": 4.0,
          "hard_hit_percent": 38.4,
          "exit_velocity_avg": 87.8,
          "launch_angle_avg": 21.2,
          "whiff_percent": 18.8,
          "swing_percent": 39.0
        },
        "components": {
          "expected_quality": -0.4818,
          "regression_edge": -0.3714,
          "xwoba_edge": -0.2857,
          "xba_edge": -0.9143,
          "xslg_edge": -1.0143,
          "barrel_edge": -0.6444,
          "hard_hit_edge": -0.15,
          "exit_velocity_edge": -0.48,
          "sweet_spot_edge": -0.6167,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "C",
        "player_id": "691788",
        "player_name": "Joe Mack",
        "offense_factor": 0.9502,
        "quality_score": -0.6633,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "691788",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 42.0,
          "k_percent": 39.1,
          "bb_percent": 4.3,
          "woba": 0.231,
          "xwoba": 0.2,
          "xba": 0.177,
          "xslg": 0.233,
          "sweet_spot_percent": 34.6,
          "barrel_batted_rate": 3.8,
          "hard_hit_percent": 38.5,
          "exit_velocity_avg": 89.0,
          "launch_angle_avg": 8.4,
          "whiff_percent": 30.4,
          "swing_percent": 46.9
        },
        "components": {
          "expected_quality": -1.5699,
          "regression_edge": -0.8857,
          "xwoba_edge": -2.5,
          "xba_edge": -1.8,
          "xslg_edge": -2.0429,
          "barrel_edge": -0.6889,
          "hard_hit_edge": -0.1357,
          "exit_velocity_edge": 0.0,
          "sweet_spot_edge": 0.2167,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "1B",
        "player_id": "666624",
        "player_name": "Christopher Morel",
        "offense_factor": 0.9565,
        "quality_score": -0.5797,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "666624",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 49.0,
          "k_percent": 36.7,
          "bb_percent": 4.1,
          "woba": 0.188,
          "xwoba": 0.207,
          "xba": 0.173,
          "xslg": 0.231,
          "sweet_spot_percent": 25.0,
          "barrel_batted_rate": 3.6,
          "hard_hit_percent": 46.4,
          "exit_velocity_avg": 88.8,
          "launch_angle_avg": 23.6,
          "whiff_percent": 33.3,
          "swing_percent": 52.7
        },
        "components": {
          "expected_quality": -1.5864,
          "regression_edge": 0.5429,
          "xwoba_edge": -2.5,
          "xba_edge": -1.9143,
          "xslg_edge": -2.0714,
          "barrel_edge": -0.7333,
          "hard_hit_edge": 0.9929,
          "exit_velocity_edge": -0.08,
          "sweet_spot_edge": -1.3833,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "RF",
        "player_id": "683357",
        "player_name": "Owen Caissie",
        "offense_factor": 1.0086,
        "quality_score": 0.1149,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "683357",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 130.0,
          "k_percent": 40.5,
          "bb_percent": 6.9,
          "woba": 0.269,
          "xwoba": 0.293,
          "xba": 0.213,
          "xslg": 0.382,
          "sweet_spot_percent": 50.7,
          "barrel_batted_rate": 11.9,
          "hard_hit_percent": 44.8,
          "exit_velocity_avg": 91.4,
          "launch_angle_avg": 14.8,
          "whiff_percent": 34.9,
          "swing_percent": 45.9
        },
        "components": {
          "expected_quality": 0.1144,
          "regression_edge": 0.6857,
          "xwoba_edge": -0.4286,
          "xba_edge": -0.7714,
          "xslg_edge": 0.0857,
          "barrel_edge": 1.1111,
          "hard_hit_edge": 0.7643,
          "exit_velocity_edge": 0.96,
          "sweet_spot_edge": 2.5,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "3B",
        "player_id": "691594",
        "player_name": "Javier Sanoja",
        "offense_factor": 0.9662,
        "quality_score": -0.4512,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "691594",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 102.0,
          "k_percent": 11.5,
          "bb_percent": 7.7,
          "woba": 0.304,
          "xwoba": 0.26,
          "xba": 0.224,
          "xslg": 0.293,
          "sweet_spot_percent": 28.6,
          "barrel_batted_rate": 2.4,
          "hard_hit_percent": 34.5,
          "exit_velocity_avg": 87.9,
          "launch_angle_avg": 11.4,
          "whiff_percent": 13.6,
          "swing_percent": 49.2
        },
        "components": {
          "expected_quality": -0.9269,
          "regression_edge": -1.2571,
          "xwoba_edge": -1.3714,
          "xba_edge": -0.4571,
          "xslg_edge": -1.1857,
          "barrel_edge": -1.0,
          "hard_hit_edge": -0.7071,
          "exit_velocity_edge": -0.44,
          "sweet_spot_edge": -0.7833,
          "launch_angle_hr_bonus": 0.0
        }
      }
    ],
    "source": "all_players_stats.csv embedded Savant batter features"
  },
  "away": {
    "applied": true,
    "offense_factor": 1.0277,
    "raw_average_factor": 1.0277,
    "team_espn_average_rank": null,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "CF",
        "player_id": "671739",
        "player_name": "Michael Harris II",
        "offense_factor": 1.1093,
        "quality_score": 1.457,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "671739",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 164.0,
          "k_percent": 19.9,
          "bb_percent": 4.2,
          "woba": 0.355,
          "xwoba": 0.398,
          "xba": 0.312,
          "xslg": 0.585,
          "sweet_spot_percent": 28.6,
          "barrel_batted_rate": 16.8,
          "hard_hit_percent": 57.1,
          "exit_velocity_avg": 94.6,
          "launch_angle_avg": 10.9,
          "whiff_percent": 26.9,
          "swing_percent": 56.2
        },
        "components": {
          "expected_quality": 2.0726,
          "regression_edge": 1.2286,
          "xwoba_edge": 2.5,
          "xba_edge": 2.0571,
          "xslg_edge": 2.5,
          "barrel_edge": 2.2,
          "hard_hit_edge": 2.5,
          "exit_velocity_edge": 2.24,
          "sweet_spot_edge": -0.7833,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "1B",
        "player_id": "621566",
        "player_name": "Matt Olson",
        "offense_factor": 1.1113,
        "quality_score": 1.4838,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "621566",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 212.0,
          "k_percent": 23.8,
          "bb_percent": 11.7,
          "woba": 0.408,
          "xwoba": 0.39,
          "xba": 0.264,
          "xslg": 0.572,
          "sweet_spot_percent": 34.1,
          "barrel_batted_rate": 16.7,
          "hard_hit_percent": 51.4,
          "exit_velocity_avg": 93.7,
          "launch_angle_avg": 17.5,
          "whiff_percent": 24.9,
          "swing_percent": 44.3
        },
        "components": {
          "expected_quality": 1.8742,
          "regression_edge": -0.5143,
          "xwoba_edge": 2.3429,
          "xba_edge": 0.6857,
          "xslg_edge": 2.5,
          "barrel_edge": 2.1778,
          "hard_hit_edge": 1.7071,
          "exit_velocity_edge": 1.88,
          "sweet_spot_edge": 0.1333,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "RF",
        "player_id": "660670",
        "player_name": "Ronald Acuña Jr.",
        "offense_factor": 1.0709,
        "quality_score": 0.9448,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "660670",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 157.0,
          "k_percent": 20.3,
          "bb_percent": 13.9,
          "woba": 0.339,
          "xwoba": 0.383,
          "xba": 0.265,
          "xslg": 0.488,
          "sweet_spot_percent": 33.7,
          "barrel_batted_rate": 12.9,
          "hard_hit_percent": 40.6,
          "exit_velocity_avg": 89.2,
          "launch_angle_avg": 16.9,
          "whiff_percent": 27.4,
          "swing_percent": 45.0
        },
        "components": {
          "expected_quality": 1.3348,
          "regression_edge": 1.2571,
          "xwoba_edge": 2.1429,
          "xba_edge": 0.7143,
          "xslg_edge": 1.6,
          "barrel_edge": 1.3333,
          "hard_hit_edge": 0.1643,
          "exit_velocity_edge": 0.08,
          "sweet_spot_edge": 0.0667,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "2B",
        "player_id": "645277",
        "player_name": "Ozzie Albies",
        "offense_factor": 0.9658,
        "quality_score": -0.4561,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "645277",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 210.0,
          "k_percent": 12.4,
          "bb_percent": 7.6,
          "woba": 0.339,
          "xwoba": 0.298,
          "xba": 0.244,
          "xslg": 0.373,
          "sweet_spot_percent": 31.9,
          "barrel_batted_rate": 4.2,
          "hard_hit_percent": 26.5,
          "exit_velocity_avg": 86.4,
          "launch_angle_avg": 17.0,
          "whiff_percent": 22.7,
          "swing_percent": 54.5
        },
        "components": {
          "expected_quality": -0.3649,
          "regression_edge": -1.1714,
          "xwoba_edge": -0.2857,
          "xba_edge": 0.1143,
          "xslg_edge": -0.0429,
          "barrel_edge": -0.6,
          "hard_hit_edge": -1.85,
          "exit_velocity_edge": -1.04,
          "sweet_spot_edge": -0.2333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "3B",
        "player_id": "663586",
        "player_name": "Austin Riley",
        "offense_factor": 1.019,
        "quality_score": 0.2537,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "663586",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 204.0,
          "k_percent": 27.0,
          "bb_percent": 6.9,
          "woba": 0.29,
          "xwoba": 0.309,
          "xba": 0.224,
          "xslg": 0.416,
          "sweet_spot_percent": 30.5,
          "barrel_batted_rate": 9.9,
          "hard_hit_percent": 46.6,
          "exit_velocity_avg": 90.9,
          "launch_angle_avg": 17.9,
          "whiff_percent": 32.2,
          "swing_percent": 48.6
        },
        "components": {
          "expected_quality": 0.2297,
          "regression_edge": 0.5429,
          "xwoba_edge": 0.0286,
          "xba_edge": -0.4571,
          "xslg_edge": 0.5714,
          "barrel_edge": 0.6667,
          "hard_hit_edge": 1.0214,
          "exit_velocity_edge": 0.76,
          "sweet_spot_edge": -0.4667,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "DH",
        "player_id": "642086",
        "player_name": "Dominic Smith",
        "offense_factor": 1.0426,
        "quality_score": 0.568,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "642086",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 99.0,
          "k_percent": 15.7,
          "bb_percent": 3.9,
          "woba": 0.37,
          "xwoba": 0.378,
          "xba": 0.316,
          "xslg": 0.516,
          "sweet_spot_percent": 40.7,
          "barrel_batted_rate": 8.6,
          "hard_hit_percent": 42.0,
          "exit_velocity_avg": 89.9,
          "launch_angle_avg": 16.5,
          "whiff_percent": 19.7,
          "swing_percent": 55.6
        },
        "components": {
          "expected_quality": 1.4305,
          "regression_edge": 0.2286,
          "xwoba_edge": 2.0,
          "xba_edge": 2.1714,
          "xslg_edge": 2.0,
          "barrel_edge": 0.3778,
          "hard_hit_edge": 0.3643,
          "exit_velocity_edge": 0.36,
          "sweet_spot_edge": 1.2333,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "LF",
        "player_id": "573262",
        "player_name": "Mike Yastrzemski",
        "offense_factor": 0.968,
        "quality_score": -0.4262,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "573262",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 143.0,
          "k_percent": 25.7,
          "bb_percent": 8.3,
          "woba": 0.288,
          "xwoba": 0.273,
          "xba": 0.22,
          "xslg": 0.307,
          "sweet_spot_percent": 28.0,
          "barrel_batted_rate": 4.3,
          "hard_hit_percent": 36.6,
          "exit_velocity_avg": 89.9,
          "launch_angle_avg": 15.6,
          "whiff_percent": 24.3,
          "swing_percent": 43.7
        },
        "components": {
          "expected_quality": -0.6927,
          "regression_edge": -0.4286,
          "xwoba_edge": -1.0,
          "xba_edge": -0.5714,
          "xslg_edge": -0.9857,
          "barrel_edge": -0.5778,
          "hard_hit_edge": -0.4071,
          "exit_velocity_edge": 0.36,
          "sweet_spot_edge": -0.8833,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "SS",
        "player_id": "673490",
        "player_name": "Ha-Seong Kim",
        "offense_factor": 0.9551,
        "quality_score": -0.5991,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "673490",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 21.0,
          "k_percent": 19.2,
          "bb_percent": 11.5,
          "woba": 0.151,
          "xwoba": 0.225,
          "xba": 0.171,
          "xslg": 0.191,
          "sweet_spot_percent": 5.6,
          "barrel_batted_rate": 0.0,
          "hard_hit_percent": 33.3,
          "exit_velocity_avg": 85.7,
          "launch_angle_avg": 10.9,
          "whiff_percent": 14.6,
          "swing_percent": 41.8
        },
        "components": {
          "expected_quality": -1.8735,
          "regression_edge": 2.0,
          "xwoba_edge": -2.3714,
          "xba_edge": -1.9714,
          "xslg_edge": -2.5,
          "barrel_edge": -1.5333,
          "hard_hit_edge": -0.8786,
          "exit_velocity_edge": -1.32,
          "sweet_spot_edge": -2.5,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "C",
        "player_id": "644433",
        "player_name": "Chadwick Tromp",
        "offense_factor": 1.0072,
        "quality_score": 0.0966,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "644433",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 0.0,
          "k_percent": 21.8,
          "bb_percent": 8.9,
          "woba": 0.313,
          "xwoba": 0.318,
          "xba": 0.245,
          "xslg": 0.395,
          "sweet_spot_percent": 33.3,
          "barrel_batted_rate": 7.8,
          "hard_hit_percent": 40.7,
          "exit_velocity_avg": 89.2,
          "launch_angle_avg": 13.8,
          "whiff_percent": 25.2,
          "swing_percent": 47.0
        },
        "components": {
          "expected_quality": 0.2264,
          "regression_edge": 0.1429,
          "xwoba_edge": 0.2857,
          "xba_edge": 0.1429,
          "xslg_edge": 0.2714,
          "barrel_edge": 0.2,
          "hard_hit_edge": 0.1786,
          "exit_velocity_edge": 0.08,
          "sweet_spot_edge": 0.0,
          "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 ATLTrue-0.30970.45000.97371.05321.07020.9667neutral0.27200.29203117.2038.106.7033.30
Home MIATrue-0.21000.96800.98210.95460.96320.9278neutral0.29000.298016.907.5023.30535.80

Pitch Movement And Arsenal

TeamPitcherMovement AvailablePrimary PitchPitchesVeloSpinAxisHBIVBDropRel XRel ZExtensionArm AngleMovement Score
Away ATLTrueNone8988.85237100000000-0.0467
Home MIATrueNone10092.032246000000000.1312
Run FactorValue
away_runs_vs_home_pitcher0.9827
home_runs_vs_away_pitcher0.9882
home_pitcher_quality_edge-0.0997
Raw Savant Pitcher Quality JSON
{
  "applied": true,
  "home_pitcher": {
    "available": true,
    "pitcher_id": "645261",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 242.0,
      "k_percent": 16.9,
      "bb_percent": 7.5,
      "woba": 0.298,
      "xwoba": 0.29,
      "sweet_spot_percent": 27.4,
      "barrel_batted_rate": 5.0,
      "hard_hit_percent": 35.8,
      "avg_best_speed": 77.5563,
      "avg_hyper_speed": 93.5836,
      "whiff_percent": 23.3,
      "swing_percent": 50.1
    },
    "league_medians": {
      "pa": 69.0,
      "k_percent": 22.7,
      "bb_percent": 9.4,
      "woba": 0.308,
      "xwoba": 0.312,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.2,
      "hard_hit_percent": 38.7,
      "avg_best_speed": 78.2751,
      "avg_hyper_speed": 94.07,
      "whiff_percent": 25.7,
      "swing_percent": 46.9
    },
    "components": {
      "contact_quality": 0.5126,
      "command_and_miss": -0.3979,
      "regression_edge": 0.2286,
      "xwoba_edge": 0.6286,
      "barrel_edge": 0.4889,
      "hard_hit_edge": 0.4143,
      "whiff_edge": -0.3429,
      "bb_edge": 0.475,
      "pitch_design_score": 0.1312
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "645261",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 100,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 100,
        "pitch_usage": 0.0,
        "release_speed": 92.02695864489056,
        "release_spin_rate": 2246.092278671786,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 100,
          "pitch_usage": 0.0,
          "release_speed": 92.02695864489056,
          "release_spin_rate": 2246.092278671786,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.027,
        "release_spin_rate": 2246.0923,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": 0.1312,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": 0.9374,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -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.21,
    "sample_weight": 0.968,
    "run_prevention_factor": 0.9821,
    "strikeout_factor": 0.9546,
    "walk_factor": 0.9632,
    "homer_factor": 0.9278,
    "woba_minus_xwoba": 0.008,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": false,
      "player_id": "645261",
      "reason": "player_not_in_espn_rankings"
    }
  },
  "away_pitcher": {
    "available": true,
    "pitcher_id": "675911",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 40.0,
      "k_percent": 31.0,
      "bb_percent": 17.2,
      "woba": 0.292,
      "xwoba": 0.272,
      "sweet_spot_percent": 26.7,
      "barrel_batted_rate": 6.7,
      "hard_hit_percent": 33.3,
      "avg_best_speed": 76.3444,
      "avg_hyper_speed": 92.5839,
      "whiff_percent": 38.1,
      "swing_percent": 45.0
    },
    "league_medians": {
      "pa": 69.0,
      "k_percent": 22.7,
      "bb_percent": 9.4,
      "woba": 0.308,
      "xwoba": 0.312,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.2,
      "hard_hit_percent": 38.7,
      "avg_best_speed": 78.2751,
      "avg_hyper_speed": 94.07,
      "whiff_percent": 25.7,
      "swing_percent": 46.9
    },
    "components": {
      "contact_quality": 0.7791,
      "command_and_miss": 0.7636,
      "regression_edge": 0.5714,
      "xwoba_edge": 1.1429,
      "barrel_edge": 0.1111,
      "hard_hit_edge": 0.7714,
      "whiff_edge": 1.7714,
      "bb_edge": -1.95,
      "pitch_design_score": -0.0467
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "675911",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 89,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 89,
        "pitch_usage": 0.0,
        "release_speed": 88.84926108374384,
        "release_spin_rate": 2371.368384489074,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 89,
          "pitch_usage": 0.0,
          "release_speed": 88.84926108374384,
          "release_spin_rate": 2371.368384489074,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.8493,
        "release_spin_rate": 2371.3684,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": -0.0467,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": -0.3337,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -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.3097,
    "sample_weight": 0.45,
    "run_prevention_factor": 0.9737,
    "strikeout_factor": 1.0532,
    "walk_factor": 1.0702,
    "homer_factor": 0.9667,
    "woba_minus_xwoba": 0.02,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": false,
      "player_id": "675911",
      "reason": "player_not_in_espn_rankings"
    }
  },
  "run_factors": {
    "away_runs_vs_home_pitcher": 0.9827,
    "home_runs_vs_away_pitcher": 0.9882,
    "home_pitcher_quality_edge": -0.0997
  },
  "score_before": {
    "away_runs": 2.0,
    "home_runs": 1.0
  },
  "score_after": {
    "away_runs": 1.9653,
    "home_runs": 0.9882,
    "home_win_probability": 0.4151
  },
  "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 ATL14-360.2801.302.80-76coldstrong
Home MIA17-320.3471.403.70-113coldaverage

Season Run Differential

TeamRecordWin %Run DiffRD/GameAvailable
Away ATL34-160.680981.960True
Home MIA22-280.440-13-0.260True
Signal---2.220-2.580applied=True

Recent Head-to-Head

DateMatchupScoreWinnerMarginType
------

Player/Game Reconciliation

LayerABHRHRRBIBBSO
Game target ATL--3----
Game target MIA--1----
Player finalized ATL641511112815
Player finalized MIA66169010616
Player model fractional ATL62.9215.5910.712.3610.097.4413.70
Player model fractional MIA66.3116.069.101.568.126.6416.59
Simulation box ATL36930358
Simulation box MIA34720238

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 ATLStarterSpencer Strider515423.571.28True
Away ATLMiddle RelieverDylan Lee101012.450.99True
Away ATLMiddle RelieverRaisel Iglesias101002.681.14True
Away ATLMiddle RelieverRobert Suarez110202.391.10True
Away ATLMiddle RelieverTyler Kinley101105.511.48True
Home MIAStarterSandy Alcantara5.2024634.111.39True
Home MIAMiddle RelieverAnthony Bender101003.160.93True
Home MIAMiddle RelieverCalvin Faucher102014.201.47True
Home MIAMiddle RelieverPete Fairbanks111315.691.41True
Home MIAMiddle RelieverTyler Phillips0.1000002.521.28True
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
awayATLbatterCChadwick Trompboosted85344predicted_H1.8400boostbetter
homeMIAbatterRFOwen Caissieworse113847predicted_2B1.8170boostbetter
awayATLbatter2BOzzie Albiesworse114756predicted_BB1.6540boostbetter
awayATLbatterSSHa-Seong Kimbetter94554predicted_BB1.5380boostbetter
homeMIAbatterCJoe Mackbetter115665predicted_H1.3500boostbetter
awayATLbatterLFMike Yastrzemskiworse113829predicted_H1.3200boostbetter
awayATLbatterCFMichael Harris IIbetter118374predicted_AB1.1680boostbetter
awayATLbatter3BAustin Rileyworse1111029predicted_AB1.1600boostbetter
homeMIAbatterCFJakob Marseeworse12111210predicted_SO-1.0710deboostbetter
awayATLbatterRFRonald Acuña Jr.worse94536predicted_SO1.0570boostworse
awayATLbatter1BMatt Olsonboosted106455predicted_SO0.9630boostworse
awayATLbatterDHDominic Smithworse92718predicted_BB0.8810boostbetter
homeMIAbatterLFKyle Stowersworse1129110predicted_H-0.8700deboostworse
homeMIAbatter2BXavier Edwardsbetter116574predicted_2B0.8180boostbetter
homeMIAbatter1BChristopher Morelworse1129110predicted_SO0.7600boostworse
homeMIAbatterDHLiam Hicksdeboosted104655predicted_RBI-0.7000deboostworse
homeMIAbatterSSOtto Lopezworse114738predicted_R-0.6500deboostworse
homeMIAbatter3BJavier Sanojaworse113829predicted_H-0.6100deboostworse
homeMIApitcherStarterSandy Alcantaraworse10101predicted_IP-0.4667deboostworse
awayATLpitcherStarterSpencer Striderworse10101predicted_IP-0.3333deboostworse
awayATLpitcherMiddle RelieverTyler Kinleybetter11010predicted_IP0.3333boostbetter
homeMIApitcherMiddle RelieverTyler 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
PitcherSpencer Strider
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.3097
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0467
Avg Velo88.8493
Avg Spin2371.3684
HB Inches0
IVB Inches0
Release Extension0
Pre IP5
Pre ER1
Pre H4
Pre BB2
Pre SO5
Season ERA2.4545
Season WHIP1.2273
Role Avg IP4.8890
Recent Avg IP4.8890
Last Start IP5.1000
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "ATL",
    "games": 56,
    "wins": 39,
    "losses": 17,
    "win_pct": 0.6964,
    "runs_scored": 295.0,
    "runs_allowed": 184.0,
    "run_differential": 111.0,
    "run_differential_per_game": 1.9821,
    "avg_runs_scored": 5.2679,
    "avg_runs_allowed": 3.2857,
    "offense_index": 1.1781,
    "defense_index": 1.3609,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 3.0,
      "run_differential": 16.0
    },
    "available": true,
    "quality_score": 0.4807
  },
  "opponent": {
    "team": "MIA",
    "games": 55,
    "wins": 25,
    "losses": 30,
    "win_pct": 0.4545,
    "runs_scored": 236.0,
    "runs_allowed": 247.0,
    "run_differential": -11.0,
    "run_differential_per_game": -0.2,
    "avg_runs_scored": 4.2909,
    "avg_runs_allowed": 4.4909,
    "offense_index": 0.9596,
    "defense_index": 0.9957,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.7,
      "avg_runs_allowed": 5.4,
      "run_differential": -7.0
    },
    "available": true,
    "quality_score": -0.0983
  },
  "edges": {
    "quality_edge": 0.579,
    "offense_edge": 0.1781,
    "opponent_offense_edge": -0.0404,
    "defense_strength": 0.3609,
    "opponent_defense_weakness": 0.0043,
    "recent_win_pct_edge": 0.3
  },
  "player_factors": {
    "ip": 1.0356,
    "run_prevention": 0.9285,
    "strikeout": 1.0206
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "675911",
    "profile": {
      "available": true,
      "pitcher_id": "675911",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 40.0,
        "k_percent": 31.0,
        "bb_percent": 17.2,
        "woba": 0.292,
        "xwoba": 0.272,
        "sweet_spot_percent": 26.7,
        "barrel_batted_rate": 6.7,
        "hard_hit_percent": 33.3,
        "avg_best_speed": 76.3444,
        "avg_hyper_speed": 92.5839,
        "whiff_percent": 38.1,
        "swing_percent": 45.0
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": 0.7791,
        "command_and_miss": 0.7636,
        "regression_edge": 0.5714,
        "xwoba_edge": 1.1429,
        "barrel_edge": 0.1111,
        "hard_hit_edge": 0.7714,
        "whiff_edge": 1.7714,
        "bb_edge": -1.95,
        "pitch_design_score": -0.0467
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "675911",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 89,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 89,
          "pitch_usage": 0.0,
          "release_speed": 88.84926108374384,
          "release_spin_rate": 2371.368384489074,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 89,
            "pitch_usage": 0.0,
            "release_speed": 88.84926108374384,
            "release_spin_rate": 2371.368384489074,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.8493,
          "release_spin_rate": 2371.3684,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.0467,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.3337,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.3097,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9737,
      "strikeout_factor": 1.0532,
      "walk_factor": 1.0702,
      "homer_factor": 0.9667,
      "woba_minus_xwoba": 0.02,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "675911",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 0.9882,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 3.0,
        "factor": 0.9882,
        "adjusted": 3
      },
      "predicted_BB": {
        "original": 3.0,
        "factor": 1.0316,
        "adjusted": 3
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.985,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 6.0,
        "factor": 1.0239,
        "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": "insufficient_data"
  },
  "pitching": {
    "IP": 14.2,
    "ER": 4,
    "H": 8,
    "BB": 10,
    "SO": 18,
    "HR": 1,
    "ERA": 2.4545454545454546,
    "WHIP": 1.2272727272727273,
    "K9": 11.045454545454547,
    "HR9": 0.6136363636363636,
    "games_pitched": 3,
    "quality_starts": 1,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 3,
    "error_prone": false
  },
  "games_count": 3,
  "latest_game_date": "2026-05-15T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "675911",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 89,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 89,
    "pitch_usage": 0.0,
    "release_speed": 88.84926108374384,
    "release_spin_rate": 2371.368384489074,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 89,
      "pitch_usage": 0.0,
      "release_speed": 88.84926108374384,
      "release_spin_rate": 2371.368384489074,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.8493,
    "release_spin_rate": 2371.3684,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0467,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.3337,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 1.0
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 3.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.375,
    "prior_weight": 0.625
  },
  "role": "pitcher",
  "player_id": "675911",
  "report_date": "20260521_A",
  "season_year": 2026,
  "rows_used": 3,
  "reference_playing_time": 5.333,
  "windows": {
    "last_5": {
      "games": 3,
      "totals": {
        "IP": 14.2,
        "ER": 4.0,
        "R": 4.0,
        "H": 8.0,
        "BB": 10.0,
        "SO": 18.0,
        "HR": 1.0,
        "BF": 58.0,
        "Pitches": 262.0
      },
      "per_game": {
        "IP": 5.0,
        "ER": 1.3333,
        "R": 1.3333,
        "H": 2.6667,
        "BB": 3.3333,
        "SO": 6.0,
        "HR": 0.3333,
        "BF": 19.3333,
        "Pitches": 87.3333
      },
      "rates": {
        "ERA": 2.4545,
        "WHIP": 1.2273,
        "ER_per_IP": 0.27273,
        "H_per_IP": 0.54545,
        "BB_per_IP": 0.68182,
        "SO_per_IP": 1.22727,
        "HR_per_IP": 0.06818
      }
    },
    "last_10": {
      "games": 3,
      "totals": {
        "IP": 14.2,
        "ER": 4.0,
        "R": 4.0,
        "H": 8.0,
        "BB": 10.0,
        "SO": 18.0,
        "HR": 1.0,
        "BF": 58.0,
        "Pitches": 262.0
      },
      "per_game": {
        "IP": 5.0,
        "ER": 1.3333,
        "R": 1.3333,
        "H": 2.6667,
        "BB": 3.3333,
        "SO": 6.0,
        "HR": 0.3333,
        "BF": 19.3333,
        "Pitches": 87.3333
      },
      "rates": {
        "ERA": 2.4545,
        "WHIP": 1.2273,
        "ER_per_IP": 0.27273,
        "H_per_IP": 0.54545,
        "BB_per_IP": 0.68182,
        "SO_per_IP": 1.22727,
        "HR_per_IP": 0.06818
      }
    },
    "season": {
      "games": 3,
      "totals": {
        "IP": 14.2,
        "ER": 4.0,
        "R": 4.0,
        "H": 8.0,
        "BB": 10.0,
        "SO": 18.0,
        "HR": 1.0,
        "BF": 58.0,
        "Pitches": 262.0
      },
      "per_game": {
        "IP": 5.0,
        "ER": 1.3333,
        "R": 1.3333,
        "H": 2.6667,
        "BB": 3.3333,
        "SO": 6.0,
        "HR": 0.3333,
        "BF": 19.3333,
        "Pitches": 87.3333
      },
      "rates": {
        "ERA": 2.4545,
        "WHIP": 1.2273,
        "ER_per_IP": 0.27273,
        "H_per_IP": 0.54545,
        "BB_per_IP": 0.68182,
        "SO_per_IP": 1.22727,
        "HR_per_IP": 0.06818
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 5.1,
    "predicted_ER": 2.066,
    "predicted_H": 4.129,
    "predicted_BB": 2.556,
    "predicted_SO": 5.494,
    "predicted_HR": 0.558,
    "predicted_ERA": 3.5697,
    "predicted_WHIP": 1.2836
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.6141,
  "form_weight": 0.3859,
  "form_reliability": 0.375,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 3.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.375,
    "prior_weight": 0.625
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 5.1,
      "form": 5.1,
      "final": 5.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 2.066,
      "final": 1.4114,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 4.0,
      "form": 4.129,
      "final": 4.0498,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 2.0,
      "form": 2.556,
      "final": 2.2146,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 5.0,
      "form": 5.494,
      "final": 5.1907,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.558,
      "final": 0.2154,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.5697,
      "final": 3.5697,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2836,
      "final": 1.2836,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherDylan Lee
RoleMiddle Reliever
Projection Source-
Savant Quality Score0.6089
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.1879
Avg Velo86.3273
Avg Spin2137.0134
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB1
Pre SO1
Season ERA0.7941
Season WHIP0.5294
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "ATL",
    "games": 56,
    "wins": 39,
    "losses": 17,
    "win_pct": 0.6964,
    "runs_scored": 295.0,
    "runs_allowed": 184.0,
    "run_differential": 111.0,
    "run_differential_per_game": 1.9821,
    "avg_runs_scored": 5.2679,
    "avg_runs_allowed": 3.2857,
    "offense_index": 1.1781,
    "defense_index": 1.3609,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 3.0,
      "run_differential": 16.0
    },
    "available": true,
    "quality_score": 0.4807
  },
  "opponent": {
    "team": "MIA",
    "games": 55,
    "wins": 25,
    "losses": 30,
    "win_pct": 0.4545,
    "runs_scored": 236.0,
    "runs_allowed": 247.0,
    "run_differential": -11.0,
    "run_differential_per_game": -0.2,
    "avg_runs_scored": 4.2909,
    "avg_runs_allowed": 4.4909,
    "offense_index": 0.9596,
    "defense_index": 0.9957,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.7,
      "avg_runs_allowed": 5.4,
      "run_differential": -7.0
    },
    "available": true,
    "quality_score": -0.0983
  },
  "edges": {
    "quality_edge": 0.579,
    "offense_edge": 0.1781,
    "opponent_offense_edge": -0.0404,
    "defense_strength": 0.3609,
    "opponent_defense_weakness": 0.0043,
    "recent_win_pct_edge": 0.3
  },
  "player_factors": {
    "ip": 1.0356,
    "run_prevention": 0.9285,
    "strikeout": 1.0206
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "669276",
    "profile": {
      "available": true,
      "pitcher_id": "669276",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 74.0,
        "k_percent": 35.0,
        "bb_percent": 2.5,
        "woba": 0.158,
        "xwoba": 0.194,
        "sweet_spot_percent": 28.0,
        "barrel_batted_rate": 4.0,
        "hard_hit_percent": 34.0,
        "avg_best_speed": 76.0699,
        "avg_hyper_speed": 93.0865,
        "whiff_percent": 40.0,
        "swing_percent": 55.4
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": 1.7676,
        "command_and_miss": 1.8507,
        "regression_edge": -1.0286,
        "xwoba_edge": 2.5,
        "barrel_edge": 0.7111,
        "hard_hit_edge": 0.6714,
        "whiff_edge": 2.0429,
        "bb_edge": 1.725,
        "pitch_design_score": -0.1879
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "669276",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 13,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 13,
          "pitch_usage": 0.0,
          "release_speed": 86.32729451735133,
          "release_spin_rate": 2137.0134059122697,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 13,
            "pitch_usage": 0.0,
            "release_speed": 86.32729451735133,
            "release_spin_rate": 2137.0134059122697,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 86.3273,
          "release_spin_rate": 2137.0134,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.1879,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -1.3425,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.6089,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9482,
      "strikeout_factor": 1.0684,
      "walk_factor": 0.9379,
      "homer_factor": 0.9286,
      "woba_minus_xwoba": -0.036,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "669276",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9767,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9767,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9721,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9679,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0308,
        "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": 5,
    "BB": 0,
    "SO": 17,
    "HR": 0,
    "ERA": 0.84375,
    "WHIP": 0.46875,
    "K9": 14.34375,
    "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-05-19T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "669276",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 13,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 13,
    "pitch_usage": 0.0,
    "release_speed": 86.32729451735133,
    "release_spin_rate": 2137.0134059122697,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 13,
      "pitch_usage": 0.0,
      "release_speed": 86.32729451735133,
      "release_spin_rate": 2137.0134059122697,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 86.3273,
    "release_spin_rate": 2137.0134,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.1879,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -1.3425,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.491,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4732,
    "prior_weight": 0.5268
  },
  "role": "pitcher",
  "player_id": "669276",
  "report_date": "20260521_A",
  "season_year": 2026,
  "rows_used": 23,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 4.0,
        "BB": 0.0,
        "SO": 5.0,
        "HR": 0.0,
        "BF": 19.0,
        "Pitches": 75.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.8,
        "BB": 0.0,
        "SO": 1.0,
        "HR": 0.0,
        "BF": 3.8,
        "Pitches": 15.0
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.8,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.8,
        "BB_per_IP": 0.0,
        "SO_per_IP": 1.0,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.2,
        "ER": 1.0,
        "R": 1.0,
        "H": 5.0,
        "BB": 0.0,
        "SO": 17.0,
        "HR": 0.0,
        "BF": 37.0,
        "Pitches": 158.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.1,
        "R": 0.1,
        "H": 0.5,
        "BB": 0.0,
        "SO": 1.7,
        "HR": 0.0,
        "BF": 3.7,
        "Pitches": 15.8
      },
      "rates": {
        "ERA": 0.8438,
        "WHIP": 0.4688,
        "ER_per_IP": 0.09375,
        "H_per_IP": 0.46875,
        "BB_per_IP": 0.0,
        "SO_per_IP": 1.59375,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 23,
      "totals": {
        "IP": 22.2,
        "ER": 2.0,
        "R": 2.0,
        "H": 10.0,
        "BB": 2.0,
        "SO": 28.0,
        "HR": 0.0,
        "BF": 80.0,
        "Pitches": 325.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.087,
        "R": 0.087,
        "H": 0.4348,
        "BB": 0.087,
        "SO": 1.2174,
        "HR": 0.0,
        "BF": 3.4783,
        "Pitches": 14.1304
      },
      "rates": {
        "ERA": 0.7941,
        "WHIP": 0.5294,
        "ER_per_IP": 0.08824,
        "H_per_IP": 0.44118,
        "BB_per_IP": 0.08824,
        "SO_per_IP": 1.23529,
        "HR_per_IP": 0.0
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.272,
    "predicted_H": 0.786,
    "predicted_BB": 0.206,
    "predicted_SO": 1.095,
    "predicted_HR": 0.069,
    "predicted_ERA": 2.4479,
    "predicted_WHIP": 0.9921
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5726,
  "form_weight": 0.4274,
  "form_reliability": 0.4732,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.491,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4732,
    "prior_weight": 0.5268
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.272,
      "final": 0.1163,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.786,
      "final": 0.336,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.206,
      "final": 0.6606,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.095,
      "final": 1.0406,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.069,
      "final": 0.0295,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.4479,
      "final": 2.4479,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.9921,
      "final": 0.9921,
      "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
RoleMiddle Reliever
Projection Source-
Savant Quality Score0.6163
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.1442
Avg Velo92.2585
Avg Spin2193.0806
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO1
Season ERA0
Season WHIP0.7500
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "ATL",
    "games": 56,
    "wins": 39,
    "losses": 17,
    "win_pct": 0.6964,
    "runs_scored": 295.0,
    "runs_allowed": 184.0,
    "run_differential": 111.0,
    "run_differential_per_game": 1.9821,
    "avg_runs_scored": 5.2679,
    "avg_runs_allowed": 3.2857,
    "offense_index": 1.1781,
    "defense_index": 1.3609,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 3.0,
      "run_differential": 16.0
    },
    "available": true,
    "quality_score": 0.4807
  },
  "opponent": {
    "team": "MIA",
    "games": 55,
    "wins": 25,
    "losses": 30,
    "win_pct": 0.4545,
    "runs_scored": 236.0,
    "runs_allowed": 247.0,
    "run_differential": -11.0,
    "run_differential_per_game": -0.2,
    "avg_runs_scored": 4.2909,
    "avg_runs_allowed": 4.4909,
    "offense_index": 0.9596,
    "defense_index": 0.9957,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.7,
      "avg_runs_allowed": 5.4,
      "run_differential": -7.0
    },
    "available": true,
    "quality_score": -0.0983
  },
  "edges": {
    "quality_edge": 0.579,
    "offense_edge": 0.1781,
    "opponent_offense_edge": -0.0404,
    "defense_strength": 0.3609,
    "opponent_defense_weakness": 0.0043,
    "recent_win_pct_edge": 0.3
  },
  "player_factors": {
    "ip": 1.0356,
    "run_prevention": 0.9285,
    "strikeout": 1.0206
  },
  "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": 49.0,
        "k_percent": 34.0,
        "bb_percent": 5.7,
        "woba": 0.19,
        "xwoba": 0.209,
        "sweet_spot_percent": 25.0,
        "barrel_batted_rate": 0.0,
        "hard_hit_percent": 37.5,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 93.0159,
        "whiff_percent": 36.8,
        "swing_percent": 57.3
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": 1.8411,
        "command_and_miss": 1.4664,
        "regression_edge": -0.5429,
        "xwoba_edge": 2.5,
        "barrel_edge": 1.6,
        "hard_hit_edge": 0.1714,
        "whiff_edge": 1.5857,
        "bb_edge": 0.925,
        "pitch_design_score": 0.1442
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "628452",
        "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": 92.25854712287793,
          "release_spin_rate": 2193.0806416969554,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 92.25854712287793,
            "release_spin_rate": 2193.0806416969554,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.2585,
          "release_spin_rate": 2193.0806,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.1442,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.03,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.6163,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9476,
      "strikeout_factor": 1.0576,
      "walk_factor": 0.9667,
      "homer_factor": 0.9056,
      "woba_minus_xwoba": -0.019,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "628452",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9764,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9764,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.985,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9575,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0259,
        "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": 0,
    "H": 7,
    "BB": 3,
    "SO": 16,
    "HR": 0,
    "ERA": 0.0,
    "WHIP": 0.9375,
    "K9": 13.5,
    "HR9": 0.0,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": true,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-05-19T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "628452",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 13,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 13,
    "pitch_usage": 0.0,
    "release_speed": 92.25854712287793,
    "release_spin_rate": 2193.0806416969554,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 92.25854712287793,
      "release_spin_rate": 2193.0806416969554,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.2585,
    "release_spin_rate": 2193.0806,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1442,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.03,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 2.906,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.3675,
    "prior_weight": 0.6325
  },
  "role": "pitcher",
  "player_id": "628452",
  "report_date": "20260521_A",
  "season_year": 2026,
  "rows_used": 14,
  "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": 5.0,
        "HR": 0.0,
        "BF": 18.0,
        "Pitches": 60.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.4,
        "BB": 0.4,
        "SO": 1.0,
        "HR": 0.0,
        "BF": 3.6,
        "Pitches": 12.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.0,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.2,
        "ER": 0.0,
        "R": 0.0,
        "H": 7.0,
        "BB": 3.0,
        "SO": 16.0,
        "HR": 0.0,
        "BF": 40.0,
        "Pitches": 144.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.7,
        "BB": 0.3,
        "SO": 1.6,
        "HR": 0.0,
        "BF": 4.0,
        "Pitches": 14.4
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.9375,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.65625,
        "BB_per_IP": 0.28125,
        "SO_per_IP": 1.5,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 14,
      "totals": {
        "IP": 14.2,
        "ER": 0.0,
        "R": 0.0,
        "H": 8.0,
        "BB": 3.0,
        "SO": 18.0,
        "HR": 0.0,
        "BF": 53.0,
        "Pitches": 199.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.5714,
        "BB": 0.2143,
        "SO": 1.2857,
        "HR": 0.0,
        "BF": 3.7857,
        "Pitches": 14.2143
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.75,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.54545,
        "BB_per_IP": 0.20455,
        "SO_per_IP": 1.22727,
        "HR_per_IP": 0.0
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.298,
    "predicted_H": 0.786,
    "predicted_BB": 0.355,
    "predicted_SO": 1.05,
    "predicted_HR": 0.082,
    "predicted_ERA": 2.681,
    "predicted_WHIP": 1.1413
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.6172,
  "form_weight": 0.3828,
  "form_reliability": 0.3675,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 2.906,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.3675,
    "prior_weight": 0.6325
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.298,
      "final": 0.1141,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.786,
      "final": 0.3009,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.355,
      "final": 0.1359,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.05,
      "final": 1.0191,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.082,
      "final": 0.0314,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.681,
      "final": 2.681,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1413,
      "final": 1.1413,
      "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
PitcherRobert Suarez
RoleMiddle Reliever
Projection Source-
Savant Quality Score0.3235
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.2800
Avg Velo95.7351
Avg Spin2228.2700
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER1
Pre H2
Pre BB0
Pre SO0
Season ERA0.4426
Season WHIP0.8852
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "ATL",
    "games": 56,
    "wins": 39,
    "losses": 17,
    "win_pct": 0.6964,
    "runs_scored": 295.0,
    "runs_allowed": 184.0,
    "run_differential": 111.0,
    "run_differential_per_game": 1.9821,
    "avg_runs_scored": 5.2679,
    "avg_runs_allowed": 3.2857,
    "offense_index": 1.1781,
    "defense_index": 1.3609,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 3.0,
      "run_differential": 16.0
    },
    "available": true,
    "quality_score": 0.4807
  },
  "opponent": {
    "team": "MIA",
    "games": 55,
    "wins": 25,
    "losses": 30,
    "win_pct": 0.4545,
    "runs_scored": 236.0,
    "runs_allowed": 247.0,
    "run_differential": -11.0,
    "run_differential_per_game": -0.2,
    "avg_runs_scored": 4.2909,
    "avg_runs_allowed": 4.4909,
    "offense_index": 0.9596,
    "defense_index": 0.9957,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.7,
      "avg_runs_allowed": 5.4,
      "run_differential": -7.0
    },
    "available": true,
    "quality_score": -0.0983
  },
  "edges": {
    "quality_edge": 0.579,
    "offense_edge": 0.1781,
    "opponent_offense_edge": -0.0404,
    "defense_strength": 0.3609,
    "opponent_defense_weakness": 0.0043,
    "recent_win_pct_edge": 0.3
  },
  "player_factors": {
    "ip": 1.0356,
    "run_prevention": 0.9285,
    "strikeout": 1.0206
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "663158",
    "profile": {
      "available": true,
      "pitcher_id": "663158",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 73.0,
        "k_percent": 24.4,
        "bb_percent": 6.4,
        "woba": 0.198,
        "xwoba": 0.267,
        "sweet_spot_percent": 37.7,
        "barrel_batted_rate": 1.9,
        "hard_hit_percent": 26.4,
        "avg_best_speed": 72.9571,
        "avg_hyper_speed": 92.2589,
        "whiff_percent": 27.3,
        "swing_percent": 52.4
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": 1.4383,
        "command_and_miss": 0.3393,
        "regression_edge": -1.9714,
        "xwoba_edge": 1.2857,
        "barrel_edge": 1.1778,
        "hard_hit_edge": 1.7571,
        "whiff_edge": 0.2286,
        "bb_edge": 0.75,
        "pitch_design_score": 0.28
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "663158",
        "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": 95.73508457229046,
          "release_spin_rate": 2228.270032830946,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 95.73508457229046,
            "release_spin_rate": 2228.270032830946,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 95.7351,
          "release_spin_rate": 2228.27,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "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.3235,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9725,
      "strikeout_factor": 1.0085,
      "walk_factor": 0.973,
      "homer_factor": 0.9086,
      "woba_minus_xwoba": -0.069,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "663158",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9876,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9876,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9879,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9589,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0038,
        "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": 0,
    "H": 6,
    "BB": 4,
    "SO": 8,
    "HR": 0,
    "ERA": 0.0,
    "WHIP": 0.9375,
    "K9": 6.75,
    "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-05-19T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "663158",
  "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": 95.73508457229046,
    "release_spin_rate": 2228.270032830946,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 95.73508457229046,
      "release_spin_rate": 2228.270032830946,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 95.7351,
    "release_spin_rate": 2228.27,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.028,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4462,
    "prior_weight": 0.5538
  },
  "role": "pitcher",
  "player_id": "663158",
  "report_date": "20260521_A",
  "season_year": 2026,
  "rows_used": 20,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.2,
        "ER": 0.0,
        "R": 0.0,
        "H": 1.0,
        "BB": 3.0,
        "SO": 5.0,
        "HR": 0.0,
        "BF": 22.0,
        "Pitches": 105.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.2,
        "BB": 0.6,
        "SO": 1.0,
        "HR": 0.0,
        "BF": 4.4,
        "Pitches": 21.0
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.7059,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.17647,
        "BB_per_IP": 0.52941,
        "SO_per_IP": 0.88235,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.2,
        "ER": 0.0,
        "R": 0.0,
        "H": 6.0,
        "BB": 4.0,
        "SO": 8.0,
        "HR": 0.0,
        "BF": 42.0,
        "Pitches": 173.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.6,
        "BB": 0.4,
        "SO": 0.8,
        "HR": 0.0,
        "BF": 4.2,
        "Pitches": 17.3
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.9375,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.5625,
        "BB_per_IP": 0.375,
        "SO_per_IP": 0.75,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 20,
      "totals": {
        "IP": 20.1,
        "ER": 1.0,
        "R": 1.0,
        "H": 13.0,
        "BB": 5.0,
        "SO": 19.0,
        "HR": 0.0,
        "BF": 78.0,
        "Pitches": 315.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.05,
        "R": 0.05,
        "H": 0.65,
        "BB": 0.25,
        "SO": 0.95,
        "HR": 0.0,
        "BF": 3.9,
        "Pitches": 15.75
      },
      "rates": {
        "ERA": 0.4426,
        "WHIP": 0.8852,
        "ER_per_IP": 0.04918,
        "H_per_IP": 0.63934,
        "BB_per_IP": 0.2459,
        "SO_per_IP": 0.93443,
        "HR_per_IP": 0.0
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.265,
    "predicted_H": 0.702,
    "predicted_BB": 0.395,
    "predicted_SO": 0.905,
    "predicted_HR": 0.072,
    "predicted_ERA": 2.3869,
    "predicted_WHIP": 1.0967
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.584,
  "form_weight": 0.416,
  "form_reliability": 0.4462,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.028,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4462,
    "prior_weight": 0.5538
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 0.265,
      "final": 0.6942,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 0.702,
      "final": 1.46,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.395,
      "final": 0.1643,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 0.905,
      "final": 0.3765,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.072,
      "final": 0.03,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.3869,
      "final": 2.3869,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.0967,
      "final": 1.0967,
      "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
PitcherTyler Kinley
RoleMiddle Reliever
Projection Source-
Savant Quality Score0.1585
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.1280
Avg Velo87.3980
Avg Spin2577.5019
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H1
Pre BB0
Pre SO1
Season ERA3.9194
Season WHIP1.3548
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "ATL",
    "games": 56,
    "wins": 39,
    "losses": 17,
    "win_pct": 0.6964,
    "runs_scored": 295.0,
    "runs_allowed": 184.0,
    "run_differential": 111.0,
    "run_differential_per_game": 1.9821,
    "avg_runs_scored": 5.2679,
    "avg_runs_allowed": 3.2857,
    "offense_index": 1.1781,
    "defense_index": 1.3609,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 3.0,
      "run_differential": 16.0
    },
    "available": true,
    "quality_score": 0.4807
  },
  "opponent": {
    "team": "MIA",
    "games": 55,
    "wins": 25,
    "losses": 30,
    "win_pct": 0.4545,
    "runs_scored": 236.0,
    "runs_allowed": 247.0,
    "run_differential": -11.0,
    "run_differential_per_game": -0.2,
    "avg_runs_scored": 4.2909,
    "avg_runs_allowed": 4.4909,
    "offense_index": 0.9596,
    "defense_index": 0.9957,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.7,
      "avg_runs_allowed": 5.4,
      "run_differential": -7.0
    },
    "available": true,
    "quality_score": -0.0983
  },
  "edges": {
    "quality_edge": 0.579,
    "offense_edge": 0.1781,
    "opponent_offense_edge": -0.0404,
    "defense_strength": 0.3609,
    "opponent_defense_weakness": 0.0043,
    "recent_win_pct_edge": 0.3
  },
  "player_factors": {
    "ip": 1.0356,
    "run_prevention": 0.9285,
    "strikeout": 1.0206
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "641755",
    "profile": {
      "available": true,
      "pitcher_id": "641755",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 85.0,
        "k_percent": 23.3,
        "bb_percent": 10.0,
        "woba": 0.334,
        "xwoba": 0.292,
        "sweet_spot_percent": 33.9,
        "barrel_batted_rate": 6.9,
        "hard_hit_percent": 25.4,
        "avg_best_speed": 70.888,
        "avg_hyper_speed": 92.6282,
        "whiff_percent": 24.4,
        "swing_percent": 44.2
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": 0.4591,
        "command_and_miss": -0.0564,
        "regression_edge": 1.2,
        "xwoba_edge": 0.5714,
        "barrel_edge": 0.0667,
        "hard_hit_edge": 1.9,
        "whiff_edge": -0.1857,
        "bb_edge": -0.15,
        "pitch_design_score": -0.128
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "641755",
        "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": 87.39804480090443,
          "release_spin_rate": 2577.501930053397,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 87.39804480090443,
            "release_spin_rate": 2577.501930053397,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 87.398,
          "release_spin_rate": 2577.5019,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.128,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.9142,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.1585,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9865,
      "strikeout_factor": 0.9982,
      "walk_factor": 1.0054,
      "homer_factor": 0.9557,
      "woba_minus_xwoba": 0.042,
      "regression_flag": "positive_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "641755",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 0.9939,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9939,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0024,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9801,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 0.9992,
        "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": 7,
    "H": 14,
    "BB": 3,
    "SO": 10,
    "HR": 4,
    "ERA": 7.26923076923077,
    "WHIP": 1.9615384615384617,
    "K9": 10.384615384615385,
    "HR9": 4.153846153846154,
    "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-05-18T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "641755",
  "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": 87.39804480090443,
    "release_spin_rate": 2577.501930053397,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 87.39804480090443,
      "release_spin_rate": 2577.501930053397,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 87.398,
    "release_spin_rate": 2577.5019,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.128,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.9142,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.094,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4502,
    "prior_weight": 0.5498
  },
  "role": "pitcher",
  "player_id": "641755",
  "report_date": "20260521_A",
  "season_year": 2026,
  "rows_used": 23,
  "reference_playing_time": 0.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.1,
        "ER": 4.0,
        "R": 4.0,
        "H": 6.0,
        "BB": 1.0,
        "SO": 3.0,
        "HR": 2.0,
        "BF": 20.0,
        "Pitches": 70.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.8,
        "R": 0.8,
        "H": 1.2,
        "BB": 0.2,
        "SO": 0.6,
        "HR": 0.4,
        "BF": 4.0,
        "Pitches": 14.0
      },
      "rates": {
        "ERA": 8.3077,
        "WHIP": 1.6154,
        "ER_per_IP": 0.92308,
        "H_per_IP": 1.38462,
        "BB_per_IP": 0.23077,
        "SO_per_IP": 0.69231,
        "HR_per_IP": 0.46154
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 8.2,
        "ER": 7.0,
        "R": 7.0,
        "H": 14.0,
        "BB": 3.0,
        "SO": 10.0,
        "HR": 4.0,
        "BF": 43.0,
        "Pitches": 163.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.7,
        "R": 0.7,
        "H": 1.4,
        "BB": 0.3,
        "SO": 1.0,
        "HR": 0.4,
        "BF": 4.3,
        "Pitches": 16.3
      },
      "rates": {
        "ERA": 7.2692,
        "WHIP": 1.9615,
        "ER_per_IP": 0.80769,
        "H_per_IP": 1.61538,
        "BB_per_IP": 0.34615,
        "SO_per_IP": 1.15385,
        "HR_per_IP": 0.46154
      }
    },
    "season": {
      "games": 23,
      "totals": {
        "IP": 20.2,
        "ER": 9.0,
        "R": 10.0,
        "H": 19.0,
        "BB": 9.0,
        "SO": 21.0,
        "HR": 4.0,
        "BF": 90.0,
        "Pitches": 353.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3913,
        "R": 0.4348,
        "H": 0.8261,
        "BB": 0.3913,
        "SO": 0.913,
        "HR": 0.1739,
        "BF": 3.913,
        "Pitches": 15.3478
      },
      "rates": {
        "ERA": 3.9194,
        "WHIP": 1.3548,
        "ER_per_IP": 0.43548,
        "H_per_IP": 0.91935,
        "BB_per_IP": 0.43548,
        "SO_per_IP": 1.01613,
        "HR_per_IP": 0.19355
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 0.2,
    "predicted_ER": 0.5,
    "predicted_H": 0.927,
    "predicted_BB": 0.284,
    "predicted_SO": 0.765,
    "predicted_HR": 0.209,
    "predicted_ERA": 5.5119,
    "predicted_WHIP": 1.4826
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5823,
  "form_weight": 0.4177,
  "form_reliability": 0.4502,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.094,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4502,
    "prior_weight": 0.5498
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.2,
      "form": 0.2,
      "final": 0.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.5,
      "final": 0.2089,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.927,
      "final": 0.9695,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.284,
      "final": 0.1186,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.765,
      "final": 0.9018,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.209,
      "final": 0.0873,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 5.5119,
      "final": 5.5119,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.4826,
      "final": 1.4826,
      "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."
}
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 20260521: 168
All-history rows before 20260521: 168
System season_avg: 0.2910
Data season_avg (2026 season-to-date): 0.2906
Diff (system - data): 0.0004
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.1200.0000.000Hitting_2B0.1190.000-0.1190.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.8325.0008.000Hitting_AB3.8105.0001.1900.000
predicted_AVG0.2460.4000.250Hitting_AVG0.2910.4000.1090.000
predicted_BB0.1380.0000.000Hitting_BB0.1430.000-0.1430.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.9402.0002.000Hitting_H1.1072.0000.8930.000
predicted_HR0.1800.0001.000Hitting_HR0.2020.000-0.2020.000
predicted_OBP0.2950.4000.250Hitting_OBP0.3140.4000.0860.000
predicted_R0.4611.0001.000Hitting_R0.4581.0000.5420.000
predicted_RBI0.4801.0001.000Hitting_RBI0.6010.0000.3991.000
predicted_SLG0.4360.4000.625Hitting_SLG0.4810.400-0.0810.000
predicted_SO0.7721.0002.000Hitting_SO0.7681.0000.2320.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics11
Boosted Metrics8
Deboosted Metrics3
Better Metrics7
Worse Metrics4
Biggest Boostpredicted_AB: 3.8320 -> 5.0000 (boost 1.1680, better)
Biggest Deboostpredicted_HR: 0.1800 -> 0.0000 (deboost -0.1800, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend11110101predicted_AB: 3.8320 -> 7.8510 (boost 4.0190, 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_snapshot66060predicted_RBI: 1.2984 -> 1.4156 (boost 0.1172, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling73425predicted_HR: 0.5219 -> 1.0000 (boost 0.4781, better)predicted_RBI: 1.4156 -> 1.0000 (deboost -0.4156, worse)AB rounded to 8 (raw=7.85), rates preserved: AVG=0.298 HR/AB=0.066
5bvp_blend00000--Sample-size BvP blend (BvP AB=18.0, weight=0.150, BvP AVG=0.333)
6consistency_constraints10101-predicted_R: 1.1083 -> 1.0000 (deboost -0.1083, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context31212predicted_SLG: 0.5253 -> 0.6250 (boost 0.0997, better)predicted_OBP: 0.3207 -> 0.2500 (deboost -0.0707, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference30312-predicted_AB: 8.0000 -> 5.0000 (deboost -3.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final32121predicted_OBP: 0.2500 -> 0.3207 (boost 0.0707, better)predicted_SLG: 0.6250 -> 0.5253 (deboost -0.0997, worse)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.12,
        "predicted_3B": 0.0,
        "predicted_AB": 3.832,
        "predicted_AVG": 0.246,
        "predicted_BB": 0.138,
        "predicted_H": 0.94,
        "predicted_HR": 0.18,
        "predicted_OBP": 0.295,
        "predicted_R": 0.461,
        "predicted_RBI": 0.48,
        "predicted_SLG": 0.436,
        "predicted_SO": 0.772
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.214,
        "predicted_3B": 0.0009,
        "predicted_AB": 7.851,
        "predicted_AVG": 0.2691,
        "predicted_BB": 0.2517,
        "predicted_H": 2.2304,
        "predicted_HBP": 0.005,
        "predicted_HR": 0.4967,
        "predicted_OBP": 0.3052,
        "predicted_R": 1.0165,
        "predicted_RBI": 1.2984,
        "predicted_SLG": 0.4785,
        "predicted_SO": 1.6307
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.12,
          "after": 0.214,
          "delta": 0.094,
          "percent_delta": 0.7833,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.832,
          "after": 7.851,
          "delta": 4.019,
          "percent_delta": 1.0488,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.246,
          "after": 0.2691,
          "delta": 0.0231,
          "percent_delta": 0.0939,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.138,
          "after": 0.2517,
          "delta": 0.1137,
          "percent_delta": 0.8239,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.94,
          "after": 2.2304,
          "delta": 1.2904,
          "percent_delta": 1.3728,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.18,
          "after": 0.4967,
          "delta": 0.3167,
          "percent_delta": 1.7594,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.295,
          "after": 0.3052,
          "delta": 0.0102,
          "percent_delta": 0.0346,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.461,
          "after": 1.0165,
          "delta": 0.5555,
          "percent_delta": 1.205,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.48,
          "after": 1.2984,
          "delta": 0.8184,
          "percent_delta": 1.705,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.436,
          "after": 0.4785,
          "delta": 0.0425,
          "percent_delta": 0.0975,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.772,
          "after": 1.6307,
          "delta": 0.8587,
          "percent_delta": 1.1123,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 11,
        "boosted_metrics": 11,
        "deboosted_metrics": 0,
        "better_metrics": 10,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.832,
          "after": 7.851,
          "delta": 4.019,
          "percent_delta": 1.0488,
          "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": 2,
        "last_10": 4,
        "season": 46
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.214,
        "predicted_3B": 0.0009,
        "predicted_AB": 7.851,
        "predicted_AVG": 0.2984,
        "predicted_BB": 0.2579,
        "predicted_H": 2.3426,
        "predicted_HBP": 0.005,
        "predicted_HR": 0.5219,
        "predicted_OBP": 0.3207,
        "predicted_R": 1.1083,
        "predicted_RBI": 1.4156,
        "predicted_SLG": 0.5253,
        "predicted_SO": 1.5907
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.214,
          "after": 0.214,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.851,
          "after": 7.851,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2691,
          "after": 0.2984,
          "delta": 0.0293,
          "percent_delta": 0.1089,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2517,
          "after": 0.2579,
          "delta": 0.0062,
          "percent_delta": 0.0246,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.2304,
          "after": 2.3426,
          "delta": 0.1122,
          "percent_delta": 0.0503,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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.4967,
          "after": 0.5219,
          "delta": 0.0252,
          "percent_delta": 0.0507,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3052,
          "after": 0.3207,
          "delta": 0.0155,
          "percent_delta": 0.0508,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0165,
          "after": 1.1083,
          "delta": 0.0918,
          "percent_delta": 0.0903,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.2984,
          "after": 1.4156,
          "delta": 0.1172,
          "percent_delta": 0.0903,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4785,
          "after": 0.5253,
          "delta": 0.0468,
          "percent_delta": 0.0978,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.6307,
          "after": 1.5907,
          "delta": -0.04,
          "percent_delta": -0.0245,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 6,
        "deboosted_metrics": 0,
        "better_metrics": 6,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 1.2984,
          "after": 1.4156,
          "delta": 0.1172,
          "percent_delta": 0.0903,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 8 (raw=7.85), rates preserved: AVG=0.298 HR/AB=0.066",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.214,
          "after": 0.0,
          "delta": -0.214,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.851,
          "after": 8.0,
          "delta": 0.149,
          "percent_delta": 0.019,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2579,
          "after": 0.0,
          "delta": -0.2579,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.3426,
          "after": 2.0,
          "delta": -0.3426,
          "percent_delta": -0.1462,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.005,
          "after": 0.0,
          "delta": -0.005,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.5219,
          "after": 1.0,
          "delta": 0.4781,
          "percent_delta": 0.9161,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.4156,
          "after": 1.0,
          "delta": -0.4156,
          "percent_delta": -0.2936,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.5907,
          "after": 2.0,
          "delta": 0.4093,
          "percent_delta": 0.2573,
          "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_HR",
          "before": 0.5219,
          "after": 1.0,
          "delta": 0.4781,
          "percent_delta": 0.9161,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.4156,
          "after": 1.0,
          "delta": -0.4156,
          "percent_delta": -0.2936,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=18.0, weight=0.150, BvP AVG=0.333)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 0.0,
        "predicted_H": 2.0,
        "predicted_HR": 1.0,
        "predicted_RBI": 1.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": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "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": 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_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.85,
        "bvp": 0.15
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.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": 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": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "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_R",
          "before": 1.1083,
          "after": 1.0,
          "delta": -0.1083,
          "percent_delta": -0.0977,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.1083,
          "after": 1.0,
          "delta": -0.1083,
          "percent_delta": -0.0977,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 0.0,
        "predicted_H": 2.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.25,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.625,
        "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": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2984,
          "after": 0.25,
          "delta": -0.0484,
          "percent_delta": -0.1622,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "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": 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.3207,
          "after": 0.25,
          "delta": -0.0707,
          "percent_delta": -0.2205,
          "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.5253,
          "after": 0.625,
          "delta": 0.0997,
          "percent_delta": 0.1898,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.5253,
          "after": 0.625,
          "delta": 0.0997,
          "percent_delta": 0.1898,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3207,
          "after": 0.25,
          "delta": -0.0707,
          "percent_delta": -0.2205,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 5.0,
          "delta": -3.0,
          "percent_delta": -0.375,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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": 0.0,
          "delta": -1.0,
          "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": 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": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 5.0,
          "delta": -3.0,
          "percent_delta": -0.375,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.2984,
        "predicted_BB": 0.0,
        "predicted_CF": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3207,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.5253,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2984,
          "delta": 0.0484,
          "percent_delta": 0.1935,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.25,
          "after": 0.3207,
          "delta": 0.0707,
          "percent_delta": 0.2828,
          "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.625,
          "after": 0.5253,
          "delta": -0.0997,
          "percent_delta": -0.1595,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.25,
          "after": 0.3207,
          "delta": 0.0707,
          "percent_delta": 0.2828,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.625,
          "after": 0.5253,
          "delta": -0.0997,
          "percent_delta": -0.1595,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.12,
        "after": 0.0,
        "delta": -0.12,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.832,
        "after": 5.0,
        "delta": 1.168,
        "percent_delta": 0.3048,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.246,
        "after": 0.2984,
        "delta": 0.0524,
        "percent_delta": 0.213,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "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": 0.94,
        "after": 2.0,
        "delta": 1.06,
        "percent_delta": 1.1277,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.18,
        "after": 0.0,
        "delta": -0.18,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.295,
        "after": 0.3207,
        "delta": 0.0257,
        "percent_delta": 0.0871,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.461,
        "after": 1.0,
        "delta": 0.539,
        "percent_delta": 1.1692,
        "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.436,
        "after": 0.5253,
        "delta": 0.0893,
        "percent_delta": 0.2048,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.772,
        "after": 1.0,
        "delta": 0.228,
        "percent_delta": 0.2953,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 8,
      "deboosted_metrics": 3,
      "better_metrics": 7,
      "worse_metrics": 4,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.832,
        "after": 5.0,
        "delta": 1.168,
        "percent_delta": 0.3048,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_HR",
        "before": 0.18,
        "after": 0.0,
        "delta": -0.18,
        "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.120-
predicted_3B0.000-
predicted_AB3.832-
predicted_AVG0.246-
predicted_BB0.138-
predicted_H0.940-
predicted_HR0.180-
predicted_OBP0.295-
predicted_R0.461-
predicted_RBI0.480-
predicted_SLG0.436-
predicted_SO0.772-
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.2140.094
predicted_3B0.0010.001
predicted_AB7.8514.019
predicted_AVG0.2690.023
predicted_BB0.2520.114
predicted_H2.2301.290
predicted_HBP0.005-
predicted_HR0.4970.317
predicted_OBP0.3050.010
predicted_R1.0160.555
predicted_RBI1.2980.818
predicted_SLG0.4780.042
predicted_SO1.6310.859
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.2140.000
predicted_3B0.0010.000
predicted_AB7.8510.000
predicted_AVG0.2980.029
predicted_BB0.2580.006
predicted_H2.3430.112
predicted_HBP0.0050.000
predicted_HR0.5220.025
predicted_OBP0.3210.015
predicted_R1.1080.092
predicted_RBI1.4160.117
predicted_SLG0.5250.047
predicted_SO1.591-0.040
4. ab_floor_and_scaling

AB rounded to 8 (raw=7.85), rates preserved: AVG=0.298 HR/AB=0.066

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB8.000-
BB0.000-
H2.000-
HBP0.000-
HR1.000-
RBI1.000-
SB0.000-
SO2.000-
5. bvp_blend

Sample-size BvP blend (BvP AB=18.0, weight=0.150, BvP AVG=0.333)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB8.0000.000
BB0.0000.000
H2.0000.000
HR1.0000.000
RBI1.0000.000
SO2.0000.000
6. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB8.0000.000
BB0.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR1.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
7. 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.214
predicted_3B0.000-0.001
predicted_AB8.0000.149
predicted_AVG0.250-0.048
predicted_BB0.000-0.258
predicted_H2.000-0.343
predicted_HR1.0000.478
predicted_OBP0.250-0.071
predicted_R1.000-0.108
predicted_RBI1.000-0.416
predicted_SLG0.6250.100
predicted_SO2.0000.409
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.000-3.000
BB0.0000.000
CS0.0000.000
H2.0000.000
HBP0.0000.000
HR0.000-1.000
PA5.000-
R1.0000.000
RBI1.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: 167
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-25.00010.0000.0000.0004.0008.0005.0000.0005.0000.40000.40000.88000.40000.16000.32000.00000.2000
last_100.204-43.00012.0000.0000.0005.00010.0007.0000.00012.0000.27910.27910.62790.27910.11630.23260.00000.2791
season0.6046-640.000186.00020.0000.00034.000101.00077.00023.000129.0000.29060.31290.48130.29060.05310.15780.03590.2016
Weighted Prediction From Real Data
MetricValue
predicted_2B0.3350
predicted_3B0.0020
predicted_AB13.0200
predicted_AVG0.2987
predicted_BB0.3980
predicted_H3.8900
predicted_HBP0.0050
predicted_HR0.9040
predicted_OBP0.3183
predicted_R1.7310
predicted_RBI2.3510
predicted_SLG0.5331
predicted_SO2.7350
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.12000.33500.2140model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB3.832013.02007.8510model_form_blend
predicted_AVG0.24600.29870.2691model_form_blend
predicted_BB0.13800.39800.2517model_form_blend
predicted_H0.94003.89002.2304model_form_blend
predicted_HBP-0.00500.0050form_only
predicted_HR0.18000.90400.4967model_form_blend
predicted_OBP0.29500.31830.3052model_form_blend
predicted_R0.46101.73101.0165model_form_blend
predicted_RBI0.48002.35101.2984model_form_blend
predicted_SLG0.43600.53310.4785model_form_blend
predicted_SO0.77202.73501.6307model_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 date168
Season rows before report date168
Report year2026
Profile rows used167
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA5
AB5
H2
2B0
3B0
HR0
R1
RBI1
BB0
SO1
SF0
HBP0
season_avg0.291

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB5
Hitting_AVG0.4
Hitting_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB2
Hitting_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
allPositionsPlayedCF
gameID20260520_ATL@MIA
game_typefull
mlbID671739
playerID671739
playerNameMichael Harris II
posCF
startedTrue
startingPositionCF
teamATL
teamID2
game_date2026-05-20
sl_k_percent19.9
sl_bb_percent4.2
sl_woba0.355
sl_xwoba0.398
sl_xba0.312
sl_xslg0.585
sl_sweet_spot_percent28.6
sl_barrel_batted_rate16.8
sl_hard_hit_percent57.1
sl_exit_velocity_avg94.6
sl_launch_angle_avg10.9
sl_whiff_percent26.9
sl_swing_percent56.2
Matt Olson (621566) · BATTER · 1B · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 215
All-history rows before 20260521: 215
System season_avg: 0.2920
Data season_avg (2026 season-to-date): 0.2916
Diff (system - data): 0.0004
System opponent_avg: 0.0800

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.3531.0001.000Hitting_2B0.3530.0000.6471.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.1405.0009.000Hitting_AB3.8605.0001.1400.000
predicted_AVG0.2370.2000.222Hitting_AVG0.2920.200-0.0920.000
predicted_BB0.5490.0002.000Hitting_BB0.5490.000-0.5490.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.9801.0002.000Hitting_H1.1261.000-0.1260.000
predicted_HR0.1900.0000.000Hitting_HR0.2930.000-0.2930.000
predicted_OBP0.3270.2000.364Hitting_OBP0.3760.200-0.1760.000
predicted_R0.8000.0002.000Hitting_R0.8001.000-0.800-1.000
predicted_RBI0.7500.0003.000Hitting_RBI0.8791.000-0.879-1.000
predicted_SLG0.4540.4000.333Hitting_SLG0.6110.200-0.2110.200
predicted_SO1.0372.0002.000Hitting_SO1.0372.0000.9630.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_SO: 1.0370 -> 2.0000 (boost 0.9630, worse)
Biggest Deboostpredicted_R: 0.8000 -> 0.0000 (deboost -0.8000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend11110101predicted_AB: 4.1400 -> 8.7138 (boost 4.5738, 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_snapshot76170predicted_RBI: 2.4068 -> 2.6241 (boost 0.2173, better)predicted_SO: 2.0767 -> 2.0258 (deboost -0.0509, better)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling66060predicted_HR: 0.5093 -> 1.0000 (boost 0.4907, better)-AB rounded to 9 (raw=8.71), rates preserved: AVG=0.320 HR/AB=0.058
5bvp_blend20202-predicted_H: 3.0000 -> 2.0000 (deboost -1.0000, worse)Sample-size BvP blend (BvP AB=25.0, weight=0.182, BvP AVG=0.080)
6consistency_constraints11010predicted_R: 1.6855 -> 2.0000 (boost 0.3145, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context30303-predicted_SLG: 0.6003 -> 0.3330 (deboost -0.2673, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference50505-predicted_AB: 9.0000 -> 5.0000 (deboost -4.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final33030predicted_SLG: 0.3330 -> 0.6003 (boost 0.2673, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "621566",
  "player_name": "Matt Olson",
  "position": "1B",
  "team": "ATL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.353,
        "predicted_3B": 0.0,
        "predicted_AB": 4.14,
        "predicted_AVG": 0.237,
        "predicted_BB": 0.549,
        "predicted_H": 0.98,
        "predicted_HR": 0.19,
        "predicted_OBP": 0.327,
        "predicted_R": 0.8,
        "predicted_RBI": 0.75,
        "predicted_SLG": 0.454,
        "predicted_SO": 1.037
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.911,
        "predicted_3B": 0.0009,
        "predicted_AB": 8.7138,
        "predicted_AVG": 0.2778,
        "predicted_BB": 1.5503,
        "predicted_H": 2.6562,
        "predicted_HBP": 0.004,
        "predicted_HR": 0.4847,
        "predicted_OBP": 0.3708,
        "predicted_R": 1.5459,
        "predicted_RBI": 2.4068,
        "predicted_SLG": 0.5266,
        "predicted_SO": 2.0767
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.353,
          "after": 0.911,
          "delta": 0.558,
          "percent_delta": 1.5807,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.14,
          "after": 8.7138,
          "delta": 4.5738,
          "percent_delta": 1.1048,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.237,
          "after": 0.2778,
          "delta": 0.0408,
          "percent_delta": 0.1722,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.549,
          "after": 1.5503,
          "delta": 1.0013,
          "percent_delta": 1.8239,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.98,
          "after": 2.6562,
          "delta": 1.6762,
          "percent_delta": 1.7104,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.19,
          "after": 0.4847,
          "delta": 0.2947,
          "percent_delta": 1.5511,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.327,
          "after": 0.3708,
          "delta": 0.0438,
          "percent_delta": 0.1339,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.8,
          "after": 1.5459,
          "delta": 0.7459,
          "percent_delta": 0.9324,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.75,
          "after": 2.4068,
          "delta": 1.6568,
          "percent_delta": 2.2091,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.454,
          "after": 0.5266,
          "delta": 0.0726,
          "percent_delta": 0.1599,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.037,
          "after": 2.0767,
          "delta": 1.0397,
          "percent_delta": 1.0026,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 11,
        "boosted_metrics": 11,
        "deboosted_metrics": 0,
        "better_metrics": 10,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.14,
          "after": 8.7138,
          "delta": 4.5738,
          "percent_delta": 1.1048,
          "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": 2,
        "last_10": 4,
        "season": 50
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.911,
        "predicted_3B": 0.0009,
        "predicted_AB": 8.7138,
        "predicted_AVG": 0.3202,
        "predicted_BB": 1.5883,
        "predicted_H": 2.7898,
        "predicted_HBP": 0.004,
        "predicted_HR": 0.5093,
        "predicted_OBP": 0.425,
        "predicted_R": 1.6855,
        "predicted_RBI": 2.6241,
        "predicted_SLG": 0.6003,
        "predicted_SO": 2.0258
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.911,
          "after": 0.911,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.7138,
          "after": 8.7138,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2778,
          "after": 0.3202,
          "delta": 0.0424,
          "percent_delta": 0.1526,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.5503,
          "after": 1.5883,
          "delta": 0.038,
          "percent_delta": 0.0245,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.6562,
          "after": 2.7898,
          "delta": 0.1336,
          "percent_delta": 0.0503,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.004,
          "after": 0.004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.4847,
          "after": 0.5093,
          "delta": 0.0246,
          "percent_delta": 0.0508,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3708,
          "after": 0.425,
          "delta": 0.0542,
          "percent_delta": 0.1462,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.5459,
          "after": 1.6855,
          "delta": 0.1396,
          "percent_delta": 0.0903,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 2.4068,
          "after": 2.6241,
          "delta": 0.2173,
          "percent_delta": 0.0903,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5266,
          "after": 0.6003,
          "delta": 0.0737,
          "percent_delta": 0.14,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0767,
          "after": 2.0258,
          "delta": -0.0509,
          "percent_delta": -0.0245,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 6,
        "deboosted_metrics": 1,
        "better_metrics": 7,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 2.4068,
          "after": 2.6241,
          "delta": 0.2173,
          "percent_delta": 0.0903,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 2.0767,
          "after": 2.0258,
          "delta": -0.0509,
          "percent_delta": -0.0245,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 9 (raw=8.71), rates preserved: AVG=0.320 HR/AB=0.058",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 2.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_RBI": 3.0,
        "predicted_SB": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.911,
          "after": 1.0,
          "delta": 0.089,
          "percent_delta": 0.0977,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.7138,
          "after": 9.0,
          "delta": 0.2862,
          "percent_delta": 0.0328,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.5883,
          "after": 2.0,
          "delta": 0.4117,
          "percent_delta": 0.2592,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.7898,
          "after": 3.0,
          "delta": 0.2102,
          "percent_delta": 0.0753,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.004,
          "after": 0.0,
          "delta": -0.004,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.5093,
          "after": 1.0,
          "delta": 0.4907,
          "percent_delta": 0.9635,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 2.6241,
          "after": 3.0,
          "delta": 0.3759,
          "percent_delta": 0.1432,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0258,
          "after": 2.0,
          "delta": -0.0258,
          "percent_delta": -0.0127,
          "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_HR",
          "before": 0.5093,
          "after": 1.0,
          "delta": 0.4907,
          "percent_delta": 0.9635,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=25.0, weight=0.182, BvP AVG=0.080)",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 2.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 3.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 9.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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_H",
          "before": 3.0,
          "after": 2.0,
          "delta": -1.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "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_RBI",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 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_H",
          "before": 3.0,
          "after": 2.0,
          "delta": -1.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "model_expectation": 0.8182,
        "bvp": 0.1818
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 2.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 2.0,
        "predicted_RBI": 3.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 9.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.6855,
          "after": 2.0,
          "delta": 0.3145,
          "percent_delta": 0.1866,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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": 1.6855,
          "after": 2.0,
          "delta": 0.3145,
          "percent_delta": 0.1866,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_AVG": 0.222,
        "predicted_BB": 2.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.364,
        "predicted_R": 2.0,
        "predicted_RBI": 3.0,
        "predicted_SLG": 0.333,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 9.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3202,
          "after": 0.222,
          "delta": -0.0982,
          "percent_delta": -0.3067,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.425,
          "after": 0.364,
          "delta": -0.061,
          "percent_delta": -0.1435,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.6003,
          "after": 0.333,
          "delta": -0.2673,
          "percent_delta": -0.4453,
          "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.6003,
          "after": 0.333,
          "delta": -0.2673,
          "percent_delta": -0.4453,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 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": 9.0,
          "after": 5.0,
          "delta": -4.0,
          "percent_delta": -0.4444,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.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": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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": 2.0,
          "after": 0.0,
          "delta": -2.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 3.0,
          "after": 0.0,
          "delta": -3.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": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 0,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 5.0,
          "delta": -4.0,
          "percent_delta": -0.4444,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.3202,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_FB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.425,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.6003,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.222,
          "after": 0.3202,
          "delta": 0.0982,
          "percent_delta": 0.4422,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.364,
          "after": 0.425,
          "delta": 0.061,
          "percent_delta": 0.1675,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.333,
          "after": 0.6003,
          "delta": 0.2673,
          "percent_delta": 0.8026,
          "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.333,
          "after": 0.6003,
          "delta": 0.2673,
          "percent_delta": 0.8026,
          "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.353,
        "after": 1.0,
        "delta": 0.647,
        "percent_delta": 1.8329,
        "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.14,
        "after": 5.0,
        "delta": 0.86,
        "percent_delta": 0.2077,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.237,
        "after": 0.3202,
        "delta": 0.0832,
        "percent_delta": 0.3511,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.549,
        "after": 0.0,
        "delta": -0.549,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.98,
        "after": 1.0,
        "delta": 0.02,
        "percent_delta": 0.0204,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.19,
        "after": 0.0,
        "delta": -0.19,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.327,
        "after": 0.425,
        "delta": 0.098,
        "percent_delta": 0.2997,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.8,
        "after": 0.0,
        "delta": -0.8,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.75,
        "after": 0.0,
        "delta": -0.75,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.454,
        "after": 0.6003,
        "delta": 0.1463,
        "percent_delta": 0.3222,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.037,
        "after": 2.0,
        "delta": 0.963,
        "percent_delta": 0.9286,
        "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_SO",
        "before": 1.037,
        "after": 2.0,
        "delta": 0.963,
        "percent_delta": 0.9286,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.8,
        "after": 0.0,
        "delta": -0.8,
        "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.353-
predicted_3B0.000-
predicted_AB4.140-
predicted_AVG0.237-
predicted_BB0.549-
predicted_H0.980-
predicted_HR0.190-
predicted_OBP0.327-
predicted_R0.800-
predicted_RBI0.750-
predicted_SLG0.454-
predicted_SO1.037-
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.9110.558
predicted_3B0.0010.001
predicted_AB8.7144.574
predicted_AVG0.2780.041
predicted_BB1.5501.001
predicted_H2.6561.676
predicted_HBP0.004-
predicted_HR0.4850.295
predicted_OBP0.3710.044
predicted_R1.5460.746
predicted_RBI2.4071.657
predicted_SLG0.5270.073
predicted_SO2.0771.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.9110.000
predicted_3B0.0010.000
predicted_AB8.7140.000
predicted_AVG0.3200.042
predicted_BB1.5880.038
predicted_H2.7900.134
predicted_HBP0.0040.000
predicted_HR0.5090.025
predicted_OBP0.4250.054
predicted_R1.6850.140
predicted_RBI2.6240.217
predicted_SLG0.6000.074
predicted_SO2.026-0.051
4. ab_floor_and_scaling

AB rounded to 9 (raw=8.71), rates preserved: AVG=0.320 HR/AB=0.058

MetricValueDelta vs Prev Step
2B1.000-
3B0.000-
AB9.000-
BB2.000-
H3.000-
HBP0.000-
HR1.000-
RBI3.000-
SB0.000-
SO2.000-
5. bvp_blend

Sample-size BvP blend (BvP AB=25.0, weight=0.182, BvP AVG=0.080)

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB9.0000.000
BB2.0000.000
H2.000-1.000
HR0.000-1.000
RBI3.0000.000
SO2.0000.000
6. consistency_constraints

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

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB9.0000.000
BB2.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R2.000-
RBI3.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
7. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B1.0000.089
predicted_3B0.000-0.001
predicted_AB9.0000.286
predicted_AVG0.222-0.098
predicted_BB2.0000.412
predicted_H2.000-0.790
predicted_HR0.000-0.509
predicted_OBP0.364-0.061
predicted_R2.0000.315
predicted_RBI3.0000.376
predicted_SLG0.333-0.267
predicted_SO2.000-0.026
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 215
Reference playing time: 4.140
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-17.0009.0004.0000.0000.00013.0001.0008.0002.0000.52940.68000.76470.52940.00000.76470.47060.1177
last_100.204-32.00014.0005.0000.0000.00017.0001.00011.0003.0000.43750.58140.59380.43750.00000.53120.34380.0938
season0.6050-830.000242.00076.0000.00063.000189.000172.000118.000223.0000.29160.37620.61080.29160.07590.22770.14220.2687
Weighted Prediction From Real Data
MetricValue
predicted_2B1.6180
predicted_3B0.0020
predicted_AB14.5090
predicted_AVG0.3295
predicted_BB2.8190
predicted_H4.7800
predicted_HBP0.0040
predicted_HR0.8580
predicted_OBP0.4263
predicted_R2.4910
predicted_RBI4.5060
predicted_SLG0.6186
predicted_SO3.3940
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.35301.61800.9110model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB4.140014.50908.7138model_form_blend
predicted_AVG0.23700.32950.2778model_form_blend
predicted_BB0.54902.81901.5503model_form_blend
predicted_H0.98004.78002.6562model_form_blend
predicted_HBP-0.00400.0040form_only
predicted_HR0.19000.85800.4847model_form_blend
predicted_OBP0.32700.42630.3708model_form_blend
predicted_R0.80002.49101.5459model_form_blend
predicted_RBI0.75004.50602.4068model_form_blend
predicted_SLG0.45400.61860.5266model_form_blend
predicted_SO1.03703.39402.0767model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date215
Season rows before report date215
Report year2026
Profile rows used215
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
2B1
3B0
HR0
R0
RBI0
BB0
SO2
SF0
HBP0
season_avg0.292

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_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO2
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
allPositionsPlayed1B
gameID20260520_ATL@MIA
game_typefull
mlbID621566
playerID621566
playerNameMatt Olson
pos1B
startedTrue
startingPosition1B
teamATL
teamID2
game_date2026-05-20
sl_k_percent23.8
sl_bb_percent11.7
sl_woba0.408
sl_xwoba0.39
sl_xba0.264
sl_xslg0.572
sl_sweet_spot_percent34.1
sl_barrel_batted_rate16.7
sl_hard_hit_percent51.4
sl_exit_velocity_avg93.7
sl_launch_angle_avg17.5
sl_whiff_percent24.9
sl_swing_percent44.3
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 20260521: 159
All-history rows before 20260521: 159
System season_avg: 0.2500
Data season_avg (2026 season-to-date): 0.2500
Diff (system - data): 0.0000
System opponent_avg: 0.3420

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2640.0001.000Hitting_2B0.2640.000-0.2640.000
predicted_3B0.0250.0000.000Hitting_3B0.0250.000-0.0250.000
predicted_AB4.2105.0009.000Hitting_AB3.8494.0001.1511.000
predicted_AVG0.2410.2000.333Hitting_AVG0.2500.250-0.050-0.050
predicted_BB0.6480.0002.000Hitting_BB0.6480.000-0.6480.000
predicted_CS-0.0000.000BaseRunning_CS0.1010.000-0.1010.000
predicted_H1.0201.0003.000Hitting_H0.9621.0000.0380.000
predicted_HR0.1100.0000.000Hitting_HR0.0630.000-0.0630.000
predicted_OBP0.3550.2000.455Hitting_OBP0.3630.250-0.163-0.050
predicted_R0.5910.0002.000Hitting_R0.5911.000-0.591-1.000
predicted_RBI0.3200.0001.000Hitting_RBI0.2770.000-0.2770.000
predicted_SLG0.4100.2000.444Hitting_SLG0.3810.250-0.181-0.050
predicted_SO0.9432.0002.000Hitting_SO0.9431.0001.0571.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics9
Boosted Metrics4
Deboosted Metrics5
Better Metrics3
Worse Metrics6
Biggest Boostpredicted_SO: 0.9430 -> 2.0000 (boost 1.0570, worse)
Biggest Deboostpredicted_BB: 0.6480 -> 0.0000 (deboost -0.6480, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend109182predicted_AB: 4.2100 -> 8.9277 (boost 4.7177, better)predicted_SLG: 0.4100 -> 0.4047 (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_snapshot76170predicted_R: 1.9667 -> 2.1443 (boost 0.1776, better)predicted_SO: 2.1016 -> 2.0501 (deboost -0.0515, better)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling84453predicted_RBI: 0.6233 -> 1.0000 (boost 0.3767, better)predicted_H: 2.3637 -> 2.0000 (deboost -0.3637, worse)AB rounded to 9 (raw=8.93), rates preserved: AVG=0.265 HR/AB=0.018
5bvp_blend11010predicted_H: 2.0000 -> 3.0000 (boost 1.0000, better)-Sample-size BvP blend (BvP AB=38.0, weight=0.224, BvP AVG=0.342)
6consistency_constraints10101-predicted_R: 2.1443 -> 2.0000 (deboost -0.1443, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context33030predicted_OBP: 0.3864 -> 0.4550 (boost 0.0686, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference60606-predicted_AB: 9.0000 -> 5.0000 (deboost -4.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final30303-predicted_OBP: 0.4550 -> 0.3864 (deboost -0.0686, 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.264,
        "predicted_3B": 0.025,
        "predicted_AB": 4.21,
        "predicted_AVG": 0.241,
        "predicted_BB": 0.648,
        "predicted_H": 1.02,
        "predicted_HR": 0.11,
        "predicted_OBP": 0.355,
        "predicted_R": 0.591,
        "predicted_RBI": 0.32,
        "predicted_SLG": 0.41,
        "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.7459,
        "predicted_3B": 0.0478,
        "predicted_AB": 8.9277,
        "predicted_AVG": 0.2474,
        "predicted_BB": 1.7272,
        "predicted_H": 2.2505,
        "predicted_HBP": 0.209,
        "predicted_HR": 0.1517,
        "predicted_OBP": 0.3677,
        "predicted_R": 1.9667,
        "predicted_RBI": 0.5717,
        "predicted_SLG": 0.4047,
        "predicted_SO": 2.1016
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.264,
          "after": 0.7459,
          "delta": 0.4819,
          "percent_delta": 1.8254,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.025,
          "after": 0.0478,
          "delta": 0.0228,
          "percent_delta": 0.912,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.21,
          "after": 8.9277,
          "delta": 4.7177,
          "percent_delta": 1.1206,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.241,
          "after": 0.2474,
          "delta": 0.0064,
          "percent_delta": 0.0266,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.648,
          "after": 1.7272,
          "delta": 1.0792,
          "percent_delta": 1.6654,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.02,
          "after": 2.2505,
          "delta": 1.2305,
          "percent_delta": 1.2064,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.11,
          "after": 0.1517,
          "delta": 0.0417,
          "percent_delta": 0.3791,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.355,
          "after": 0.3677,
          "delta": 0.0127,
          "percent_delta": 0.0358,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.591,
          "after": 1.9667,
          "delta": 1.3757,
          "percent_delta": 2.3277,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.32,
          "after": 0.5717,
          "delta": 0.2517,
          "percent_delta": 0.7866,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.41,
          "after": 0.4047,
          "delta": -0.0053,
          "percent_delta": -0.0129,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.943,
          "after": 2.1016,
          "delta": 1.1586,
          "percent_delta": 1.2286,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 10,
        "boosted_metrics": 9,
        "deboosted_metrics": 1,
        "better_metrics": 8,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.21,
          "after": 8.9277,
          "delta": 4.7177,
          "percent_delta": 1.1206,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.41,
          "after": 0.4047,
          "delta": -0.0053,
          "percent_delta": -0.0129,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 2,
        "last_10": 4,
        "season": 36
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.7459,
        "predicted_3B": 0.0478,
        "predicted_AB": 8.9277,
        "predicted_AVG": 0.2648,
        "predicted_BB": 1.7695,
        "predicted_H": 2.3637,
        "predicted_HBP": 0.209,
        "predicted_HR": 0.1594,
        "predicted_OBP": 0.3864,
        "predicted_R": 2.1443,
        "predicted_RBI": 0.6233,
        "predicted_SLG": 0.4126,
        "predicted_SO": 2.0501
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.7459,
          "after": 0.7459,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0478,
          "after": 0.0478,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.9277,
          "after": 8.9277,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2474,
          "after": 0.2648,
          "delta": 0.0174,
          "percent_delta": 0.0703,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.7272,
          "after": 1.7695,
          "delta": 0.0423,
          "percent_delta": 0.0245,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.2505,
          "after": 2.3637,
          "delta": 0.1132,
          "percent_delta": 0.0503,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.209,
          "after": 0.209,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1517,
          "after": 0.1594,
          "delta": 0.0077,
          "percent_delta": 0.0508,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3677,
          "after": 0.3864,
          "delta": 0.0187,
          "percent_delta": 0.0509,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.9667,
          "after": 2.1443,
          "delta": 0.1776,
          "percent_delta": 0.0903,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5717,
          "after": 0.6233,
          "delta": 0.0516,
          "percent_delta": 0.0903,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4047,
          "after": 0.4126,
          "delta": 0.0079,
          "percent_delta": 0.0195,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.1016,
          "after": 2.0501,
          "delta": -0.0515,
          "percent_delta": -0.0245,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 6,
        "deboosted_metrics": 1,
        "better_metrics": 7,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 1.9667,
          "after": 2.1443,
          "delta": 0.1776,
          "percent_delta": 0.0903,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 2.1016,
          "after": 2.0501,
          "delta": -0.0515,
          "percent_delta": -0.0245,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 9 (raw=8.93), rates preserved: AVG=0.265 HR/AB=0.018",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 2.0,
        "predicted_H": 2.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.7459,
          "after": 1.0,
          "delta": 0.2541,
          "percent_delta": 0.3407,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0478,
          "after": 0.0,
          "delta": -0.0478,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.9277,
          "after": 9.0,
          "delta": 0.0723,
          "percent_delta": 0.0081,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.7695,
          "after": 2.0,
          "delta": 0.2305,
          "percent_delta": 0.1303,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.3637,
          "after": 2.0,
          "delta": -0.3637,
          "percent_delta": -0.1539,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.209,
          "after": 0.0,
          "delta": -0.209,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1594,
          "after": 0.0,
          "delta": -0.1594,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6233,
          "after": 1.0,
          "delta": 0.3767,
          "percent_delta": 0.6044,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0501,
          "after": 2.0,
          "delta": -0.0501,
          "percent_delta": -0.0244,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 4,
        "deboosted_metrics": 4,
        "better_metrics": 5,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.6233,
          "after": 1.0,
          "delta": 0.3767,
          "percent_delta": 0.6044,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 2.3637,
          "after": 2.0,
          "delta": -0.3637,
          "percent_delta": -0.1539,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=38.0, weight=0.224, BvP AVG=0.342)",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 2.0,
        "predicted_H": 3.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 9.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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_H",
          "before": 2.0,
          "after": 3.0,
          "delta": 1.0,
          "percent_delta": 0.5,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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": 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_H",
          "before": 2.0,
          "after": 3.0,
          "delta": 1.0,
          "percent_delta": 0.5,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.7765,
        "bvp": 0.2235
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 2.0,
        "predicted_CS": 0.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 2.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 9.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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_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_R",
          "before": 2.1443,
          "after": 2.0,
          "delta": -0.1443,
          "percent_delta": -0.0673,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 2.1443,
          "after": 2.0,
          "delta": -0.1443,
          "percent_delta": -0.0673,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_AVG": 0.333,
        "predicted_BB": 2.0,
        "predicted_H": 3.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.455,
        "predicted_R": 2.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.444,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 9.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2648,
          "after": 0.333,
          "delta": 0.0682,
          "percent_delta": 0.2576,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 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_OBP",
          "before": 0.3864,
          "after": 0.455,
          "delta": 0.0686,
          "percent_delta": 0.1775,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 2.0,
          "after": 2.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.4126,
          "after": 0.444,
          "delta": 0.0314,
          "percent_delta": 0.0761,
          "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.3864,
          "after": 0.455,
          "delta": 0.0686,
          "percent_delta": 0.1775,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 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": 9.0,
          "after": 5.0,
          "delta": -4.0,
          "percent_delta": -0.4444,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.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": 3.0,
          "after": 1.0,
          "delta": -2.0,
          "percent_delta": -0.6667,
          "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": 2.0,
          "after": 0.0,
          "delta": -2.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": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 0,
        "deboosted_metrics": 6,
        "better_metrics": 0,
        "worse_metrics": 6,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 5.0,
          "delta": -4.0,
          "percent_delta": -0.4444,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.2648,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3864,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4126,
        "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.333,
          "after": 0.2648,
          "delta": -0.0682,
          "percent_delta": -0.2049,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.455,
          "after": 0.3864,
          "delta": -0.0686,
          "percent_delta": -0.1508,
          "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.444,
          "after": 0.4126,
          "delta": -0.0314,
          "percent_delta": -0.0708,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.455,
          "after": 0.3864,
          "delta": -0.0686,
          "percent_delta": -0.1508,
          "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.264,
        "after": 0.0,
        "delta": -0.264,
        "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": 4.21,
        "after": 5.0,
        "delta": 0.79,
        "percent_delta": 0.1876,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.241,
        "after": 0.2648,
        "delta": 0.0238,
        "percent_delta": 0.0988,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.648,
        "after": 0.0,
        "delta": -0.648,
        "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.11,
        "after": 0.0,
        "delta": -0.11,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.355,
        "after": 0.3864,
        "delta": 0.0314,
        "percent_delta": 0.0885,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.591,
        "after": 0.0,
        "delta": -0.591,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.32,
        "after": 0.0,
        "delta": -0.32,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.41,
        "after": 0.4126,
        "delta": 0.0026,
        "percent_delta": 0.0063,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.943,
        "after": 2.0,
        "delta": 1.057,
        "percent_delta": 1.1209,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 4,
      "deboosted_metrics": 5,
      "better_metrics": 3,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.943,
        "after": 2.0,
        "delta": 1.057,
        "percent_delta": 1.1209,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.648,
        "after": 0.0,
        "delta": -0.648,
        "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.264-
predicted_3B0.025-
predicted_AB4.210-
predicted_AVG0.241-
predicted_BB0.648-
predicted_H1.020-
predicted_HR0.110-
predicted_OBP0.355-
predicted_R0.591-
predicted_RBI0.320-
predicted_SLG0.410-
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.7460.482
predicted_3B0.0480.023
predicted_AB8.9284.718
predicted_AVG0.2470.006
predicted_BB1.7271.079
predicted_H2.2511.231
predicted_HBP0.209-
predicted_HR0.1520.042
predicted_OBP0.3680.013
predicted_R1.9671.376
predicted_RBI0.5720.252
predicted_SLG0.405-0.005
predicted_SO2.1021.159
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.7460.000
predicted_3B0.0480.000
predicted_AB8.9280.000
predicted_AVG0.2650.017
predicted_BB1.7700.042
predicted_H2.3640.113
predicted_HBP0.2090.000
predicted_HR0.1590.008
predicted_OBP0.3860.019
predicted_R2.1440.178
predicted_RBI0.6230.052
predicted_SLG0.4130.008
predicted_SO2.050-0.051
4. ab_floor_and_scaling

AB rounded to 9 (raw=8.93), rates preserved: AVG=0.265 HR/AB=0.018

MetricValueDelta vs Prev Step
2B1.000-
3B0.000-
AB9.000-
BB2.000-
H2.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO2.000-
5. bvp_blend

Sample-size BvP blend (BvP AB=38.0, weight=0.224, BvP AVG=0.342)

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB9.0000.000
BB2.0000.000
H3.0001.000
HR0.0000.000
RBI1.0000.000
SO2.0000.000
6. consistency_constraints

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

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB9.0000.000
BB2.0000.000
CS0.000-
H3.0000.000
HBP0.0000.000
HR0.0000.000
R2.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
7. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B1.0000.254
predicted_3B0.000-0.048
predicted_AB9.0000.072
predicted_AVG0.3330.068
predicted_BB2.0000.230
predicted_H3.0000.636
predicted_HR0.000-0.159
predicted_OBP0.4550.069
predicted_R2.000-0.144
predicted_RBI1.0000.377
predicted_SLG0.4440.031
predicted_SO2.000-0.050
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 159
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.202-20.0005.0004.0000.0000.0000.00013.0008.0005.0000.25000.46430.45000.25000.00000.00000.40000.2500
last_100.204-36.00011.0006.0000.0000.0000.00022.00013.0007.0000.30560.48980.47220.30560.00000.00000.36110.1944
season0.6036-612.000153.00042.0004.00010.00044.00094.000103.000150.0000.25000.36280.38070.25000.01630.07190.16830.2451
Weighted Prediction From Real Data
MetricValue
predicted_2B1.3630
predicted_3B0.0770
predicted_AB14.9680
predicted_AVG0.2556
predicted_BB3.1090
predicted_H3.8260
predicted_HBP0.2090
predicted_HR0.2050
predicted_OBP0.3840
predicted_R3.7280
predicted_RBI0.8940
predicted_SLG0.3980
predicted_SO3.5850
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.26401.36300.7459model_form_blend
predicted_3B0.02500.07700.0478model_form_blend
predicted_AB4.210014.96808.9277model_form_blend
predicted_AVG0.24100.25560.2474model_form_blend
predicted_BB0.64803.10901.7272model_form_blend
predicted_H1.02003.82602.2505model_form_blend
predicted_HBP-0.20900.2090form_only
predicted_HR0.11000.20500.1517model_form_blend
predicted_OBP0.35500.38400.3677model_form_blend
predicted_R0.59103.72801.9667model_form_blend
predicted_RBI0.32000.89400.5717model_form_blend
predicted_SLG0.41000.39800.4047model_form_blend
predicted_SO0.94303.58502.1016model_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 date159
Season rows before report date159
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
AB5
H1
2B0
3B0
HR0
R0
RBI0
BB0
SO2
SF0
HBP0
season_avg0.25

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_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
gameID20260520_ATL@MIA
game_typefull
mlbID660670
playerID660670
playerNameRonald Acuña Jr.
posRF
startedTrue
startingPositionRF
teamATL
teamID2
game_date2026-05-20
sl_k_percent20.3
sl_bb_percent13.9
sl_woba0.339
sl_xwoba0.383
sl_xba0.265
sl_xslg0.488
sl_sweet_spot_percent33.7
sl_barrel_batted_rate12.9
sl_hard_hit_percent40.6
sl_exit_velocity_avg89.2
sl_launch_angle_avg16.9
sl_whiff_percent27.4
sl_swing_percent45.0
Ozzie Albies (645277) · BATTER · 2B · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 211
All-history rows before 20260521: 211
System season_avg: 0.2800
Data season_avg (2026 season-to-date): 0.2796
Diff (system - data): 0.0004
System opponent_avg: 0.3120

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1750.0000.000Hitting_2B0.1750.000-0.1750.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.1003.0009.000Hitting_AB3.8824.000-0.882-1.000
predicted_AVG0.2260.0000.222Hitting_AVG0.2800.500-0.280-0.500
predicted_BB0.3462.0001.000Hitting_BB0.3460.0001.6542.000
predicted_CS-0.0000.000BaseRunning_CS0.0660.000-0.0660.000
predicted_H0.9300.0002.000Hitting_H1.0852.000-1.085-2.000
predicted_HR0.1000.0000.000Hitting_HR0.1610.000-0.1610.000
predicted_OBP0.2980.4000.300Hitting_OBP0.3370.5000.063-0.100
predicted_R0.6730.0002.000Hitting_R0.6732.000-0.673-2.000
predicted_RBI0.4500.0002.000Hitting_RBI0.5691.000-0.569-1.000
predicted_SB-0.0000.000BaseRunning_SB0.0000.0000.0000.000
predicted_SLG0.3560.0000.222Hitting_SLG0.4490.500-0.449-0.500
predicted_SO0.5400.0001.000Hitting_SO0.5400.000-0.5400.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics4
Deboosted Metrics7
Better Metrics5
Worse Metrics6
Biggest Boostpredicted_BB: 0.3460 -> 2.0000 (boost 1.6540, better)
Biggest Deboostpredicted_AB: 4.1000 -> 3.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_blend11110101predicted_AB: 4.1000 -> 8.6949 (boost 4.5949, 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_snapshot66060predicted_R: 1.4360 -> 1.5657 (boost 0.1297, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling82635predicted_RBI: 1.5166 -> 2.0000 (boost 0.4834, better)predicted_2B: 0.3412 -> 0.0000 (deboost -0.3412, worse)AB rounded to 9 (raw=8.69), rates preserved: AVG=0.266 HR/AB=0.034
5bvp_blend00000--Sample-size BvP blend (BvP AB=48.0, weight=0.246, BvP AVG=0.312)
6consistency_constraints11010predicted_R: 1.5657 -> 2.0000 (boost 0.4343, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context30303-predicted_SLG: 0.4056 -> 0.2220 (deboost -0.1836, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference61524predicted_BB: 1.0000 -> 2.0000 (boost 1.0000, better)predicted_AB: 9.0000 -> 3.0000 (deboost -6.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final33030predicted_SLG: 0.2220 -> 0.4056 (boost 0.1836, better)-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.175,
        "predicted_3B": 0.0,
        "predicted_AB": 4.1,
        "predicted_AVG": 0.226,
        "predicted_BB": 0.346,
        "predicted_H": 0.93,
        "predicted_HR": 0.1,
        "predicted_OBP": 0.298,
        "predicted_R": 0.673,
        "predicted_RBI": 0.45,
        "predicted_SLG": 0.356,
        "predicted_SO": 0.54
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.3412,
        "predicted_3B": 0.0009,
        "predicted_AB": 8.6949,
        "predicted_AVG": 0.242,
        "predicted_BB": 1.2438,
        "predicted_H": 2.1989,
        "predicted_HBP": 0.119,
        "predicted_HR": 0.2772,
        "predicted_OBP": 0.3191,
        "predicted_R": 1.436,
        "predicted_RBI": 1.391,
        "predicted_SLG": 0.3772,
        "predicted_SO": 1.1117
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.175,
          "after": 0.3412,
          "delta": 0.1662,
          "percent_delta": 0.9497,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.1,
          "after": 8.6949,
          "delta": 4.5949,
          "percent_delta": 1.1207,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.226,
          "after": 0.242,
          "delta": 0.016,
          "percent_delta": 0.0708,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.346,
          "after": 1.2438,
          "delta": 0.8978,
          "percent_delta": 2.5948,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.93,
          "after": 2.1989,
          "delta": 1.2689,
          "percent_delta": 1.3644,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1,
          "after": 0.2772,
          "delta": 0.1772,
          "percent_delta": 1.772,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.298,
          "after": 0.3191,
          "delta": 0.0211,
          "percent_delta": 0.0708,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.673,
          "after": 1.436,
          "delta": 0.763,
          "percent_delta": 1.1337,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.45,
          "after": 1.391,
          "delta": 0.941,
          "percent_delta": 2.0911,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.356,
          "after": 0.3772,
          "delta": 0.0212,
          "percent_delta": 0.0596,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.54,
          "after": 1.1117,
          "delta": 0.5717,
          "percent_delta": 1.0587,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 11,
        "boosted_metrics": 11,
        "deboosted_metrics": 0,
        "better_metrics": 10,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.1,
          "after": 8.6949,
          "delta": 4.5949,
          "percent_delta": 1.1207,
          "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": 2,
        "last_10": 3,
        "season": 50
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.3412,
        "predicted_3B": 0.0009,
        "predicted_AB": 8.6949,
        "predicted_AVG": 0.2656,
        "predicted_BB": 1.2743,
        "predicted_H": 2.3095,
        "predicted_HBP": 0.119,
        "predicted_HR": 0.2913,
        "predicted_OBP": 0.3595,
        "predicted_R": 1.5657,
        "predicted_RBI": 1.5166,
        "predicted_SLG": 0.4056,
        "predicted_SO": 1.0845
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.3412,
          "after": 0.3412,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.6949,
          "after": 8.6949,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.242,
          "after": 0.2656,
          "delta": 0.0236,
          "percent_delta": 0.0975,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.2438,
          "after": 1.2743,
          "delta": 0.0305,
          "percent_delta": 0.0245,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.1989,
          "after": 2.3095,
          "delta": 0.1106,
          "percent_delta": 0.0503,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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.2772,
          "after": 0.2913,
          "delta": 0.0141,
          "percent_delta": 0.0509,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3191,
          "after": 0.3595,
          "delta": 0.0404,
          "percent_delta": 0.1266,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.436,
          "after": 1.5657,
          "delta": 0.1297,
          "percent_delta": 0.0903,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.391,
          "after": 1.5166,
          "delta": 0.1256,
          "percent_delta": 0.0903,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3772,
          "after": 0.4056,
          "delta": 0.0284,
          "percent_delta": 0.0753,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1117,
          "after": 1.0845,
          "delta": -0.0272,
          "percent_delta": -0.0245,
          "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_R",
          "before": 1.436,
          "after": 1.5657,
          "delta": 0.1297,
          "percent_delta": 0.0903,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 9 (raw=8.69), rates preserved: AVG=0.266 HR/AB=0.034",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.3412,
          "after": 0.0,
          "delta": -0.3412,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.6949,
          "after": 9.0,
          "delta": 0.3051,
          "percent_delta": 0.0351,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.2743,
          "after": 1.0,
          "delta": -0.2743,
          "percent_delta": -0.2153,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.3095,
          "after": 2.0,
          "delta": -0.3095,
          "percent_delta": -0.134,
          "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.2913,
          "after": 0.0,
          "delta": -0.2913,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.5166,
          "after": 2.0,
          "delta": 0.4834,
          "percent_delta": 0.3187,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0845,
          "after": 1.0,
          "delta": -0.0845,
          "percent_delta": -0.0779,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 2,
        "deboosted_metrics": 6,
        "better_metrics": 3,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 1.5166,
          "after": 2.0,
          "delta": 0.4834,
          "percent_delta": 0.3187,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.3412,
          "after": 0.0,
          "delta": -0.3412,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=48.0, weight=0.246, BvP AVG=0.312)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 2.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 9.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": 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_RBI",
          "before": 2.0,
          "after": 2.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.7538,
        "bvp": 0.2462
      },
      "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": 9.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 2.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": 9.0,
          "after": 9.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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.5657,
          "after": 2.0,
          "delta": 0.4343,
          "percent_delta": 0.2774,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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_SO",
          "before": 1.0,
          "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": 1.5657,
          "after": 2.0,
          "delta": 0.4343,
          "percent_delta": 0.2774,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_AVG": 0.222,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3,
        "predicted_R": 2.0,
        "predicted_RBI": 2.0,
        "predicted_SLG": 0.222,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 9.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2656,
          "after": 0.222,
          "delta": -0.0436,
          "percent_delta": -0.1642,
          "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": 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.3595,
          "after": 0.3,
          "delta": -0.0595,
          "percent_delta": -0.1655,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 2.0,
          "after": 2.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_SLG",
          "before": 0.4056,
          "after": 0.222,
          "delta": -0.1836,
          "percent_delta": -0.4527,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.4056,
          "after": 0.222,
          "delta": -0.1836,
          "percent_delta": -0.4527,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 2.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 3.0,
          "delta": -6.0,
          "percent_delta": -0.6667,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.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": 2.0,
          "after": 0.0,
          "delta": -2.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.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": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 3.0,
          "delta": -6.0,
          "percent_delta": -0.6667,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2656,
        "predicted_BB": 2.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3595,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4056,
        "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.222,
          "after": 0.2656,
          "delta": 0.0436,
          "percent_delta": 0.1965,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3,
          "after": 0.3595,
          "delta": 0.0595,
          "percent_delta": 0.1983,
          "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.222,
          "after": 0.4056,
          "delta": 0.1836,
          "percent_delta": 0.8269,
          "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.222,
          "after": 0.4056,
          "delta": 0.1836,
          "percent_delta": 0.8269,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.175,
        "after": 0.0,
        "delta": -0.175,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.1,
        "after": 3.0,
        "delta": -1.1,
        "percent_delta": -0.2683,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.226,
        "after": 0.2656,
        "delta": 0.0396,
        "percent_delta": 0.1752,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.346,
        "after": 2.0,
        "delta": 1.654,
        "percent_delta": 4.7803,
        "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.1,
        "after": 0.0,
        "delta": -0.1,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.298,
        "after": 0.3595,
        "delta": 0.0615,
        "percent_delta": 0.2064,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.673,
        "after": 0.0,
        "delta": -0.673,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.45,
        "after": 0.0,
        "delta": -0.45,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.356,
        "after": 0.4056,
        "delta": 0.0496,
        "percent_delta": 0.1393,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.54,
        "after": 0.0,
        "delta": -0.54,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 4,
      "deboosted_metrics": 7,
      "better_metrics": 5,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.346,
        "after": 2.0,
        "delta": 1.654,
        "percent_delta": 4.7803,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.1,
        "after": 3.0,
        "delta": -1.1,
        "percent_delta": -0.2683,
        "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_AB4.100-
predicted_AVG0.226-
predicted_BB0.346-
predicted_H0.930-
predicted_HR0.100-
predicted_OBP0.298-
predicted_R0.673-
predicted_RBI0.450-
predicted_SLG0.356-
predicted_SO0.540-
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.3410.166
predicted_3B0.0010.001
predicted_AB8.6954.595
predicted_AVG0.2420.016
predicted_BB1.2440.898
predicted_H2.1991.269
predicted_HBP0.119-
predicted_HR0.2770.177
predicted_OBP0.3190.021
predicted_R1.4360.763
predicted_RBI1.3910.941
predicted_SLG0.3770.021
predicted_SO1.1120.572
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.3410.000
predicted_3B0.0010.000
predicted_AB8.6950.000
predicted_AVG0.2660.024
predicted_BB1.2740.030
predicted_H2.3090.111
predicted_HBP0.1190.000
predicted_HR0.2910.014
predicted_OBP0.3590.040
predicted_R1.5660.130
predicted_RBI1.5170.126
predicted_SLG0.4060.028
predicted_SO1.085-0.027
4. ab_floor_and_scaling

AB rounded to 9 (raw=8.69), rates preserved: AVG=0.266 HR/AB=0.034

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB9.000-
BB1.000-
H2.000-
HBP0.000-
HR0.000-
RBI2.000-
SB0.000-
SO1.000-
5. bvp_blend

Sample-size BvP blend (BvP AB=48.0, weight=0.246, BvP AVG=0.312)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB9.0000.000
BB1.0000.000
H2.0000.000
HR0.0000.000
RBI2.0000.000
SO1.0000.000
6. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB9.0000.000
BB1.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R2.000-
RBI2.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. 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.341
predicted_3B0.000-0.001
predicted_AB9.0000.305
predicted_AVG0.222-0.044
predicted_BB1.000-0.274
predicted_H2.000-0.309
predicted_HR0.000-0.291
predicted_OBP0.300-0.059
predicted_R2.0000.434
predicted_RBI2.0000.483
predicted_SLG0.222-0.184
predicted_SO1.000-0.085
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-6.000
BB2.0001.000
CS0.0000.000
H0.000-2.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R0.000-2.000
RBI0.000-2.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: 211
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.202-12.0002.0000.0000.0000.0005.0002.0008.0000.0000.16670.41670.16670.16670.00000.41670.66670.0000
last_100.203-30.0006.0000.0000.0000.0006.0002.00010.0004.0000.20000.35560.20000.20000.00000.20000.33330.1333
season0.6050-819.000229.00037.0000.00034.000120.000142.00073.000114.0000.27960.33700.44930.27960.04150.14650.08910.1392
Weighted Prediction From Real Data
MetricValue
predicted_2B0.5520
predicted_3B0.0020
predicted_AB14.5250
predicted_AVG0.2622
predicted_BB2.3830
predicted_H3.8090
predicted_HBP0.1190
predicted_HR0.5020
predicted_OBP0.3459
predicted_R2.4040
predicted_RBI2.5850
predicted_SLG0.4042
predicted_SO1.8370
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17500.55200.3412model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB4.100014.52508.6949model_form_blend
predicted_AVG0.22600.26220.2420model_form_blend
predicted_BB0.34602.38301.2438model_form_blend
predicted_H0.93003.80902.1989model_form_blend
predicted_HBP-0.11900.1190form_only
predicted_HR0.10000.50200.2772model_form_blend
predicted_OBP0.29800.34590.3191model_form_blend
predicted_R0.67302.40401.4360model_form_blend
predicted_RBI0.45002.58501.3910model_form_blend
predicted_SLG0.35600.40420.3772model_form_blend
predicted_SO0.54001.83701.1117model_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 date211
Season rows before report date211
Report year2026
Profile rows used211
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
BB2
SO0
SF0
HBP0
season_avg0.28

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_R2
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB2
Hitting_battingOrder4
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed2B
gameID20260520_ATL@MIA
game_typefull
mlbID645277
playerID645277
playerNameOzzie Albies
pos2B
startedTrue
startingPosition2B
teamATL
teamID2
game_date2026-05-20
sl_k_percent12.4
sl_bb_percent7.6
sl_woba0.339
sl_xwoba0.298
sl_xba0.244
sl_xslg0.373
sl_sweet_spot_percent31.9
sl_barrel_batted_rate4.2
sl_hard_hit_percent26.5
sl_exit_velocity_avg86.4
sl_launch_angle_avg17.0
sl_whiff_percent22.7
sl_swing_percent54.5
Austin Riley (663586) · BATTER · 3B · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 206
All-history rows before 20260521: 206
System season_avg: 0.2190
Data season_avg (2026 season-to-date): 0.2187
Diff (system - data): 0.0003
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.1700.0000.000Hitting_2B0.1700.000-0.1700.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.8405.0009.000Hitting_AB3.8403.0001.1602.000
predicted_AVG0.2200.0000.222Hitting_AVG0.2190.333-0.219-0.333
predicted_BB0.3060.0001.000Hitting_BB0.3061.000-0.306-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.8200.0002.000Hitting_H0.8401.000-0.840-1.000
predicted_HR0.1700.0000.000Hitting_HR0.1501.000-0.150-1.000
predicted_OBP0.2860.0000.300Hitting_OBP0.2900.500-0.290-0.500
predicted_R0.5580.0001.000Hitting_R0.5581.000-0.558-1.000
predicted_RBI0.6100.0002.000Hitting_RBI0.6263.000-0.626-3.000
predicted_SLG0.4120.0000.222Hitting_SLG0.3811.333-0.381-1.333
predicted_SO1.1500.0003.000Hitting_SO1.1501.000-1.150-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: 3.8400 -> 5.0000 (boost 1.1600, better)
Biggest Deboostpredicted_SO: 1.1500 -> 0.0000 (deboost -1.1500, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend108273predicted_AB: 3.8400 -> 8.5752 (boost 4.7352, better)predicted_SLG: 0.4120 -> 0.3839 (deboost -0.0281, worse)Final model 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_snapshot63342predicted_RBI: 1.3493 -> 1.4711 (boost 0.1218, better)predicted_SO: 2.8558 -> 2.7858 (deboost -0.0700, better)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling85344predicted_RBI: 1.4711 -> 2.0000 (boost 0.5289, better)predicted_HBP: 0.7030 -> 0.0000 (deboost -0.7030, worse)AB rounded to 9 (raw=8.58), rates preserved: AVG=0.207 HR/AB=0.043
5bvp_blend00000--Sample-size BvP blend (BvP AB=35.0, weight=0.215, BvP AVG=0.200)
6consistency_constraints10101-predicted_R: 1.4470 -> 1.0000 (deboost -0.4470, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context32121predicted_OBP: 0.2637 -> 0.3000 (boost 0.0363, better)predicted_SLG: 0.3750 -> 0.2220 (deboost -0.1530, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference60615-predicted_AB: 9.0000 -> 5.0000 (deboost -4.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final31212predicted_SLG: 0.2220 -> 0.3750 (boost 0.1530, better)predicted_OBP: 0.3000 -> 0.2637 (deboost -0.0363, 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.17,
        "predicted_3B": 0.0,
        "predicted_AB": 3.84,
        "predicted_AVG": 0.22,
        "predicted_BB": 0.306,
        "predicted_H": 0.82,
        "predicted_HR": 0.17,
        "predicted_OBP": 0.286,
        "predicted_R": 0.558,
        "predicted_RBI": 0.61,
        "predicted_SLG": 0.412,
        "predicted_SO": 1.15
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.3347,
        "predicted_3B": 0.0009,
        "predicted_AB": 8.5752,
        "predicted_AVG": 0.2075,
        "predicted_BB": 0.6455,
        "predicted_H": 1.6896,
        "predicted_HBP": 0.703,
        "predicted_HR": 0.3505,
        "predicted_OBP": 0.283,
        "predicted_R": 1.3272,
        "predicted_RBI": 1.3493,
        "predicted_SLG": 0.3839,
        "predicted_SO": 2.8558
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.17,
          "after": 0.3347,
          "delta": 0.1647,
          "percent_delta": 0.9688,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.84,
          "after": 8.5752,
          "delta": 4.7352,
          "percent_delta": 1.2331,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.22,
          "after": 0.2075,
          "delta": -0.0125,
          "percent_delta": -0.0568,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.306,
          "after": 0.6455,
          "delta": 0.3395,
          "percent_delta": 1.1095,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.82,
          "after": 1.6896,
          "delta": 0.8696,
          "percent_delta": 1.0605,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.17,
          "after": 0.3505,
          "delta": 0.1805,
          "percent_delta": 1.0618,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.286,
          "after": 0.283,
          "delta": -0.003,
          "percent_delta": -0.0105,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.558,
          "after": 1.3272,
          "delta": 0.7692,
          "percent_delta": 1.3785,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.61,
          "after": 1.3493,
          "delta": 0.7393,
          "percent_delta": 1.212,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.412,
          "after": 0.3839,
          "delta": -0.0281,
          "percent_delta": -0.0682,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.15,
          "after": 2.8558,
          "delta": 1.7058,
          "percent_delta": 1.4833,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 10,
        "boosted_metrics": 8,
        "deboosted_metrics": 2,
        "better_metrics": 7,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.84,
          "after": 8.5752,
          "delta": 4.7352,
          "percent_delta": 1.2331,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.412,
          "after": 0.3839,
          "delta": -0.0281,
          "percent_delta": -0.0682,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 2,
        "last_10": 3,
        "season": 50
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.3347,
        "predicted_3B": 0.0009,
        "predicted_AB": 8.5752,
        "predicted_AVG": 0.2069,
        "predicted_BB": 0.6613,
        "predicted_H": 1.7746,
        "predicted_HBP": 0.703,
        "predicted_HR": 0.3683,
        "predicted_OBP": 0.2637,
        "predicted_R": 1.447,
        "predicted_RBI": 1.4711,
        "predicted_SLG": 0.375,
        "predicted_SO": 2.7858
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.3347,
          "after": 0.3347,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.5752,
          "after": 8.5752,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2075,
          "after": 0.2069,
          "delta": -0.0006,
          "percent_delta": -0.0029,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.6455,
          "after": 0.6613,
          "delta": 0.0158,
          "percent_delta": 0.0245,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.6896,
          "after": 1.7746,
          "delta": 0.085,
          "percent_delta": 0.0503,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.703,
          "after": 0.703,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.3505,
          "after": 0.3683,
          "delta": 0.0178,
          "percent_delta": 0.0508,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.283,
          "after": 0.2637,
          "delta": -0.0193,
          "percent_delta": -0.0682,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.3272,
          "after": 1.447,
          "delta": 0.1198,
          "percent_delta": 0.0903,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.3493,
          "after": 1.4711,
          "delta": 0.1218,
          "percent_delta": 0.0903,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3839,
          "after": 0.375,
          "delta": -0.0089,
          "percent_delta": -0.0232,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.8558,
          "after": 2.7858,
          "delta": -0.07,
          "percent_delta": -0.0245,
          "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": 1.3493,
          "after": 1.4711,
          "delta": 0.1218,
          "percent_delta": 0.0903,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 2.8558,
          "after": 2.7858,
          "delta": -0.07,
          "percent_delta": -0.0245,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 9 (raw=8.58), rates preserved: AVG=0.207 HR/AB=0.043",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.3347,
          "after": 0.0,
          "delta": -0.3347,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.5752,
          "after": 9.0,
          "delta": 0.4248,
          "percent_delta": 0.0495,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.6613,
          "after": 1.0,
          "delta": 0.3387,
          "percent_delta": 0.5122,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.7746,
          "after": 2.0,
          "delta": 0.2254,
          "percent_delta": 0.127,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.703,
          "after": 0.0,
          "delta": -0.703,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.3683,
          "after": 0.0,
          "delta": -0.3683,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.4711,
          "after": 2.0,
          "delta": 0.5289,
          "percent_delta": 0.3595,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.7858,
          "after": 3.0,
          "delta": 0.2142,
          "percent_delta": 0.0769,
          "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_RBI",
          "before": 1.4711,
          "after": 2.0,
          "delta": 0.5289,
          "percent_delta": 0.3595,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HBP",
          "before": 0.703,
          "after": 0.0,
          "delta": -0.703,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=35.0, weight=0.215, BvP AVG=0.200)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 2.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": 9.0,
          "after": 9.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": 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_RBI",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.7846,
        "bvp": 0.2154
      },
      "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": 9.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": 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": 9.0,
          "after": 9.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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.447,
          "after": 1.0,
          "delta": -0.447,
          "percent_delta": -0.3089,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "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_SO",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.447,
          "after": 1.0,
          "delta": -0.447,
          "percent_delta": -0.3089,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_AVG": 0.222,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SLG": 0.222,
        "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": 9.0,
          "after": 9.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2069,
          "after": 0.222,
          "delta": 0.0151,
          "percent_delta": 0.073,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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.2637,
          "after": 0.3,
          "delta": 0.0363,
          "percent_delta": 0.1377,
          "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_SLG",
          "before": 0.375,
          "after": 0.222,
          "delta": -0.153,
          "percent_delta": -0.408,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.2637,
          "after": 0.3,
          "delta": 0.0363,
          "percent_delta": 0.1377,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.375,
          "after": 0.222,
          "delta": -0.153,
          "percent_delta": -0.408,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 5.0,
          "delta": -4.0,
          "percent_delta": -0.4444,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.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": 2.0,
          "after": 0.0,
          "delta": -2.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": 3.0,
          "after": 0.0,
          "delta": -3.0,
          "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_AB",
          "before": 9.0,
          "after": 5.0,
          "delta": -4.0,
          "percent_delta": -0.4444,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.2069,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2637,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.375,
        "predicted_SO": 0.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.222,
          "after": 0.2069,
          "delta": -0.0151,
          "percent_delta": -0.0678,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.2637,
          "delta": -0.0363,
          "percent_delta": -0.1209,
          "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.222,
          "after": 0.375,
          "delta": 0.153,
          "percent_delta": 0.6893,
          "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.222,
          "after": 0.375,
          "delta": 0.153,
          "percent_delta": 0.6893,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3,
          "after": 0.2637,
          "delta": -0.0363,
          "percent_delta": -0.1209,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.17,
        "after": 0.0,
        "delta": -0.17,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.84,
        "after": 5.0,
        "delta": 1.16,
        "percent_delta": 0.3021,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.22,
        "after": 0.2069,
        "delta": -0.0131,
        "percent_delta": -0.0595,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.306,
        "after": 0.0,
        "delta": -0.306,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.82,
        "after": 0.0,
        "delta": -0.82,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.17,
        "after": 0.0,
        "delta": -0.17,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.286,
        "after": 0.2637,
        "delta": -0.0223,
        "percent_delta": -0.078,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.558,
        "after": 0.0,
        "delta": -0.558,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.61,
        "after": 0.0,
        "delta": -0.61,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.412,
        "after": 0.375,
        "delta": -0.037,
        "percent_delta": -0.0898,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.15,
        "after": 0.0,
        "delta": -1.15,
        "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.84,
        "after": 5.0,
        "delta": 1.16,
        "percent_delta": 0.3021,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.15,
        "after": 0.0,
        "delta": -1.15,
        "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.170-
predicted_3B0.000-
predicted_AB3.840-
predicted_AVG0.220-
predicted_BB0.306-
predicted_H0.820-
predicted_HR0.170-
predicted_OBP0.286-
predicted_R0.558-
predicted_RBI0.610-
predicted_SLG0.412-
predicted_SO1.150-
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.3350.165
predicted_3B0.0010.001
predicted_AB8.5754.735
predicted_AVG0.207-0.013
predicted_BB0.6450.339
predicted_H1.6900.870
predicted_HBP0.703-
predicted_HR0.3500.180
predicted_OBP0.283-0.003
predicted_R1.3270.769
predicted_RBI1.3490.739
predicted_SLG0.384-0.028
predicted_SO2.8561.706
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.3350.000
predicted_3B0.0010.000
predicted_AB8.5750.000
predicted_AVG0.207-0.001
predicted_BB0.6610.016
predicted_H1.7750.085
predicted_HBP0.7030.000
predicted_HR0.3680.018
predicted_OBP0.264-0.019
predicted_R1.4470.120
predicted_RBI1.4710.122
predicted_SLG0.375-0.009
predicted_SO2.786-0.070
4. ab_floor_and_scaling

AB rounded to 9 (raw=8.58), rates preserved: AVG=0.207 HR/AB=0.043

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB9.000-
BB1.000-
H2.000-
HBP0.000-
HR0.000-
RBI2.000-
SB0.000-
SO3.000-
5. bvp_blend

Sample-size BvP blend (BvP AB=35.0, weight=0.215, BvP AVG=0.200)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB9.0000.000
BB1.0000.000
H2.0000.000
HR0.0000.000
RBI2.0000.000
SO3.0000.000
6. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB9.0000.000
BB1.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI2.0000.000
SB0.0000.000
SF0.000-
SO3.0000.000
7. 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.335
predicted_3B0.000-0.001
predicted_AB9.0000.425
predicted_AVG0.2220.015
predicted_BB1.0000.339
predicted_H2.0000.225
predicted_HR0.000-0.368
predicted_OBP0.3000.036
predicted_R1.000-0.447
predicted_RBI2.0000.529
predicted_SLG0.222-0.153
predicted_SO3.0000.214
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.000-4.000
BB0.000-1.000
CS0.0000.000
H0.000-2.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R0.000-1.000
RBI0.000-2.000
SB0.0000.000
SF0.0000.000
SO0.000-3.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 206
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-19.0001.0000.0000.0001.0003.0005.0001.00013.0000.05260.25000.21050.05260.05260.15790.05260.6842
last_100.203-39.0001.0000.0000.0001.0003.0006.0001.00016.0000.02560.15560.10260.02560.02560.07690.02560.4103
season0.6050-791.000173.00035.0000.00031.000129.000115.00063.000237.0000.21870.29000.38050.21870.03920.16310.07960.2996
Weighted Prediction From Real Data
MetricValue
predicted_2B0.5440
predicted_3B0.0020
predicted_AB14.5940
predicted_AVG0.1915
predicted_BB1.0770
predicted_H2.7950
predicted_HBP0.7030
predicted_HR0.5800
predicted_OBP0.2793
predicted_R2.3050
predicted_RBI2.2890
predicted_SLG0.3482
predicted_SO5.0240
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17000.54400.3347model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB3.840014.59408.5752model_form_blend
predicted_AVG0.22000.19150.2075model_form_blend
predicted_BB0.30601.07700.6455model_form_blend
predicted_H0.82002.79501.6896model_form_blend
predicted_HBP-0.70300.7030form_only
predicted_HR0.17000.58000.3505model_form_blend
predicted_OBP0.28600.27930.2830model_form_blend
predicted_R0.55802.30501.3272model_form_blend
predicted_RBI0.61002.28901.3493model_form_blend
predicted_SLG0.41200.34820.3839model_form_blend
predicted_SO1.15005.02402.8558model_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 date206
Season rows before report date206
Report year2026
Profile rows used206
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
SO0
SF0
HBP0
season_avg0.219

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_RBI3
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB4
Hitting_battingOrder7
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed3B
gameID20260520_ATL@MIA
game_typefull
mlbID663586
playerID663586
playerNameAustin Riley
pos3B
startedTrue
startingPosition3B
teamATL
teamID2
game_date2026-05-20
sl_k_percent27.0
sl_bb_percent6.9
sl_woba0.29
sl_xwoba0.309
sl_xba0.224
sl_xslg0.416
sl_sweet_spot_percent30.5
sl_barrel_batted_rate9.9
sl_hard_hit_percent46.6
sl_exit_velocity_avg90.9
sl_launch_angle_avg17.9
sl_whiff_percent32.2
sl_swing_percent48.6
Dominic Smith (642086) · BATTER · DH · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 103
All-history rows before 20260521: 103
System season_avg: 0.3550
Data season_avg (2026 season-to-date): 0.3554
Diff (system - data): -0.0004
System opponent_avg: 0.2170

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1190.0000.000Hitting_2B0.1170.000-0.1170.000
predicted_3B0.0100.0000.000Hitting_3B0.0101.000-0.010-1.000
predicted_AB3.2873.0005.000Hitting_AB3.2234.000-0.223-1.000
predicted_AVG0.2880.0000.200Hitting_AVG0.3550.500-0.355-0.500
predicted_BB0.1191.0000.000Hitting_BB0.1260.0000.8741.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.7400.0001.000Hitting_H1.1462.000-1.146-2.000
predicted_HR0.1200.0000.000Hitting_HR0.1551.000-0.155-1.000
predicted_OBP0.3230.4000.200Hitting_OBP0.3830.5000.017-0.100
predicted_R0.5250.0001.000Hitting_R0.5152.000-0.515-2.000
predicted_RBI0.4900.0001.000Hitting_RBI0.6993.000-0.699-3.000
predicted_SLG0.4830.0000.200Hitting_SLG0.5421.750-0.542-1.750
predicted_SO0.4651.0001.000Hitting_SO0.4560.0000.5441.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics9
Boosted Metrics2
Deboosted Metrics7
Better Metrics1
Worse Metrics8
Biggest Boostpredicted_BB: 0.1190 -> 1.0000 (boost 0.8810, better)
Biggest Deboostpredicted_H: 0.7400 -> 0.0000 (deboost -0.7400, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend99081predicted_AB: 3.2870 -> 5.1816 (boost 1.8946, 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_snapshot63333predicted_RBI: 0.9688 -> 1.0563 (boost 0.0875, better)predicted_OBP: 0.3245 -> 0.3117 (deboost -0.0128, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling91809predicted_SO: 0.9198 -> 1.0000 (boost 0.0802, worse)predicted_H: 1.4945 -> 1.0000 (deboost -0.4945, worse)AB rounded to 5 (raw=5.18), rates preserved: AVG=0.288 HR/AB=0.047
5bvp_blend00000--Sample-size BvP blend (BvP AB=23.0, weight=0.174, BvP AVG=0.217)
6consistency_constraints11010predicted_R: 0.8532 -> 1.0000 (boost 0.1468, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context30303-predicted_SLG: 0.4814 -> 0.2000 (deboost -0.2814, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference62424predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 5.0000 -> 3.0000 (deboost -2.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final33030predicted_SLG: 0.2000 -> 0.4814 (boost 0.2814, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "642086",
  "player_name": "Dominic Smith",
  "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.119,
        "predicted_3B": 0.01,
        "predicted_AB": 3.287,
        "predicted_AVG": 0.288,
        "predicted_BB": 0.119,
        "predicted_H": 0.74,
        "predicted_HR": 0.12,
        "predicted_OBP": 0.323,
        "predicted_R": 0.525,
        "predicted_RBI": 0.49,
        "predicted_SLG": 0.483,
        "predicted_SO": 0.465
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1634,
        "predicted_3B": 0.0561,
        "predicted_AB": 5.1816,
        "predicted_AVG": 0.2944,
        "predicted_BB": 0.1707,
        "predicted_H": 1.4229,
        "predicted_HBP": 0.086,
        "predicted_HR": 0.2298,
        "predicted_OBP": 0.3245,
        "predicted_R": 0.7825,
        "predicted_RBI": 0.9688,
        "predicted_SLG": 0.4939,
        "predicted_SO": 0.9429
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.119,
          "after": 0.1634,
          "delta": 0.0444,
          "percent_delta": 0.3731,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.01,
          "after": 0.0561,
          "delta": 0.0461,
          "percent_delta": 4.61,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.287,
          "after": 5.1816,
          "delta": 1.8946,
          "percent_delta": 0.5764,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.288,
          "after": 0.2944,
          "delta": 0.0064,
          "percent_delta": 0.0222,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.119,
          "after": 0.1707,
          "delta": 0.0517,
          "percent_delta": 0.4345,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.74,
          "after": 1.4229,
          "delta": 0.6829,
          "percent_delta": 0.9228,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.12,
          "after": 0.2298,
          "delta": 0.1098,
          "percent_delta": 0.915,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.323,
          "after": 0.3245,
          "delta": 0.0015,
          "percent_delta": 0.0046,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.525,
          "after": 0.7825,
          "delta": 0.2575,
          "percent_delta": 0.4905,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.49,
          "after": 0.9688,
          "delta": 0.4788,
          "percent_delta": 0.9771,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.483,
          "after": 0.4939,
          "delta": 0.0109,
          "percent_delta": 0.0226,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.465,
          "after": 0.9429,
          "delta": 0.4779,
          "percent_delta": 1.0277,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 9,
        "deboosted_metrics": 0,
        "better_metrics": 8,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.287,
          "after": 5.1816,
          "delta": 1.8946,
          "percent_delta": 0.5764,
          "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": 3,
        "last_10": 5,
        "season": 37
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1634,
        "predicted_3B": 0.0561,
        "predicted_AB": 5.1816,
        "predicted_AVG": 0.2884,
        "predicted_BB": 0.1749,
        "predicted_H": 1.4945,
        "predicted_HBP": 0.086,
        "predicted_HR": 0.2415,
        "predicted_OBP": 0.3117,
        "predicted_R": 0.8532,
        "predicted_RBI": 1.0563,
        "predicted_SLG": 0.4814,
        "predicted_SO": 0.9198
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1634,
          "after": 0.1634,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0561,
          "after": 0.0561,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.1816,
          "after": 5.1816,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2944,
          "after": 0.2884,
          "delta": -0.006,
          "percent_delta": -0.0204,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1707,
          "after": 0.1749,
          "delta": 0.0042,
          "percent_delta": 0.0246,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.4229,
          "after": 1.4945,
          "delta": 0.0716,
          "percent_delta": 0.0503,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.086,
          "after": 0.086,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2298,
          "after": 0.2415,
          "delta": 0.0117,
          "percent_delta": 0.0509,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3245,
          "after": 0.3117,
          "delta": -0.0128,
          "percent_delta": -0.0394,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.7825,
          "after": 0.8532,
          "delta": 0.0707,
          "percent_delta": 0.0904,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.9688,
          "after": 1.0563,
          "delta": 0.0875,
          "percent_delta": 0.0903,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4939,
          "after": 0.4814,
          "delta": -0.0125,
          "percent_delta": -0.0253,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9429,
          "after": 0.9198,
          "delta": -0.0231,
          "percent_delta": -0.0245,
          "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.9688,
          "after": 1.0563,
          "delta": 0.0875,
          "percent_delta": 0.0903,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3245,
          "after": 0.3117,
          "delta": -0.0128,
          "percent_delta": -0.0394,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 5 (raw=5.18), rates preserved: AVG=0.288 HR/AB=0.047",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1634,
          "after": 0.0,
          "delta": -0.1634,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0561,
          "after": 0.0,
          "delta": -0.0561,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 5.1816,
          "after": 5.0,
          "delta": -0.1816,
          "percent_delta": -0.035,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1749,
          "after": 0.0,
          "delta": -0.1749,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.4945,
          "after": 1.0,
          "delta": -0.4945,
          "percent_delta": -0.3309,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.086,
          "after": 0.0,
          "delta": -0.086,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2415,
          "after": 0.0,
          "delta": -0.2415,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0563,
          "after": 1.0,
          "delta": -0.0563,
          "percent_delta": -0.0533,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9198,
          "after": 1.0,
          "delta": 0.0802,
          "percent_delta": 0.0872,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 1,
        "deboosted_metrics": 8,
        "better_metrics": 0,
        "worse_metrics": 9,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.9198,
          "after": 1.0,
          "delta": 0.0802,
          "percent_delta": 0.0872,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.4945,
          "after": 1.0,
          "delta": -0.4945,
          "percent_delta": -0.3309,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=23.0, weight=0.174, BvP AVG=0.217)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.8264,
        "bvp": 0.1736
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.8532,
          "after": 1.0,
          "delta": 0.1468,
          "percent_delta": 0.1721,
          "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.8532,
          "after": 1.0,
          "delta": 0.1468,
          "percent_delta": 0.1721,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.2,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.2,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2884,
          "after": 0.2,
          "delta": -0.0884,
          "percent_delta": -0.3065,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3117,
          "after": 0.2,
          "delta": -0.1117,
          "percent_delta": -0.3584,
          "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.4814,
          "after": 0.2,
          "delta": -0.2814,
          "percent_delta": -0.5845,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.4814,
          "after": 0.2,
          "delta": -0.2814,
          "percent_delta": -0.5845,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 3.0,
          "delta": -2.0,
          "percent_delta": -0.4,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "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": 5.0,
          "after": 3.0,
          "delta": -2.0,
          "percent_delta": -0.4,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2884,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_DH": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3117,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4814,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2,
          "after": 0.2884,
          "delta": 0.0884,
          "percent_delta": 0.4421,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2,
          "after": 0.3117,
          "delta": 0.1117,
          "percent_delta": 0.5583,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2,
          "after": 0.4814,
          "delta": 0.2814,
          "percent_delta": 1.4071,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.2,
          "after": 0.4814,
          "delta": 0.2814,
          "percent_delta": 1.4071,
          "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.119,
        "after": 0.0,
        "delta": -0.119,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.01,
        "after": 0.0,
        "delta": -0.01,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.287,
        "after": 3.0,
        "delta": -0.287,
        "percent_delta": -0.0873,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.288,
        "after": 0.2884,
        "delta": 0.0004,
        "percent_delta": 0.0014,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.119,
        "after": 1.0,
        "delta": 0.881,
        "percent_delta": 7.4034,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.74,
        "after": 0.0,
        "delta": -0.74,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.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.3117,
        "delta": -0.0113,
        "percent_delta": -0.035,
        "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.49,
        "after": 0.0,
        "delta": -0.49,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.483,
        "after": 0.4814,
        "delta": -0.0016,
        "percent_delta": -0.0033,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.465,
        "after": 1.0,
        "delta": 0.535,
        "percent_delta": 1.1505,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 2,
      "deboosted_metrics": 7,
      "better_metrics": 1,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.119,
        "after": 1.0,
        "delta": 0.881,
        "percent_delta": 7.4034,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.74,
        "after": 0.0,
        "delta": -0.74,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.119-
predicted_3B0.010-
predicted_AB3.287-
predicted_AVG0.288-
predicted_BB0.119-
predicted_H0.740-
predicted_HR0.120-
predicted_OBP0.323-
predicted_R0.525-
predicted_RBI0.490-
predicted_SLG0.483-
predicted_SO0.465-
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.044
predicted_3B0.0560.046
predicted_AB5.1821.895
predicted_AVG0.2940.006
predicted_BB0.1710.052
predicted_H1.4230.683
predicted_HBP0.086-
predicted_HR0.2300.110
predicted_OBP0.3250.002
predicted_R0.7820.257
predicted_RBI0.9690.479
predicted_SLG0.4940.011
predicted_SO0.9430.478
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.0560.000
predicted_AB5.1820.000
predicted_AVG0.288-0.006
predicted_BB0.1750.004
predicted_H1.4940.072
predicted_HBP0.0860.000
predicted_HR0.2410.012
predicted_OBP0.312-0.013
predicted_R0.8530.071
predicted_RBI1.0560.088
predicted_SLG0.481-0.013
predicted_SO0.920-0.023
4. ab_floor_and_scaling

AB rounded to 5 (raw=5.18), rates preserved: AVG=0.288 HR/AB=0.047

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

Sample-size BvP blend (BvP AB=23.0, weight=0.174, BvP AVG=0.217)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI1.0000.000
SO1.0000.000
6. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.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. 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.056
predicted_AB5.000-0.182
predicted_AVG0.200-0.088
predicted_BB0.000-0.175
predicted_H1.000-0.494
predicted_HR0.000-0.241
predicted_OBP0.200-0.112
predicted_R1.0000.147
predicted_RBI1.000-0.056
predicted_SLG0.200-0.281
predicted_SO1.0000.080
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-2.000
BB1.0001.000
CS0.0000.000
H0.000-1.000
HBP1.0001.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: 101
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.203-14.0002.0000.0001.0001.0003.0002.0000.0007.0000.14290.14290.50000.14290.07140.21430.00000.5000
last_100.205-31.0006.0000.0001.0001.0007.0002.0000.0007.0000.19350.19350.35480.19350.03230.22580.00000.2258
season0.6037-332.000118.00012.0001.00016.00071.00053.00012.00047.0000.35540.38240.54220.35540.04820.21390.03610.1416
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2230
predicted_3B0.1180
predicted_AB7.7230
predicted_AVG0.3029
predicted_BB0.2400
predicted_H2.3390
predicted_HBP0.0860
predicted_HR0.3770
predicted_OBP0.3266
predicted_R1.1280
predicted_RBI1.6110
predicted_SLG0.5086
predicted_SO1.5840
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.11900.22300.1634model_form_blend
predicted_3B0.01000.11800.0561model_form_blend
predicted_AB3.28707.72305.1816model_form_blend
predicted_AVG0.28800.30290.2944model_form_blend
predicted_BB0.11900.24000.1707model_form_blend
predicted_H0.74002.33901.4229model_form_blend
predicted_HBP-0.08600.0860form_only
predicted_HR0.12000.37700.2298model_form_blend
predicted_OBP0.32300.32660.3245model_form_blend
predicted_R0.52501.12800.7825model_form_blend
predicted_RBI0.49001.61100.9688model_form_blend
predicted_SLG0.48300.50860.4939model_form_blend
predicted_SO0.46501.58400.9429model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date103
Season rows before report date103
Report year2026
Profile rows used101
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
BB1
SO1
SF0
HBP1
season_avg0.355

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.5
Hitting_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R2
Hitting_RBI3
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB7
Hitting_battingOrder5
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedDH
gameID20260520_ATL@MIA
game_typefull
mlbID642086
playerID642086
playerNameDominic Smith
posDH
startedTrue
startingPositionDH
teamATL
teamID2
game_date2026-05-20
sl_k_percent15.7
sl_bb_percent3.9
sl_woba0.37
sl_xwoba0.378
sl_xba0.316
sl_xslg0.516
sl_sweet_spot_percent40.7
sl_barrel_batted_rate8.6
sl_hard_hit_percent42.0
sl_exit_velocity_avg89.9
sl_launch_angle_avg16.5
sl_whiff_percent19.7
sl_swing_percent55.6
Mike Yastrzemski (573262) · BATTER · LF · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 145
All-history rows before 20260521: 145
System season_avg: 0.2050
Data season_avg (2026 season-to-date): 0.2055
Diff (system - data): -0.0005
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.1320.0000.000Hitting_2B0.1310.000-0.1310.000
predicted_3B0.0140.0000.000Hitting_3B0.0140.000-0.0140.000
predicted_AB3.3124.0006.000Hitting_AB3.2904.0000.7100.000
predicted_AVG0.2430.5000.167Hitting_AVG0.2050.0000.2950.500
predicted_BB0.3470.0001.000Hitting_BB0.3450.000-0.3450.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.6802.0001.000Hitting_H0.6760.0001.3242.000
predicted_HR0.1000.0000.000Hitting_HR0.0410.000-0.0410.000
predicted_OBP0.3110.5000.286Hitting_OBP0.2880.0000.2120.500
predicted_R0.4720.0001.000Hitting_R0.4760.000-0.4760.000
predicted_RBI0.3800.0001.000Hitting_RBI0.2550.000-0.2550.000
predicted_SLG0.3900.5000.167Hitting_SLG0.2910.0000.2090.500
predicted_SO0.9311.0002.000Hitting_SO0.9240.0000.0761.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_H: 0.6800 -> 2.0000 (boost 1.3200, better)
Biggest Deboostpredicted_R: 0.4720 -> 0.0000 (deboost -0.4720, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend107364predicted_AB: 3.3120 -> 6.0528 (boost 2.7408, better)predicted_SLG: 0.3900 -> 0.3401 (deboost -0.0499, worse)Final model 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_snapshot52323predicted_R: 0.9641 -> 1.0512 (boost 0.0871, better)predicted_SLG: 0.3401 -> 0.3093 (deboost -0.0308, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling83526predicted_RBI: 0.5630 -> 1.0000 (boost 0.4370, better)predicted_2B: 0.2102 -> 0.0000 (deboost -0.2102, worse)AB rounded to 6 (raw=6.05), rates preserved: AVG=0.198 HR/AB=0.023
5bvp_blend00000--Sample-size BvP blend (BvP AB=18.0, weight=0.150, BvP AVG=0.222)
6consistency_constraints10101-predicted_R: 1.0512 -> 1.0000 (deboost -0.0512, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context30303-predicted_SLG: 0.3093 -> 0.1670 (deboost -0.1423, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference61524predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better)predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final33030predicted_SLG: 0.1670 -> 0.3093 (boost 0.1423, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "573262",
  "player_name": "Mike Yastrzemski",
  "position": "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.132,
        "predicted_3B": 0.014,
        "predicted_AB": 3.312,
        "predicted_AVG": 0.243,
        "predicted_BB": 0.347,
        "predicted_H": 0.68,
        "predicted_HR": 0.1,
        "predicted_OBP": 0.311,
        "predicted_R": 0.472,
        "predicted_RBI": 0.38,
        "predicted_SLG": 0.39,
        "predicted_SO": 0.931
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2102,
        "predicted_3B": 0.0218,
        "predicted_AB": 6.0528,
        "predicted_AVG": 0.2162,
        "predicted_BB": 0.7792,
        "predicted_H": 1.1417,
        "predicted_HBP": 0.065,
        "predicted_HR": 0.133,
        "predicted_OBP": 0.3,
        "predicted_R": 0.9641,
        "predicted_RBI": 0.5164,
        "predicted_SLG": 0.3401,
        "predicted_SO": 1.9886
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.132,
          "after": 0.2102,
          "delta": 0.0782,
          "percent_delta": 0.5924,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.014,
          "after": 0.0218,
          "delta": 0.0078,
          "percent_delta": 0.5571,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.312,
          "after": 6.0528,
          "delta": 2.7408,
          "percent_delta": 0.8275,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.243,
          "after": 0.2162,
          "delta": -0.0268,
          "percent_delta": -0.1103,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.347,
          "after": 0.7792,
          "delta": 0.4322,
          "percent_delta": 1.2455,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.68,
          "after": 1.1417,
          "delta": 0.4617,
          "percent_delta": 0.679,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1,
          "after": 0.133,
          "delta": 0.033,
          "percent_delta": 0.33,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.311,
          "after": 0.3,
          "delta": -0.011,
          "percent_delta": -0.0354,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.472,
          "after": 0.9641,
          "delta": 0.4921,
          "percent_delta": 1.0426,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.38,
          "after": 0.5164,
          "delta": 0.1364,
          "percent_delta": 0.3589,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.39,
          "after": 0.3401,
          "delta": -0.0499,
          "percent_delta": -0.1279,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.931,
          "after": 1.9886,
          "delta": 1.0576,
          "percent_delta": 1.136,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 10,
        "boosted_metrics": 7,
        "deboosted_metrics": 3,
        "better_metrics": 6,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.312,
          "after": 6.0528,
          "delta": 2.7408,
          "percent_delta": 0.8275,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.39,
          "after": 0.3401,
          "delta": -0.0499,
          "percent_delta": -0.1279,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 2,
        "last_10": 4,
        "season": 45
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2102,
        "predicted_3B": 0.0218,
        "predicted_AB": 6.0528,
        "predicted_AVG": 0.1981,
        "predicted_BB": 0.7983,
        "predicted_H": 1.1991,
        "predicted_HBP": 0.065,
        "predicted_HR": 0.1398,
        "predicted_OBP": 0.2915,
        "predicted_R": 1.0512,
        "predicted_RBI": 0.563,
        "predicted_SLG": 0.3093,
        "predicted_SO": 1.9399
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2102,
          "after": 0.2102,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0218,
          "after": 0.0218,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.0528,
          "after": 6.0528,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2162,
          "after": 0.1981,
          "delta": -0.0181,
          "percent_delta": -0.0837,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.7792,
          "after": 0.7983,
          "delta": 0.0191,
          "percent_delta": 0.0245,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.1417,
          "after": 1.1991,
          "delta": 0.0574,
          "percent_delta": 0.0503,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.065,
          "after": 0.065,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.133,
          "after": 0.1398,
          "delta": 0.0068,
          "percent_delta": 0.0511,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3,
          "after": 0.2915,
          "delta": -0.0085,
          "percent_delta": -0.0283,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.9641,
          "after": 1.0512,
          "delta": 0.0871,
          "percent_delta": 0.0903,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5164,
          "after": 0.563,
          "delta": 0.0466,
          "percent_delta": 0.0902,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3401,
          "after": 0.3093,
          "delta": -0.0308,
          "percent_delta": -0.0906,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.9886,
          "after": 1.9399,
          "delta": -0.0487,
          "percent_delta": -0.0245,
          "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_R",
          "before": 0.9641,
          "after": 1.0512,
          "delta": 0.0871,
          "percent_delta": 0.0903,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3401,
          "after": 0.3093,
          "delta": -0.0308,
          "percent_delta": -0.0906,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 6 (raw=6.05), rates preserved: AVG=0.198 HR/AB=0.023",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.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.2102,
          "after": 0.0,
          "delta": -0.2102,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0218,
          "after": 0.0,
          "delta": -0.0218,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.0528,
          "after": 6.0,
          "delta": -0.0528,
          "percent_delta": -0.0087,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.7983,
          "after": 1.0,
          "delta": 0.2017,
          "percent_delta": 0.2527,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.1991,
          "after": 1.0,
          "delta": -0.1991,
          "percent_delta": -0.166,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.065,
          "after": 0.0,
          "delta": -0.065,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1398,
          "after": 0.0,
          "delta": -0.1398,
          "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": 1.9399,
          "after": 2.0,
          "delta": 0.0601,
          "percent_delta": 0.031,
          "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.563,
          "after": 1.0,
          "delta": 0.437,
          "percent_delta": 0.7762,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.2102,
          "after": 0.0,
          "delta": -0.2102,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=18.0, weight=0.150, BvP AVG=0.222)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.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": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.85,
        "bvp": 0.15
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.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": 6.0,
          "after": 6.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": 1.0512,
          "after": 1.0,
          "delta": -0.0512,
          "percent_delta": -0.0487,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.0512,
          "after": 1.0,
          "delta": -0.0512,
          "percent_delta": -0.0487,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_AVG": 0.167,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.286,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.167,
        "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": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1981,
          "after": 0.167,
          "delta": -0.0311,
          "percent_delta": -0.157,
          "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.2915,
          "after": 0.286,
          "delta": -0.0055,
          "percent_delta": -0.0189,
          "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.3093,
          "after": 0.167,
          "delta": -0.1423,
          "percent_delta": -0.4601,
          "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.3093,
          "after": 0.167,
          "delta": -0.1423,
          "percent_delta": -0.4601,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 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": 6.0,
          "after": 4.0,
          "delta": -2.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 1,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 4.0,
          "delta": -2.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.1981,
        "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.2915,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3093,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.167,
          "after": 0.1981,
          "delta": 0.0311,
          "percent_delta": 0.1863,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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.286,
          "after": 0.2915,
          "delta": 0.0055,
          "percent_delta": 0.0194,
          "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.167,
          "after": 0.3093,
          "delta": 0.1423,
          "percent_delta": 0.8522,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.167,
          "after": 0.3093,
          "delta": 0.1423,
          "percent_delta": 0.8522,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.132,
        "after": 0.0,
        "delta": -0.132,
        "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.312,
        "after": 4.0,
        "delta": 0.688,
        "percent_delta": 0.2077,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.243,
        "after": 0.1981,
        "delta": -0.0449,
        "percent_delta": -0.1848,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.347,
        "after": 0.0,
        "delta": -0.347,
        "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.311,
        "after": 0.2915,
        "delta": -0.0195,
        "percent_delta": -0.0627,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.472,
        "after": 0.0,
        "delta": -0.472,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.38,
        "after": 0.0,
        "delta": -0.38,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.39,
        "after": 0.3093,
        "delta": -0.0807,
        "percent_delta": -0.2069,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.931,
        "after": 1.0,
        "delta": 0.069,
        "percent_delta": 0.0741,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 3,
      "deboosted_metrics": 8,
      "better_metrics": 2,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.68,
        "after": 2.0,
        "delta": 1.32,
        "percent_delta": 1.9412,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.472,
        "after": 0.0,
        "delta": -0.472,
        "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.132-
predicted_3B0.014-
predicted_AB3.312-
predicted_AVG0.243-
predicted_BB0.347-
predicted_H0.680-
predicted_HR0.100-
predicted_OBP0.311-
predicted_R0.472-
predicted_RBI0.380-
predicted_SLG0.390-
predicted_SO0.931-
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.2100.078
predicted_3B0.0220.008
predicted_AB6.0532.741
predicted_AVG0.216-0.027
predicted_BB0.7790.432
predicted_H1.1420.462
predicted_HBP0.065-
predicted_HR0.1330.033
predicted_OBP0.300-0.011
predicted_R0.9640.492
predicted_RBI0.5160.136
predicted_SLG0.340-0.050
predicted_SO1.9891.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.2100.000
predicted_3B0.0220.000
predicted_AB6.0530.000
predicted_AVG0.198-0.018
predicted_BB0.7980.019
predicted_H1.1990.057
predicted_HBP0.0650.000
predicted_HR0.1400.007
predicted_OBP0.291-0.009
predicted_R1.0510.087
predicted_RBI0.5630.047
predicted_SLG0.309-0.031
predicted_SO1.940-0.049
4. ab_floor_and_scaling

AB rounded to 6 (raw=6.05), rates preserved: AVG=0.198 HR/AB=0.023

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB6.000-
BB1.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO2.000-
5. 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
AB6.0000.000
BB1.0000.000
H1.0000.000
HR0.0000.000
RBI1.0000.000
SO2.0000.000
6. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB6.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. 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.210
predicted_3B0.000-0.022
predicted_AB6.000-0.053
predicted_AVG0.167-0.031
predicted_BB1.0000.202
predicted_H1.000-0.199
predicted_HR0.000-0.140
predicted_OBP0.286-0.006
predicted_R1.000-0.051
predicted_RBI1.0000.437
predicted_SLG0.167-0.142
predicted_SO2.0000.060
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.000-2.000
BB0.000-1.000
CS0.0000.000
H2.0001.000
HBP0.0000.000
HR0.0000.000
PA4.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: 144
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-16.0000.0000.0000.0000.0000.0004.0004.00012.0000.00000.20000.00000.00000.00000.00000.25000.7500
last_100.204-28.0004.0000.0000.0002.0002.0008.0009.00015.0000.14290.35140.35710.14290.07140.07140.32140.5357
season0.6045-477.00098.00019.0002.0006.00037.00068.00050.000134.0000.20550.28630.29140.20540.01260.07760.10480.2809
Weighted Prediction From Real Data
MetricValue
predicted_2B0.3120
predicted_3B0.0320
predicted_AB9.6220
predicted_AVG0.1812
predicted_BB1.3420
predicted_H1.7430
predicted_HBP0.0650
predicted_HR0.1760
predicted_OBP0.2857
predicted_R1.6050
predicted_RBI0.6940
predicted_SLG0.2751
predicted_SO3.3660
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.13200.31200.2102model_form_blend
predicted_3B0.01400.03200.0218model_form_blend
predicted_AB3.31209.62206.0528model_form_blend
predicted_AVG0.24300.18120.2162model_form_blend
predicted_BB0.34701.34200.7792model_form_blend
predicted_H0.68001.74301.1417model_form_blend
predicted_HBP-0.06500.0650form_only
predicted_HR0.10000.17600.1330model_form_blend
predicted_OBP0.31100.28570.3000model_form_blend
predicted_R0.47201.60500.9641model_form_blend
predicted_RBI0.38000.69400.5164model_form_blend
predicted_SLG0.39000.27510.3401model_form_blend
predicted_SO0.93103.36601.9886model_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 date145
Season rows before report date145
Report year2026
Profile rows used144
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

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

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_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
allPositionsPlayedLF
gameID20260520_ATL@MIA
game_typefull
mlbID573262
playerID573262
playerNameMike Yastrzemski
posLF
startedTrue
startingPositionLF
teamATL
teamID2
game_date2026-05-20
sl_k_percent25.7
sl_bb_percent8.3
sl_woba0.288
sl_xwoba0.273
sl_xba0.22
sl_xslg0.307
sl_sweet_spot_percent28.0
sl_barrel_batted_rate4.3
sl_hard_hit_percent36.6
sl_exit_velocity_avg89.9
sl_launch_angle_avg15.6
sl_whiff_percent24.3
sl_swing_percent43.7
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 20260521: 26
All-history rows before 20260521: 26
System season_avg: 0.0910
Data season_avg (2026 season-to-date): 0.0909
Diff (system - data): 0.0001
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.0000.0000.000Hitting_2B0.0000.0000.0000.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.3852.0006.000Hitting_AB3.3854.000-1.385-2.000
predicted_AVG0.2100.5000.167Hitting_AVG0.0910.2500.4090.250
predicted_BB0.4622.0001.000Hitting_BB0.4621.0001.5381.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.6101.0001.000Hitting_H0.3081.0000.6920.000
predicted_HR0.0700.0000.000Hitting_HR0.0000.0000.0000.000
predicted_OBP0.2630.7500.286Hitting_OBP0.2000.4000.5500.350
predicted_R0.3461.0001.000Hitting_R0.3461.0000.6540.000
predicted_RBI0.3201.0001.000Hitting_RBI0.1921.0000.8080.000
predicted_SLG0.2860.5000.167Hitting_SLG0.0910.2500.4090.250
predicted_SO0.6540.0001.000Hitting_SO0.6540.000-0.6540.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics9
Boosted Metrics4
Deboosted Metrics5
Better Metrics5
Worse Metrics4
Biggest Boostpredicted_BB: 0.4620 -> 2.0000 (boost 1.5380, better)
Biggest Deboostpredicted_AB: 3.3850 -> 2.0000 (deboost -1.3850, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend96354predicted_AB: 3.3850 -> 6.2116 (boost 2.8266, better)predicted_SLG: 0.2860 -> 0.2438 (deboost -0.0422, worse)Final model 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_snapshot53232predicted_R: 0.7017 -> 0.7651 (boost 0.0634, better)predicted_SLG: 0.2438 -> 0.2076 (deboost -0.0362, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling52332predicted_RBI: 0.6204 -> 1.0000 (boost 0.3796, better)predicted_AB: 6.2116 -> 6.0000 (deboost -0.2116, worse)AB rounded to 6 (raw=6.21), rates preserved: AVG=0.161 HR/AB=0.013
5bvp_blend00000--Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.083)
6consistency_constraints11010predicted_R: 0.7651 -> 1.0000 (boost 0.2349, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context32121predicted_OBP: 0.2637 -> 0.2860 (boost 0.0223, better)predicted_SLG: 0.2076 -> 0.1670 (deboost -0.0406, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference31221predicted_BB: 1.0000 -> 2.0000 (boost 1.0000, better)predicted_AB: 6.0000 -> 2.0000 (deboost -4.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final31212predicted_SLG: 0.1670 -> 0.2076 (boost 0.0406, better)predicted_OBP: 0.2860 -> 0.2637 (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": "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.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.385,
        "predicted_AVG": 0.21,
        "predicted_BB": 0.462,
        "predicted_H": 0.61,
        "predicted_HR": 0.07,
        "predicted_OBP": 0.263,
        "predicted_R": 0.346,
        "predicted_RBI": 0.32,
        "predicted_SLG": 0.286,
        "predicted_SO": 0.654
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0467,
        "predicted_3B": 0.0038,
        "predicted_AB": 6.2116,
        "predicted_AVG": 0.183,
        "predicted_BB": 0.8472,
        "predicted_H": 0.9508,
        "predicted_HBP": 0.022,
        "predicted_HR": 0.075,
        "predicted_OBP": 0.2558,
        "predicted_R": 0.7017,
        "predicted_RBI": 0.569,
        "predicted_SLG": 0.2438,
        "predicted_SO": 1.1964
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0467,
          "delta": 0.0467,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0038,
          "delta": 0.0038,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.385,
          "after": 6.2116,
          "delta": 2.8266,
          "percent_delta": 0.835,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.21,
          "after": 0.183,
          "delta": -0.027,
          "percent_delta": -0.1286,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.462,
          "after": 0.8472,
          "delta": 0.3852,
          "percent_delta": 0.8338,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.61,
          "after": 0.9508,
          "delta": 0.3408,
          "percent_delta": 0.5587,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.07,
          "after": 0.075,
          "delta": 0.005,
          "percent_delta": 0.0714,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.263,
          "after": 0.2558,
          "delta": -0.0072,
          "percent_delta": -0.0274,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.346,
          "after": 0.7017,
          "delta": 0.3557,
          "percent_delta": 1.028,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.32,
          "after": 0.569,
          "delta": 0.249,
          "percent_delta": 0.7781,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.286,
          "after": 0.2438,
          "delta": -0.0422,
          "percent_delta": -0.1476,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.654,
          "after": 1.1964,
          "delta": 0.5424,
          "percent_delta": 0.8294,
          "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": 3.385,
          "after": 6.2116,
          "delta": 2.8266,
          "percent_delta": 0.835,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.286,
          "after": 0.2438,
          "delta": -0.0422,
          "percent_delta": -0.1476,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 1,
        "last_10": 3,
        "season": 7
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0467,
        "predicted_3B": 0.0038,
        "predicted_AB": 6.2116,
        "predicted_AVG": 0.1608,
        "predicted_BB": 0.868,
        "predicted_H": 0.9986,
        "predicted_HBP": 0.022,
        "predicted_HR": 0.0788,
        "predicted_OBP": 0.2637,
        "predicted_R": 0.7651,
        "predicted_RBI": 0.6204,
        "predicted_SLG": 0.2076,
        "predicted_SO": 1.1671
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0467,
          "after": 0.0467,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0038,
          "after": 0.0038,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.2116,
          "after": 6.2116,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.183,
          "after": 0.1608,
          "delta": -0.0222,
          "percent_delta": -0.1213,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.8472,
          "after": 0.868,
          "delta": 0.0208,
          "percent_delta": 0.0246,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9508,
          "after": 0.9986,
          "delta": 0.0478,
          "percent_delta": 0.0503,
          "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.075,
          "after": 0.0788,
          "delta": 0.0038,
          "percent_delta": 0.0507,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2558,
          "after": 0.2637,
          "delta": 0.0079,
          "percent_delta": 0.0309,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.7017,
          "after": 0.7651,
          "delta": 0.0634,
          "percent_delta": 0.0904,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.569,
          "after": 0.6204,
          "delta": 0.0514,
          "percent_delta": 0.0903,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2438,
          "after": 0.2076,
          "delta": -0.0362,
          "percent_delta": -0.1485,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1964,
          "after": 1.1671,
          "delta": -0.0293,
          "percent_delta": -0.0245,
          "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_R",
          "before": 0.7017,
          "after": 0.7651,
          "delta": 0.0634,
          "percent_delta": 0.0904,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.2438,
          "after": 0.2076,
          "delta": -0.0362,
          "percent_delta": -0.1485,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 6 (raw=6.21), rates preserved: AVG=0.161 HR/AB=0.013",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.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.0467,
          "after": 0.0,
          "delta": -0.0467,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0038,
          "after": 0.0,
          "delta": -0.0038,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.2116,
          "after": 6.0,
          "delta": -0.2116,
          "percent_delta": -0.0341,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.868,
          "after": 1.0,
          "delta": 0.132,
          "percent_delta": 0.1521,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9986,
          "after": 1.0,
          "delta": 0.0014,
          "percent_delta": 0.0014,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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.0788,
          "after": 0.0,
          "delta": -0.0788,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6204,
          "after": 1.0,
          "delta": 0.3796,
          "percent_delta": 0.6119,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1671,
          "after": 1.0,
          "delta": -0.1671,
          "percent_delta": -0.1432,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.6204,
          "after": 1.0,
          "delta": 0.3796,
          "percent_delta": 0.6119,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 6.2116,
          "after": 6.0,
          "delta": -0.2116,
          "percent_delta": -0.0341,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.083)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.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": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.8857,
        "bvp": 0.1143
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.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": 6.0,
          "after": 6.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.7651,
          "after": 1.0,
          "delta": 0.2349,
          "percent_delta": 0.307,
          "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.7651,
          "after": 1.0,
          "delta": 0.2349,
          "percent_delta": 0.307,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_AVG": 0.167,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.286,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.167,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1608,
          "after": 0.167,
          "delta": 0.0062,
          "percent_delta": 0.0386,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2637,
          "after": 0.286,
          "delta": 0.0223,
          "percent_delta": 0.0846,
          "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.2076,
          "after": 0.167,
          "delta": -0.0406,
          "percent_delta": -0.1956,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.2637,
          "after": 0.286,
          "delta": 0.0223,
          "percent_delta": 0.0846,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.2076,
          "after": 0.167,
          "delta": -0.0406,
          "percent_delta": -0.1956,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 2.0,
        "predicted_BB": 2.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": 6.0,
          "after": 2.0,
          "delta": -4.0,
          "percent_delta": -0.6667,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 2.0,
          "delta": -4.0,
          "percent_delta": -0.6667,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 2.0,
        "predicted_AVG": 0.1608,
        "predicted_BB": 2.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2637,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2076,
        "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.167,
          "after": 0.1608,
          "delta": -0.0062,
          "percent_delta": -0.0373,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.286,
          "after": 0.2637,
          "delta": -0.0223,
          "percent_delta": -0.0781,
          "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.167,
          "after": 0.2076,
          "delta": 0.0406,
          "percent_delta": 0.2429,
          "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.167,
          "after": 0.2076,
          "delta": 0.0406,
          "percent_delta": 0.2429,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.286,
          "after": 0.2637,
          "delta": -0.0223,
          "percent_delta": -0.0781,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.385,
        "after": 2.0,
        "delta": -1.385,
        "percent_delta": -0.4092,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.21,
        "after": 0.1608,
        "delta": -0.0492,
        "percent_delta": -0.2343,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.462,
        "after": 2.0,
        "delta": 1.538,
        "percent_delta": 3.329,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.61,
        "after": 1.0,
        "delta": 0.39,
        "percent_delta": 0.6393,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.07,
        "after": 0.0,
        "delta": -0.07,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.263,
        "after": 0.2637,
        "delta": 0.0007,
        "percent_delta": 0.0027,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.346,
        "after": 1.0,
        "delta": 0.654,
        "percent_delta": 1.8902,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.32,
        "after": 1.0,
        "delta": 0.68,
        "percent_delta": 2.125,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.286,
        "after": 0.2076,
        "delta": -0.0784,
        "percent_delta": -0.2741,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.654,
        "after": 0.0,
        "delta": -0.654,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 4,
      "deboosted_metrics": 5,
      "better_metrics": 5,
      "worse_metrics": 4,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.462,
        "after": 2.0,
        "delta": 1.538,
        "percent_delta": 3.329,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 3.385,
        "after": 2.0,
        "delta": -1.385,
        "percent_delta": -0.4092,
        "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.000-
predicted_3B0.000-
predicted_AB3.385-
predicted_AVG0.210-
predicted_BB0.462-
predicted_H0.610-
predicted_HR0.070-
predicted_OBP0.263-
predicted_R0.346-
predicted_RBI0.320-
predicted_SLG0.286-
predicted_SO0.654-
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.0470.047
predicted_3B0.0040.004
predicted_AB6.2122.827
predicted_AVG0.183-0.027
predicted_BB0.8470.385
predicted_H0.9510.341
predicted_HBP0.022-
predicted_HR0.0750.005
predicted_OBP0.256-0.007
predicted_R0.7020.356
predicted_RBI0.5690.249
predicted_SLG0.244-0.042
predicted_SO1.1960.542
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.0470.000
predicted_3B0.0040.000
predicted_AB6.2120.000
predicted_AVG0.161-0.022
predicted_BB0.8680.021
predicted_H0.9990.048
predicted_HBP0.0220.000
predicted_HR0.0790.004
predicted_OBP0.2640.008
predicted_R0.7650.063
predicted_RBI0.6200.051
predicted_SLG0.208-0.036
predicted_SO1.167-0.029
4. ab_floor_and_scaling

AB rounded to 6 (raw=6.21), rates preserved: AVG=0.161 HR/AB=0.013

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB6.000-
BB1.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
5. 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
AB6.0000.000
BB1.0000.000
H1.0000.000
HR0.0000.000
RBI1.0000.000
SO1.0000.000
6. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB6.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. 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.047
predicted_3B0.000-0.004
predicted_AB6.000-0.212
predicted_AVG0.1670.006
predicted_BB1.0000.132
predicted_H1.0000.001
predicted_HR0.000-0.079
predicted_OBP0.2860.022
predicted_R1.0000.235
predicted_RBI1.0000.380
predicted_SLG0.167-0.041
predicted_SO1.000-0.167
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB2.000-4.000
BB2.0001.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
SO0.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 26
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.201-20.0005.0000.0000.0000.0005.0005.0005.0000.0000.25000.40000.25000.25000.00000.25000.25000.0000
last_100.203-34.0005.0000.0000.0000.0005.0005.0008.0007.0000.14710.30950.14710.14710.00000.14710.23530.2059
season0.607-88.0008.0000.0000.0000.0005.0009.00012.00017.0000.09090.20000.09090.09090.00000.05680.13640.1932
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1220
predicted_3B0.0100
predicted_AB10.7750
predicted_AVG0.1393
predicted_BB1.4690
predicted_H1.5010
predicted_HBP0.0220
predicted_HR0.0830
predicted_OBP0.2443
predicted_R1.2760
predicted_RBI0.9710
predicted_SLG0.1757
predicted_SO2.0720
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.00000.12200.0467model_form_blend
predicted_3B0.00000.01000.0038model_form_blend
predicted_AB3.385010.77506.2116model_form_blend
predicted_AVG0.21000.13930.1830model_form_blend
predicted_BB0.46201.46900.8472model_form_blend
predicted_H0.61001.50100.9508model_form_blend
predicted_HBP-0.02200.0220form_only
predicted_HR0.07000.08300.0750model_form_blend
predicted_OBP0.26300.24430.2558model_form_blend
predicted_R0.34601.27600.7017model_form_blend
predicted_RBI0.32000.97100.5690model_form_blend
predicted_SLG0.28600.17570.2438model_form_blend
predicted_SO0.65402.07201.1964model_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 date26
Season rows before report date26
Report year2026
Profile rows used26
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
AB2
H1
2B0
3B0
HR0
R1
RBI1
BB2
SO0
SF0
HBP0
season_avg0.091

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_BB1
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI1
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
allPositionsPlayedSS
gameID20260519_ATL@MIA
game_typefull
mlbID673490
playerID673490
playerNameHa-Seong Kim
posSS
startedTrue
startingPositionSS
teamATL
teamID2
game_date2026-05-19
game_pk823865.0
sl_k_percent19.2
sl_bb_percent11.5
sl_woba0.151
sl_xwoba0.225
sl_xba0.171
sl_xslg0.191
sl_sweet_spot_percent5.6
sl_barrel_batted_rate0.0
sl_hard_hit_percent33.3
sl_exit_velocity_avg85.7
sl_launch_angle_avg10.9
sl_whiff_percent14.6
sl_swing_percent41.8
at_bat_number81.0
ab_pitcher669199.0
ab_pitcher_nameBachar, Lake
ab_home_teamMIA
ab_away_teamATL
ab_game_typeR
ab_standR
ab_p_throwsR
ab_inning9.0
ab_inning_topbotTop
ab_outs_when_up2.0
ab_on_1b_start644433.0
ab_on_2b_start663586.0
ab_balls_start0.0
ab_strikes_start0.0
ab_home_score_start4.0
ab_away_score_start7.0
ab_bat_score_start7.0
ab_fld_score_start4.0
ab_eventsingle
ab_event_descriptionHa-Seong Kim singles on a line drive to center fielder Esteury Ruiz. Austin Riley scores. Chadwick Tromp to 3rd.
ab_event_typeX
ab_bb_typeline_drive
ab_hit_location8.0
ab_pitch_type_lastSL
ab_pitch_name_lastSlider
ab_zone_last9.0
ab_launch_speed_last96.9
ab_launch_angle_last11.0
ab_hit_distance_last232.0
ab_estimated_ba_last0.883
ab_estimated_woba_last0.838
ab_estimated_slg_last1.031
ab_woba_value0.9
ab_woba_denom1.0
ab_babip_value1.0
ab_iso_value0.0
ab_balls_end0.0
ab_strikes_end0.0
ab_home_score_end4.0
ab_away_score_end8.0
ab_bat_score_end8.0
ab_fld_score_end4.0
ab_pitch_count1.0
ab_release_speed_avg91.1
ab_release_spin_rate_avg2672.0
ab_effective_speed_avg90.7
ab_launch_speed_avg96.9
ab_launch_angle_avg11.0
ab_delta_run_exp_avg0.542
ab_delta_home_win_exp_avg-0.021
ab_delta_pitcher_run_exp_avg-0.542
ab_bat_speed_avg75.1
ab_swing_length_avg7.2
ab_launch_speed_max96.9
ab_hit_distance_sc_max232.0
ab_release_speed_max91.1
ab_release_spin_rate_max2672.0
ab_release_speed_min91.1
ab_release_spin_rate_min2672.0
ab_delta_run_exp_sum0.542
ab_delta_home_win_exp_sum-0.021
ab_delta_pitcher_run_exp_sum-0.542
ab_result_is_hitTrue
ab_result_is_walkFalse
ab_result_is_strikeoutFalse
ab_result_is_hbpFalse
Chadwick Tromp (644433) · BATTER · C · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 1
All-history rows before 20260521: 1
System season_avg: 1.0000
Data season_avg (2026 season-to-date): 1.0000
Diff (system - data): 0.0000
System opponent_avg: 1.0000

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.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.5004.0003.000Hitting_AB1.0001.0003.0003.000
predicted_AVG0.3000.5000.333Hitting_AVG1.0001.000-0.500-0.500
predicted_BB0.0000.0000.000Hitting_BB0.0000.0000.0000.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.1602.0001.000Hitting_H1.0001.0001.0001.000
predicted_HR0.0300.0000.000Hitting_HR0.0000.0000.0000.000
predicted_OBP0.3060.5000.333Hitting_OBP1.0001.000-0.500-0.500
predicted_R0.0001.0000.000Hitting_R0.0000.0001.0001.000
predicted_RBI0.1201.0000.000Hitting_RBI0.0000.0001.0001.000
predicted_SLG0.4040.5000.333Hitting_SLG1.0001.000-0.500-0.500
predicted_SO0.0001.0001.000Hitting_SO0.0000.0001.0001.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectboosted
Changed Metrics8
Boosted Metrics5
Deboosted Metrics3
Better Metrics4
Worse Metrics4
Biggest Boostpredicted_H: 0.1600 -> 2.0000 (boost 1.8400, better)
Biggest Deboostpredicted_SLG: 0.4040 -> 0.1843 (deboost -0.2197, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend66051predicted_AB: 2.5000 -> 2.7135 (boost 0.2135, 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.4078 -> 0.1843 (deboost -0.2235, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling42213predicted_SO: 0.1314 -> 1.0000 (boost 0.8686, worse)predicted_H: 0.3220 -> 0.0000 (deboost -0.3220, worse)AB rounded to 3 (raw=2.71), rates preserved: AVG=0.119 HR/AB=0.018
5consistency_constraints21111predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_R: 0.0854 -> 0.0000 (deboost -0.0854, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context33030predicted_AVG: 0.1187 -> 0.3330 (boost 0.2143, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference44040predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
8current_json_final30303-predicted_AVG: 0.3330 -> 0.1187 (deboost -0.2143, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "644433",
  "player_name": "Chadwick Tromp",
  "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.0,
        "predicted_3B": 0.0,
        "predicted_AB": 2.5,
        "predicted_AVG": 0.3,
        "predicted_BB": 0.0,
        "predicted_H": 0.16,
        "predicted_HR": 0.03,
        "predicted_OBP": 0.306,
        "predicted_R": 0.0,
        "predicted_RBI": 0.12,
        "predicted_SLG": 0.404,
        "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": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0301,
        "predicted_3B": 0.0023,
        "predicted_AB": 2.7135,
        "predicted_AVG": 0.2958,
        "predicted_BB": 0.0479,
        "predicted_H": 0.3066,
        "predicted_HBP": 0.032,
        "predicted_HR": 0.0455,
        "predicted_OBP": 0.3111,
        "predicted_R": 0.0783,
        "predicted_RBI": 0.1804,
        "predicted_SLG": 0.4078,
        "predicted_SO": 0.1347
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0301,
          "delta": 0.0301,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0023,
          "delta": 0.0023,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.5,
          "after": 2.7135,
          "delta": 0.2135,
          "percent_delta": 0.0854,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3,
          "after": 0.2958,
          "delta": -0.0042,
          "percent_delta": -0.014,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0479,
          "delta": 0.0479,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.16,
          "after": 0.3066,
          "delta": 0.1466,
          "percent_delta": 0.9162,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.03,
          "after": 0.0455,
          "delta": 0.0155,
          "percent_delta": 0.5167,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.306,
          "after": 0.3111,
          "delta": 0.0051,
          "percent_delta": 0.0167,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0783,
          "delta": 0.0783,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.12,
          "after": 0.1804,
          "delta": 0.0604,
          "percent_delta": 0.5033,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.404,
          "after": 0.4078,
          "delta": 0.0038,
          "percent_delta": 0.0094,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.1347,
          "delta": 0.1347,
          "percent_delta": null,
          "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_AB",
          "before": 2.5,
          "after": 2.7135,
          "delta": 0.2135,
          "percent_delta": 0.0854,
          "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": 1,
        "last_10": 1,
        "season": 1
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0301,
        "predicted_3B": 0.0023,
        "predicted_AB": 2.7135,
        "predicted_AVG": 0.1187,
        "predicted_BB": 0.0491,
        "predicted_H": 0.322,
        "predicted_HBP": 0.032,
        "predicted_HR": 0.0478,
        "predicted_OBP": 0.1343,
        "predicted_R": 0.0854,
        "predicted_RBI": 0.1967,
        "predicted_SLG": 0.1843,
        "predicted_SO": 0.1314
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0301,
          "after": 0.0301,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0023,
          "after": 0.0023,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.7135,
          "after": 2.7135,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2958,
          "after": 0.1187,
          "delta": -0.1771,
          "percent_delta": -0.5987,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0479,
          "after": 0.0491,
          "delta": 0.0012,
          "percent_delta": 0.0251,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.3066,
          "after": 0.322,
          "delta": 0.0154,
          "percent_delta": 0.0502,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.032,
          "after": 0.032,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0455,
          "after": 0.0478,
          "delta": 0.0023,
          "percent_delta": 0.0505,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3111,
          "after": 0.1343,
          "delta": -0.1768,
          "percent_delta": -0.5683,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0783,
          "after": 0.0854,
          "delta": 0.0071,
          "percent_delta": 0.0907,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1804,
          "after": 0.1967,
          "delta": 0.0163,
          "percent_delta": 0.0904,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4078,
          "after": 0.1843,
          "delta": -0.2235,
          "percent_delta": -0.5481,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.1347,
          "after": 0.1314,
          "delta": -0.0033,
          "percent_delta": -0.0245,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.4078,
          "after": 0.1843,
          "delta": -0.2235,
          "percent_delta": -0.5481,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.71), rates preserved: AVG=0.119 HR/AB=0.018",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0301,
          "after": 0.0,
          "delta": -0.0301,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0023,
          "after": 0.0,
          "delta": -0.0023,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.7135,
          "after": 3.0,
          "delta": 0.2865,
          "percent_delta": 0.1056,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0491,
          "after": 0.0,
          "delta": -0.0491,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.322,
          "after": 0.0,
          "delta": -0.322,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.032,
          "after": 0.0,
          "delta": -0.032,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0478,
          "after": 0.0,
          "delta": -0.0478,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1967,
          "after": 0.0,
          "delta": -0.1967,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.1314,
          "after": 1.0,
          "delta": 0.8686,
          "percent_delta": 6.6104,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.1314,
          "after": 1.0,
          "delta": 0.8686,
          "percent_delta": 6.6104,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.322,
          "after": 0.0,
          "delta": -0.322,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0854,
          "after": 0.0,
          "delta": -0.0854,
          "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.0854,
          "after": 0.0,
          "delta": -0.0854,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.333,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.333,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.333,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1187,
          "after": 0.333,
          "delta": 0.2143,
          "percent_delta": 1.8054,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.1343,
          "after": 0.333,
          "delta": 0.1987,
          "percent_delta": 1.4795,
          "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.1843,
          "after": 0.333,
          "delta": 0.1487,
          "percent_delta": 0.8068,
          "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.1187,
          "after": 0.333,
          "delta": 0.2143,
          "percent_delta": 1.8054,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.1187,
        "predicted_BB": 0.0,
        "predicted_C": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.1343,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.1843,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.333,
          "after": 0.1187,
          "delta": -0.2143,
          "percent_delta": -0.6436,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.333,
          "after": 0.1343,
          "delta": -0.1987,
          "percent_delta": -0.5966,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.333,
          "after": 0.1843,
          "delta": -0.1487,
          "percent_delta": -0.4465,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.333,
          "after": 0.1187,
          "delta": -0.2143,
          "percent_delta": -0.6436,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.5,
        "after": 4.0,
        "delta": 1.5,
        "percent_delta": 0.6,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.3,
        "after": 0.1187,
        "delta": -0.1813,
        "percent_delta": -0.6043,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 0.16,
        "after": 2.0,
        "delta": 1.84,
        "percent_delta": 11.5,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.03,
        "after": 0.0,
        "delta": -0.03,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_OBP",
        "before": 0.306,
        "after": 0.1343,
        "delta": -0.1717,
        "percent_delta": -0.5611,
        "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.12,
        "after": 1.0,
        "delta": 0.88,
        "percent_delta": 7.3333,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.404,
        "after": 0.1843,
        "delta": -0.2197,
        "percent_delta": -0.5438,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 8,
      "boosted_metrics": 5,
      "deboosted_metrics": 3,
      "better_metrics": 4,
      "worse_metrics": 4,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.16,
        "after": 2.0,
        "delta": 1.84,
        "percent_delta": 11.5,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SLG",
        "before": 0.404,
        "after": 0.1843,
        "delta": -0.2197,
        "percent_delta": -0.5438,
        "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.000-
predicted_3B0.000-
predicted_AB2.500-
predicted_AVG0.300-
predicted_BB0.000-
predicted_H0.160-
predicted_HR0.030-
predicted_OBP0.306-
predicted_R0.000-
predicted_RBI0.120-
predicted_SLG0.404-
predicted_SO0.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.0300.030
predicted_3B0.0020.002
predicted_AB2.7130.213
predicted_AVG0.296-0.004
predicted_BB0.0480.048
predicted_H0.3070.147
predicted_HBP0.032-
predicted_HR0.0450.015
predicted_OBP0.3110.005
predicted_R0.0780.078
predicted_RBI0.1800.060
predicted_SLG0.4080.004
predicted_SO0.1350.135
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.0300.000
predicted_3B0.0020.000
predicted_AB2.7130.000
predicted_AVG0.119-0.177
predicted_BB0.0490.001
predicted_H0.3220.015
predicted_HBP0.0320.000
predicted_HR0.0480.002
predicted_OBP0.134-0.177
predicted_R0.0850.007
predicted_RBI0.1970.016
predicted_SLG0.184-0.224
predicted_SO0.131-0.003
4. ab_floor_and_scaling

AB rounded to 3 (raw=2.71), rates preserved: AVG=0.119 HR/AB=0.018

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H0.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
5. 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
6. 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.030
predicted_3B0.000-0.002
predicted_AB3.0000.287
predicted_AVG0.3330.214
predicted_BB0.000-0.049
predicted_H1.0000.678
predicted_HR0.000-0.048
predicted_OBP0.3330.199
predicted_R0.000-0.085
predicted_RBI0.000-0.197
predicted_SLG0.3330.149
predicted_SO1.0000.869
7. 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
RBI1.0001.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 1
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.201-1.0001.0000.0000.0000.0000.0000.0000.0000.0001.00001.00001.00001.00000.00000.00000.00000.0000
last_100.201-1.0001.0000.0000.0000.0000.0000.0000.0000.0001.00001.00001.00001.00000.00000.00000.00000.0000
season0.601-1.0001.0000.0000.0000.0000.0000.0000.0000.0001.00001.00001.00001.00000.00000.00000.00000.0000
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1800
predicted_3B0.0140
predicted_AB3.7790
predicted_AVG0.2746
predicted_BB0.2870
predicted_H1.0380
predicted_HBP0.0320
predicted_HR0.1230
predicted_OBP0.3366
predicted_R0.4690
predicted_RBI0.4820
predicted_SLG0.4270
predicted_SO0.8070
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.00000.18000.0301model_form_blend
predicted_3B0.00000.01400.0023model_form_blend
predicted_AB2.50003.77902.7135model_form_blend
predicted_AVG0.30000.27460.2958model_form_blend
predicted_BB0.00000.28700.0479model_form_blend
predicted_H0.16001.03800.3066model_form_blend
predicted_HBP-0.03200.0320form_only
predicted_HR0.03000.12300.0455model_form_blend
predicted_OBP0.30600.33660.3111model_form_blend
predicted_R0.00000.46900.0783model_form_blend
predicted_RBI0.12000.48200.1804model_form_blend
predicted_SLG0.40400.42700.4078model_form_blend
predicted_SO0.00000.80700.1347model_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 date1
Season rows before report date1
Report year2026
Profile rows used1
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
RBI1
BB0
SO1
SF0
HBP0
season_avg1.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB1
Hitting_AVG1.0
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB1
Hitting_battingOrder8
Hitting_substitutionOrder2
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedC
gameID20260519_ATL@MIA
game_typeshort
mlbID644433
playerID644433
playerNameChadwick Tromp
posC
startedFalse
startingPositionC
teamATL
teamID2
game_date2026-05-19
game_pk823865.0
sl_k_percent0.0
sl_bb_percent0.0
sl_woba0.9
sl_xwoba0.397
sl_xba0.423
sl_xslg0.48
sl_sweet_spot_percent0.0
sl_barrel_batted_rate0.0
sl_hard_hit_percent100.0
sl_exit_velocity_avg100.0
sl_launch_angle_avg-0.3
sl_whiff_percent0.0
sl_swing_percent50.0
at_bat_number80.0
ab_pitcher669199.0
ab_pitcher_nameBachar, Lake
ab_home_teamMIA
ab_away_teamATL
ab_game_typeR
ab_standR
ab_p_throwsR
ab_inning9.0
ab_inning_topbotTop
ab_outs_when_up2.0
ab_on_1b_start663586.0
ab_balls_start0.0
ab_strikes_start0.0
ab_home_score_start4.0
ab_away_score_start7.0
ab_bat_score_start7.0
ab_fld_score_start4.0
ab_eventsingle
ab_event_descriptionChadwick Tromp singles on a ground ball to left fielder Heriberto Hernández. Austin Riley to 2nd.
ab_event_typeX
ab_bb_typeground_ball
ab_hit_location7.0
ab_pitch_type_lastFF
ab_pitch_name_last4-Seam Fastball
ab_zone_last2.0
ab_launch_speed_last100.0
ab_launch_angle_last0.0
ab_hit_distance_last47.0
ab_estimated_ba_last0.423
ab_estimated_woba_last0.397
ab_estimated_slg_last0.48
ab_woba_value0.9
ab_woba_denom1.0
ab_babip_value1.0
ab_iso_value0.0
ab_balls_end2.0
ab_strikes_end1.0
ab_home_score_end4.0
ab_away_score_end7.0
ab_bat_score_end7.0
ab_fld_score_end4.0
ab_pitch_count4.0
ab_release_speed_avg93.95
ab_release_spin_rate_avg2686.75
ab_effective_speed_avg93.3
ab_launch_speed_avg88.85
ab_launch_angle_avg-13.5
ab_delta_run_exp_avg0.0865
ab_delta_home_win_exp_avg-0.00075
ab_delta_pitcher_run_exp_avg-0.0865
ab_bat_speed_avg73.95
ab_swing_length_avg8.25
ab_launch_speed_max100.0
ab_hit_distance_sc_max47.0
ab_release_speed_max96.6
ab_release_spin_rate_max2767.0
ab_release_speed_min91.1
ab_release_spin_rate_min2657.0
ab_delta_run_exp_sum0.346
ab_delta_home_win_exp_sum-0.003
ab_delta_pitcher_run_exp_sum-0.346
ab_result_is_hitTrue
ab_result_is_walkFalse
ab_result_is_strikeoutFalse
ab_result_is_hbpFalse
Spencer Strider (675911) · PITCHER · Starter · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 3
All-history rows before 20260521: 3

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB2.0002.0002.000Pitching_BB3.3333.000-1.333-1.000
predicted_ER1.0001.0001.000Pitching_ER1.3331.000-0.3330.000
predicted_H4.0004.0004.000Pitching_H2.6673.0001.3331.000
predicted_IP5.0005.0005.000Pitching_InningsPitched4.7335.1000.267-0.100
predicted_SO5.0005.0005.000Pitching_SO6.0004.000-1.0001.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectworse
Changed Metrics1
Boosted Metrics0
Deboosted Metrics1
Better Metrics0
Worse Metrics1
Biggest Boost-
Biggest Deboostpredicted_IP: 5.3333 -> 5.0000 (deboost -0.3333, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2starter_usage_guardrail10101-predicted_IP: 5.3333 -> 5.0000 (deboost -0.3333, worse)Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
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": "675911",
  "player_name": "Spencer Strider",
  "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": 2.0,
        "predicted_ER": 1.0,
        "predicted_H": 4.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.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": "starter_usage_guardrail",
      "description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
      "stats": {
        "predicted_BB": 2.0,
        "predicted_ER": 1.0,
        "predicted_H": 4.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": 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": 5.3333,
          "after": 5.0,
          "delta": -0.3333,
          "percent_delta": -0.0625,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 5.3333,
          "after": 5.0,
          "delta": -0.3333,
          "percent_delta": -0.0625,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 3,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 2.0,
        "predicted_ER": 1.0,
        "predicted_H": 4.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.0,
        "predicted_R": 1.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": 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": 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": 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": 5.3333,
        "after": 5.0,
        "delta": -0.3333,
        "percent_delta": -0.0625,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 5.0,
        "after": 5.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 0,
      "deboosted_metrics": 1,
      "better_metrics": 0,
      "worse_metrics": 1,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 5.3333,
        "after": 5.0,
        "delta": -0.3333,
        "percent_delta": -0.0625,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

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_ER1.000-
predicted_H4.000-
predicted_HR0.000-
predicted_IP5.333-
predicted_SO5.000-
2. starter_usage_guardrail

Starter workload capped by recent innings, season ERA/WHIP, and team-form context.

MetricValueDelta vs Prev Step
predicted_BB2.0000.000
predicted_ER1.0000.000
predicted_H4.0000.000
predicted_HR0.0000.000
predicted_IP5.000-0.333
predicted_SO5.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 3
Reference playing time: 5.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45314.2004.0008.00010.00018.0001.0002.45451.22730.27270.54540.68181.22730.0682
last_100.35314.2004.0008.00010.00018.0001.0002.45451.22730.27270.54540.68181.22730.0682
season0.20314.2004.0008.00010.00018.0001.0002.45451.22730.27270.54540.68181.22730.0682
Weighted Prediction From Real Data
MetricValue
predicted_BB2.5560
predicted_ER2.0660
predicted_ERA3.5697
predicted_H4.1290
predicted_HR0.5580
predicted_IP5.1000
predicted_SO5.4940
predicted_WHIP1.2836
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB2.00002.55602.2146model_form_blend
predicted_ER1.00002.06601.4114model_form_blend
predicted_ERA-3.56973.5697form_only
predicted_H4.00004.12904.0498model_form_blend
predicted_HR0.00000.55800.2154model_form_blend
predicted_IP5.10005.10005.1000model_form_blend
predicted_SO5.00005.49405.1907model_form_blend
predicted_WHIP-1.28361.2836form_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 date3
Season rows before report date3
Report year2026
Profile rows used3
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP5.0
H4
R1
ER1
BB2
SO5
HR0
BF21
Pitches87

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_BB3
Pitching_Balk0
Pitching_Batters Faced18
Pitching_ER1
Pitching_ERA2.45
Pitching_Flyouts2
Pitching_Groundouts3
Pitching_H3
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched5.1
Pitching_Pitches84
Pitching_R1
Pitching_SO4
Pitching_Strikes50
Pitching_Wild Pitch0
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260515_BOS@ATL
game_typefull
mlbID675911
playerID675911
playerNameSpencer Strider
posP
startedTrue
startingPositionP
teamATL
teamID2
game_date2026-05-15
game_pk824925.0
sl_k_percent31.0
sl_bb_percent17.2
sl_woba0.292
sl_xwoba0.272
sl_sweet_spot_percent26.7
sl_barrel_batted_rate6.7
sl_hard_hit_percent33.3
sl_whiff_percent38.1
sl_swing_percent45.0
sv_pitch_count84.0
sv_outs_recorded_est13.0
sv_release_speed89.10714285714286
sv_release_spin_rate2308.0
sv_effective_speed90.0904761904762
sv_launch_speed80.1263157894737
sv_launch_angle27.84210526315789
sv_woba_value5.5
sv_woba_denom18.0
sv_delta_run_exp-0.1539999999999999
sv_delta_home_win_exp0.244
sl_avg_best_speed76.344376
sl_avg_hyper_speed92.583864667
Dylan Lee (669276) · PITCHER · Middle Reliever · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 23
All-history rows before 20260521: 23

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.0870.0000.9131.000
predicted_ER0.0000.0000.000Pitching_ER0.0870.000-0.0870.000
predicted_H0.0000.0000.000Pitching_H0.4352.000-0.435-2.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.9041.1000.096-0.100
predicted_SO1.0001.0001.000Pitching_SO1.2172.000-0.217-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": "669276",
  "player_name": "Dylan Lee",
  "position": "Middle Reliever",
  "team": "ATL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 0,
      "boosted_metrics": 0,
      "deboosted_metrics": 0,
      "better_metrics": 0,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": null,
      "has_material_change": false,
      "dominant_effect": "neutral"
    }
  }
}

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-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 23
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.0004.0000.0005.0000.0000.00000.80000.00000.80000.00001.00000.0000
last_100.351010.2001.0005.0000.00017.0000.0000.84380.46880.09380.46880.00001.59380.0000
season0.202322.2002.00010.0002.00028.0000.0000.79410.52940.08820.44120.08821.23530.0000
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2060
predicted_ER0.2720
predicted_ERA2.4479
predicted_H0.7860
predicted_HR0.0690
predicted_IP1.0000
predicted_SO1.0950
predicted_WHIP0.9921
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.20600.6606model_form_blend
predicted_ER0.00000.27200.1163model_form_blend
predicted_ERA-2.44792.4479form_only
predicted_H0.00000.78600.3360model_form_blend
predicted_HR0.00000.06900.0295model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00001.09501.0406model_form_blend
predicted_WHIP-0.99210.9921form_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 date23
Season rows before report date23
Report year2026
Profile rows used23
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
BB1
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_BB0
Pitching_Balk0
Pitching_Batters Faced6
Pitching_ER0
Pitching_ERA0.79
Pitching_Flyouts2
Pitching_Groundouts0
Pitching_H2
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners1
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.1
Pitching_Pitches25
Pitching_R0
Pitching_SO2
Pitching_Strikes15
Pitching_Wild Pitch0
Pitching_decisionW
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20260519_ATL@MIA
game_typefull
mlbID669276
playerID669276
playerNameDylan Lee
posP
startedFalse
startingPositionP
teamATL
teamID2
game_date2026-05-19
game_pk823865.0
sl_k_percent35.0
sl_bb_percent2.5
sl_woba0.158
sl_xwoba0.194
sl_sweet_spot_percent28.0
sl_barrel_batted_rate4.0
sl_hard_hit_percent34.0
sl_whiff_percent40.0
sl_swing_percent55.4
sv_pitch_count25.0
sv_outs_recorded_est4.0
sv_release_speed88.396
sv_release_spin_rate2203.2
sv_effective_speed88.104
sv_launch_speed77.12
sv_launch_angle25.8
sv_woba_value1.8
sv_woba_denom6.0
sv_delta_run_exp-0.596
sv_delta_home_win_exp-0.1229999999999999
sl_avg_best_speed76.0698988
sl_avg_hyper_speed93.086514082
Raisel Iglesias (628452) · PITCHER · Middle Reliever · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 14
All-history rows before 20260521: 14

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.2140.000-0.2140.000
predicted_ER0.0000.0000.000Pitching_ER0.0000.0000.0000.000
predicted_H0.0000.0000.000Pitching_H0.5711.000-0.571-1.000
predicted_IP1.0001.0001.000Pitching_InningsPitched1.0141.000-0.0140.000
predicted_SO1.0001.0001.000Pitching_SO1.2861.000-0.2860.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": "628452",
  "player_name": "Raisel Iglesias",
  "position": "Middle Reliever",
  "team": "ATL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 0,
      "boosted_metrics": 0,
      "deboosted_metrics": 0,
      "better_metrics": 0,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": null,
      "has_material_change": false,
      "dominant_effect": "neutral"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 14
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.0005.0000.0000.00000.80000.00000.40000.40001.00000.0000
last_100.351010.2000.0007.0003.00016.0000.0000.00000.93750.00000.65620.28121.50000.0000
season0.201414.2000.0008.0003.00018.0000.0000.00000.75000.00000.54540.20461.22730.0000
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3550
predicted_ER0.2980
predicted_ERA2.6810
predicted_H0.7860
predicted_HR0.0820
predicted_IP1.0000
predicted_SO1.0500
predicted_WHIP1.1413
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.35500.1359model_form_blend
predicted_ER0.00000.29800.1141model_form_blend
predicted_ERA-2.68102.6810form_only
predicted_H0.00000.78600.3009model_form_blend
predicted_HR0.00000.08200.0314model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00001.05001.0191model_form_blend
predicted_WHIP-1.14131.1413form_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 date14
Season rows before report date14
Report year2026
Profile rows used14
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H0
R0
ER0
BB0
SO1
HR0
BF3
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 Faced4
Pitching_ER0
Pitching_ERA0.00
Pitching_Flyouts1
Pitching_Groundouts1
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches13
Pitching_R0
Pitching_SO1
Pitching_Strikes10
Pitching_Wild Pitch0
Pitching_pitchingOrder5
allPositionsPlayedP
gameID20260519_ATL@MIA
game_typefull
mlbID628452
playerID628452
playerNameRaisel Iglesias
posP
startedFalse
startingPositionP
teamATL
teamID2
game_date2026-05-19
game_pk823865.0
sl_k_percent34.0
sl_bb_percent5.7
sl_woba0.19
sl_xwoba0.209
sl_sweet_spot_percent25.0
sl_barrel_batted_rate0.0
sl_hard_hit_percent37.5
sl_whiff_percent36.8
sl_swing_percent57.3
sv_pitch_count13.0
sv_outs_recorded_est3.0
sv_release_speed93.01538461538462
sv_release_spin_rate2269.0
sv_effective_speed92.5076923076923
sv_launch_speed82.075
sv_launch_angle19.0
sv_woba_value0.9
sv_woba_denom4.0
sv_delta_run_exp-0.4599999999999999
sv_delta_home_win_exp-0.019
sl_avg_best_speed78.2751475
sl_avg_hyper_speed93.01589625
Robert Suarez (663158) · PITCHER · Middle Reliever · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 20
All-history rows before 20260521: 20

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.2501.000-0.250-1.000
predicted_ER1.0001.0001.000Pitching_ER0.0500.0000.9501.000
predicted_H2.0002.0002.000Pitching_H0.6500.0001.3502.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.9701.0000.0300.000
predicted_SO0.0000.0000.000Pitching_SO0.9500.000-0.9500.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": "663158",
  "player_name": "Robert Suarez",
  "position": "Middle Reliever",
  "team": "ATL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 1.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 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": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 0,
      "boosted_metrics": 0,
      "deboosted_metrics": 0,
      "better_metrics": 0,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": null,
      "has_material_change": false,
      "dominant_effect": "neutral"
    }
  }
}

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_H2.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: 20
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.2000.0001.0003.0005.0000.0000.00000.70590.00000.17650.52940.88230.0000
last_100.351010.2000.0006.0004.0008.0000.0000.00000.93750.00000.56250.37500.75000.0000
season0.202020.1001.00013.0005.00019.0000.0000.44260.88520.04920.63930.24590.93440.0000
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3950
predicted_ER0.2650
predicted_ERA2.3869
predicted_H0.7020
predicted_HR0.0720
predicted_IP1.0000
predicted_SO0.9050
predicted_WHIP1.0967
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.39500.1643model_form_blend
predicted_ER1.00000.26500.6942model_form_blend
predicted_ERA-2.38692.3869form_only
predicted_H2.00000.70201.4600model_form_blend
predicted_HR0.00000.07200.0300model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO0.00000.90500.3765model_form_blend
predicted_WHIP-1.09671.0967form_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 date20
Season rows before report date20
Report year2026
Profile rows used20
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H2
R1
ER1
BB0
SO0
HR0
BF5
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_BB1
Pitching_Balk0
Pitching_Batters Faced4
Pitching_ER0
Pitching_ERA0.44
Pitching_Flyouts2
Pitching_Groundouts1
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches17
Pitching_R0
Pitching_SO0
Pitching_Strikes10
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260519_ATL@MIA
game_typefull
mlbID663158
playerID663158
playerNameRobert Suarez
posP
startedFalse
startingPositionP
teamATL
teamID2
game_date2026-05-19
game_pk823865.0
sl_k_percent24.4
sl_bb_percent6.4
sl_woba0.198
sl_xwoba0.267
sl_sweet_spot_percent37.7
sl_barrel_batted_rate1.9
sl_hard_hit_percent26.4
sl_whiff_percent27.3
sl_swing_percent52.4
sv_pitch_count17.0
sv_outs_recorded_est3.0
sv_release_speed96.81764705882354
sv_release_spin_rate2395.0
sv_effective_speed97.02941176470588
sv_launch_speed82.91428571428571
sv_launch_angle37.71428571428572
sv_woba_value0.7
sv_woba_denom4.0
sv_delta_run_exp-0.457
sv_delta_home_win_exp-0.053
sl_avg_best_speed72.957055769
sl_avg_hyper_speed92.258910769
Tyler Kinley (641755) · PITCHER · Middle Reliever · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 23
All-history rows before 20260521: 23

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.3910.000-0.3910.000
predicted_ER0.0000.0000.000Pitching_ER0.3910.000-0.3910.000
predicted_H1.0001.0001.000Pitching_H0.8260.0000.1741.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.8171.0000.1830.000
predicted_SO1.0001.0001.000Pitching_SO0.9131.0000.0870.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics1
Boosted Metrics1
Deboosted Metrics0
Better Metrics1
Worse Metrics0
Biggest Boostpredicted_IP: 0.6667 -> 1.0000 (boost 0.3333, better)
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final11010predicted_IP: 0.6667 -> 1.0000 (boost 0.3333, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "641755",
  "player_name": "Tyler Kinley",
  "position": "Middle Reliever",
  "team": "ATL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.6667,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 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.6667,
          "after": 1.0,
          "delta": 0.3333,
          "percent_delta": 0.5,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_IP",
          "before": 0.6667,
          "after": 1.0,
          "delta": 0.3333,
          "percent_delta": 0.5,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 0.6667,
        "after": 1.0,
        "delta": 0.3333,
        "percent_delta": 0.4999,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 1,
      "deboosted_metrics": 0,
      "better_metrics": 1,
      "worse_metrics": 0,
      "biggest_boost": {
        "metric": "predicted_IP",
        "before": 0.6667,
        "after": 1.0,
        "delta": 0.3333,
        "percent_delta": 0.4999,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": null,
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER0.000-
predicted_H1.000-
predicted_HR0.000-
predicted_IP0.667-
predicted_SO1.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 23
Reference playing time: 0.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4554.1004.0006.0001.0003.0002.0008.30771.61540.92311.38460.23080.69230.4615
last_100.35108.2007.00014.0003.00010.0004.0007.26921.96150.80771.61540.34621.15390.4615
season0.202320.2009.00019.0009.00021.0004.0003.91941.35480.43550.91940.43551.01610.1935
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2840
predicted_ER0.5000
predicted_ERA5.5119
predicted_H0.9270
predicted_HR0.2090
predicted_IP0.2000
predicted_SO0.7650
predicted_WHIP1.4826
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.28400.1186model_form_blend
predicted_ER0.00000.50000.2089model_form_blend
predicted_ERA-5.51195.5119form_only
predicted_H1.00000.92700.9695model_form_blend
predicted_HR0.00000.20900.0873model_form_blend
predicted_IP0.20000.20000.2000model_form_blend
predicted_SO1.00000.76500.9018model_form_blend
predicted_WHIP-1.48261.4826form_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 date23
Season rows before report date23
Report year2026
Profile rows used23
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H1
R0
ER0
BB0
SO1
HR0
BF4
Pitches16

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder3
Hitting_substitutionOrder1
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced3
Pitching_ER0
Pitching_ERA3.92
Pitching_Flyouts1
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches12
Pitching_R0
Pitching_SO1
Pitching_Strikes8
Pitching_Wild Pitch0
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260518_ATL@MIA
game_typefull
mlbID641755
playerID641755
playerNameTyler Kinley
posP
startedFalse
startingPositionP
teamATL
teamID2
game_date2026-05-18
game_pk823867.0
sl_k_percent23.3
sl_bb_percent10.0
sl_woba0.334
sl_xwoba0.292
sl_sweet_spot_percent33.9
sl_barrel_batted_rate6.9
sl_hard_hit_percent25.4
sl_whiff_percent24.4
sl_swing_percent44.2
sv_pitch_count12.0
sv_outs_recorded_est3.0
sv_release_speed87.77499999999999
sv_release_spin_rate2699.4166666666665
sv_effective_speed86.29166666666667
sv_launch_speed94.03333333333336
sv_launch_angle36.333333333333336
sv_woba_value0.0
sv_woba_denom3.0
sv_delta_run_exp-0.773
sv_delta_home_win_exp0.0
sl_avg_best_speed70.887992414
sl_avg_hyper_speed92.628186207

Home Team: MIA

Home Pitcher Deep Analysis

FieldValue
PitcherSandy Alcantara
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.2100
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.1312
Avg Velo92.0270
Avg Spin2246.0923
HB Inches0
IVB Inches0
Release Extension0
Pre IP5.2000
Pre ER2
Pre H6
Pre BB3
Pre SO4
Season ERA3.5340
Season WHIP1.2565
Role Avg IP6.3670
Recent Avg IP5.6670
Last Start IP6
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "MIA",
    "games": 55,
    "wins": 25,
    "losses": 30,
    "win_pct": 0.4545,
    "runs_scored": 236.0,
    "runs_allowed": 247.0,
    "run_differential": -11.0,
    "run_differential_per_game": -0.2,
    "avg_runs_scored": 4.2909,
    "avg_runs_allowed": 4.4909,
    "offense_index": 0.9596,
    "defense_index": 0.9957,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.7,
      "avg_runs_allowed": 5.4,
      "run_differential": -7.0
    },
    "available": true,
    "quality_score": -0.0983
  },
  "opponent": {
    "team": "ATL",
    "games": 56,
    "wins": 39,
    "losses": 17,
    "win_pct": 0.6964,
    "runs_scored": 295.0,
    "runs_allowed": 184.0,
    "run_differential": 111.0,
    "run_differential_per_game": 1.9821,
    "avg_runs_scored": 5.2679,
    "avg_runs_allowed": 3.2857,
    "offense_index": 1.1781,
    "defense_index": 1.3609,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 3.0,
      "run_differential": 16.0
    },
    "available": true,
    "quality_score": 0.4807
  },
  "edges": {
    "quality_edge": -0.579,
    "offense_edge": -0.0404,
    "opponent_offense_edge": 0.1781,
    "defense_strength": -0.0043,
    "opponent_defense_weakness": -0.3609,
    "recent_win_pct_edge": -0.3
  },
  "player_factors": {
    "ip": 0.9696,
    "run_prevention": 1.0579,
    "strikeout": 0.9684
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "645261",
    "profile": {
      "available": true,
      "pitcher_id": "645261",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 242.0,
        "k_percent": 16.9,
        "bb_percent": 7.5,
        "woba": 0.298,
        "xwoba": 0.29,
        "sweet_spot_percent": 27.4,
        "barrel_batted_rate": 5.0,
        "hard_hit_percent": 35.8,
        "avg_best_speed": 77.5563,
        "avg_hyper_speed": 93.5836,
        "whiff_percent": 23.3,
        "swing_percent": 50.1
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": 0.5126,
        "command_and_miss": -0.3979,
        "regression_edge": 0.2286,
        "xwoba_edge": 0.6286,
        "barrel_edge": 0.4889,
        "hard_hit_edge": 0.4143,
        "whiff_edge": -0.3429,
        "bb_edge": 0.475,
        "pitch_design_score": 0.1312
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "645261",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 100,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 100,
          "pitch_usage": 0.0,
          "release_speed": 92.02695864489056,
          "release_spin_rate": 2246.092278671786,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 100,
            "pitch_usage": 0.0,
            "release_speed": 92.02695864489056,
            "release_spin_rate": 2246.092278671786,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.027,
          "release_spin_rate": 2246.0923,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.1312,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.9374,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.21,
      "sample_weight": 0.968,
      "run_prevention_factor": 0.9821,
      "strikeout_factor": 0.9546,
      "walk_factor": 0.9632,
      "homer_factor": 0.9278,
      "woba_minus_xwoba": 0.008,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "645261",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 3.0,
        "factor": 0.9827,
        "adjusted": 3
      },
      "predicted_H": {
        "original": 7.0,
        "factor": 0.9827,
        "adjusted": 7
      },
      "predicted_BB": {
        "original": 2.0,
        "factor": 0.9644,
        "adjusted": 2
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9301,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 4.0,
        "factor": 0.9561,
        "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": 63.2,
    "ER": 25,
    "H": 60,
    "BB": 20,
    "SO": 45,
    "HR": 4,
    "ERA": 3.5340314136125652,
    "WHIP": 1.256544502617801,
    "K9": 6.361256544502617,
    "HR9": 0.5654450261780104,
    "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-05-16T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "645261",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 100,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 100,
    "pitch_usage": 0.0,
    "release_speed": 92.02695864489056,
    "release_spin_rate": 2246.092278671786,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 100,
      "pitch_usage": 0.0,
      "release_speed": 92.02695864489056,
      "release_spin_rate": 2246.092278671786,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.027,
    "release_spin_rate": 2246.0923,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1312,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.9374,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.5625,
    "last_10": 0.43749999999999994
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6667,
    "prior_weight": 0.3333
  },
  "role": "pitcher",
  "player_id": "645261",
  "report_date": "20260521_A",
  "season_year": 2026,
  "rows_used": 10,
  "reference_playing_time": 5.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 28.1,
        "ER": 14.0,
        "R": 15.0,
        "H": 36.0,
        "BB": 8.0,
        "SO": 22.0,
        "HR": 0.0,
        "BF": 127.0,
        "Pitches": 508.0
      },
      "per_game": {
        "IP": 5.2,
        "ER": 2.8,
        "R": 3.0,
        "H": 7.2,
        "BB": 1.6,
        "SO": 4.4,
        "HR": 0.0,
        "BF": 25.4,
        "Pitches": 101.6
      },
      "rates": {
        "ERA": 4.4471,
        "WHIP": 1.5529,
        "ER_per_IP": 0.49412,
        "H_per_IP": 1.27059,
        "BB_per_IP": 0.28235,
        "SO_per_IP": 0.77647,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 63.2,
        "ER": 25.0,
        "R": 28.0,
        "H": 60.0,
        "BB": 20.0,
        "SO": 45.0,
        "HR": 4.0,
        "BF": 267.0,
        "Pitches": 966.0
      },
      "per_game": {
        "IP": 6.1,
        "ER": 2.5,
        "R": 2.8,
        "H": 6.0,
        "BB": 2.0,
        "SO": 4.5,
        "HR": 0.4,
        "BF": 26.7,
        "Pitches": 96.6
      },
      "rates": {
        "ERA": 3.534,
        "WHIP": 1.2565,
        "ER_per_IP": 0.39267,
        "H_per_IP": 0.94241,
        "BB_per_IP": 0.31414,
        "SO_per_IP": 0.70681,
        "HR_per_IP": 0.06283
      }
    },
    "season": {
      "games": 10,
      "totals": {
        "IP": 63.2,
        "ER": 25.0,
        "R": 28.0,
        "H": 60.0,
        "BB": 20.0,
        "SO": 45.0,
        "HR": 4.0,
        "BF": 267.0,
        "Pitches": 966.0
      },
      "per_game": {
        "IP": 6.1,
        "ER": 2.5,
        "R": 2.8,
        "H": 6.0,
        "BB": 2.0,
        "SO": 4.5,
        "HR": 0.4,
        "BF": 26.7,
        "Pitches": 96.6
      },
      "rates": {
        "ERA": 3.534,
        "WHIP": 1.2565,
        "ER_per_IP": 0.39267,
        "H_per_IP": 0.94241,
        "BB_per_IP": 0.31414,
        "SO_per_IP": 0.70681,
        "HR_per_IP": 0.06283
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 6.0,
    "predicted_ER": 2.677,
    "predicted_H": 6.243,
    "predicted_BB": 1.892,
    "predicted_SO": 4.773,
    "predicted_HR": 0.362,
    "predicted_ERA": 4.1113,
    "predicted_WHIP": 1.388
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4908,
  "form_weight": 0.5092,
  "form_reliability": 0.6667,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6667,
    "prior_weight": 0.3333
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 5.2,
      "form": 6.0,
      "final": 6.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 2.0,
      "form": 2.677,
      "final": 2.3447,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 6.0,
      "form": 6.243,
      "final": 6.1237,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 3.0,
      "form": 1.892,
      "final": 2.4358,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 4.0,
      "form": 4.773,
      "final": 4.3936,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.362,
      "final": 0.1843,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.1113,
      "final": 4.1113,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.388,
      "final": 1.388,
      "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
PitcherAnthony Bender
RoleMiddle Reliever
Projection Source-
Savant Quality Score0.1929
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0497
Avg Velo88.7958
Avg Spin2616.4212
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO1
Season ERA3.7895
Season WHIP1.0526
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "MIA",
    "games": 55,
    "wins": 25,
    "losses": 30,
    "win_pct": 0.4545,
    "runs_scored": 236.0,
    "runs_allowed": 247.0,
    "run_differential": -11.0,
    "run_differential_per_game": -0.2,
    "avg_runs_scored": 4.2909,
    "avg_runs_allowed": 4.4909,
    "offense_index": 0.9596,
    "defense_index": 0.9957,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.7,
      "avg_runs_allowed": 5.4,
      "run_differential": -7.0
    },
    "available": true,
    "quality_score": -0.0983
  },
  "opponent": {
    "team": "ATL",
    "games": 56,
    "wins": 39,
    "losses": 17,
    "win_pct": 0.6964,
    "runs_scored": 295.0,
    "runs_allowed": 184.0,
    "run_differential": 111.0,
    "run_differential_per_game": 1.9821,
    "avg_runs_scored": 5.2679,
    "avg_runs_allowed": 3.2857,
    "offense_index": 1.1781,
    "defense_index": 1.3609,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 3.0,
      "run_differential": 16.0
    },
    "available": true,
    "quality_score": 0.4807
  },
  "edges": {
    "quality_edge": -0.579,
    "offense_edge": -0.0404,
    "opponent_offense_edge": 0.1781,
    "defense_strength": -0.0043,
    "opponent_defense_weakness": -0.3609,
    "recent_win_pct_edge": -0.3
  },
  "player_factors": {
    "ip": 0.9696,
    "run_prevention": 1.0579,
    "strikeout": 0.9684
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "669622",
    "profile": {
      "available": true,
      "pitcher_id": "669622",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 73.0,
        "k_percent": 25.3,
        "bb_percent": 10.1,
        "woba": 0.235,
        "xwoba": 0.271,
        "sweet_spot_percent": 22.4,
        "barrel_batted_rate": 6.1,
        "hard_hit_percent": 32.7,
        "avg_best_speed": 78.3069,
        "avg_hyper_speed": 93.377,
        "whiff_percent": 18.5,
        "swing_percent": 39.3
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": 1.0621,
        "command_and_miss": -0.2279,
        "regression_edge": -1.0286,
        "xwoba_edge": 1.1714,
        "barrel_edge": 0.2444,
        "hard_hit_edge": 0.8571,
        "whiff_edge": -1.0286,
        "bb_edge": -0.175,
        "pitch_design_score": -0.0497
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "669622",
        "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": 88.79583763618702,
          "release_spin_rate": 2616.421154956304,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 88.79583763618702,
            "release_spin_rate": 2616.421154956304,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.7958,
          "release_spin_rate": 2616.4212,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.0497,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.3551,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.1929,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9836,
      "strikeout_factor": 0.9882,
      "walk_factor": 1.0063,
      "homer_factor": 0.96,
      "woba_minus_xwoba": -0.036,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "669622",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9926,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9926,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0028,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.982,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 0.9947,
        "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": 0,
    "SO": 8,
    "HR": 0,
    "ERA": 0.84375,
    "WHIP": 0.375,
    "K9": 6.75,
    "HR9": 0.0,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": true,
    "struggling_form": false
  },
  "fielding": {
    "errors": 1,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-05-19T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "669622",
  "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": 88.79583763618702,
    "release_spin_rate": 2616.421154956304,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 88.79583763618702,
      "release_spin_rate": 2616.421154956304,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.7958,
    "release_spin_rate": 2616.4212,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0497,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.3551,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 3.764,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4295,
    "prior_weight": 0.5705
  },
  "role": "pitcher",
  "player_id": "669622",
  "report_date": "20260521_A",
  "season_year": 2026,
  "rows_used": 20,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 6.0,
        "ER": 1.0,
        "R": 1.0,
        "H": 1.0,
        "BB": 0.0,
        "SO": 4.0,
        "HR": 0.0,
        "BF": 19.0,
        "Pitches": 68.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.2,
        "BB": 0.0,
        "SO": 0.8,
        "HR": 0.0,
        "BF": 3.8,
        "Pitches": 13.6
      },
      "rates": {
        "ERA": 1.5,
        "WHIP": 0.1667,
        "ER_per_IP": 0.16667,
        "H_per_IP": 0.16667,
        "BB_per_IP": 0.0,
        "SO_per_IP": 0.66667,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.2,
        "ER": 1.0,
        "R": 1.0,
        "H": 4.0,
        "BB": 0.0,
        "SO": 8.0,
        "HR": 0.0,
        "BF": 36.0,
        "Pitches": 122.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.1,
        "R": 0.1,
        "H": 0.4,
        "BB": 0.0,
        "SO": 0.8,
        "HR": 0.0,
        "BF": 3.6,
        "Pitches": 12.2
      },
      "rates": {
        "ERA": 0.8438,
        "WHIP": 0.375,
        "ER_per_IP": 0.09375,
        "H_per_IP": 0.375,
        "BB_per_IP": 0.0,
        "SO_per_IP": 0.75,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 20,
      "totals": {
        "IP": 19.0,
        "ER": 8.0,
        "R": 8.0,
        "H": 12.0,
        "BB": 8.0,
        "SO": 20.0,
        "HR": 0.0,
        "BF": 79.0,
        "Pitches": 303.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.4,
        "H": 0.6,
        "BB": 0.4,
        "SO": 1.0,
        "HR": 0.0,
        "BF": 3.95,
        "Pitches": 15.15
      },
      "rates": {
        "ERA": 3.7895,
        "WHIP": 1.0526,
        "ER_per_IP": 0.42105,
        "H_per_IP": 0.63158,
        "BB_per_IP": 0.42105,
        "SO_per_IP": 1.05263,
        "HR_per_IP": 0.0
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.374,
    "predicted_H": 0.724,
    "predicted_BB": 0.267,
    "predicted_SO": 0.931,
    "predicted_HR": 0.079,
    "predicted_ERA": 3.1605,
    "predicted_WHIP": 0.9306
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.591,
  "form_weight": 0.409,
  "form_reliability": 0.4295,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 3.764,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4295,
    "prior_weight": 0.5705
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.374,
      "final": 0.153,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.724,
      "final": 0.2961,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.267,
      "final": 0.1092,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.931,
      "final": 0.9718,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.079,
      "final": 0.0323,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.1605,
      "final": 3.1605,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.9306,
      "final": 0.9306,
      "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
PitcherCalvin Faucher
RoleMiddle Reliever
Projection Source-
Savant Quality Score-0.1367
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.0612
Avg Velo90.7771
Avg Spin2765.7347
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB1
Pre SO2
Season ERA4.1897
Season WHIP1.6552
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "MIA",
    "games": 55,
    "wins": 25,
    "losses": 30,
    "win_pct": 0.4545,
    "runs_scored": 236.0,
    "runs_allowed": 247.0,
    "run_differential": -11.0,
    "run_differential_per_game": -0.2,
    "avg_runs_scored": 4.2909,
    "avg_runs_allowed": 4.4909,
    "offense_index": 0.9596,
    "defense_index": 0.9957,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.7,
      "avg_runs_allowed": 5.4,
      "run_differential": -7.0
    },
    "available": true,
    "quality_score": -0.0983
  },
  "opponent": {
    "team": "ATL",
    "games": 56,
    "wins": 39,
    "losses": 17,
    "win_pct": 0.6964,
    "runs_scored": 295.0,
    "runs_allowed": 184.0,
    "run_differential": 111.0,
    "run_differential_per_game": 1.9821,
    "avg_runs_scored": 5.2679,
    "avg_runs_allowed": 3.2857,
    "offense_index": 1.1781,
    "defense_index": 1.3609,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 3.0,
      "run_differential": 16.0
    },
    "available": true,
    "quality_score": 0.4807
  },
  "edges": {
    "quality_edge": -0.579,
    "offense_edge": -0.0404,
    "opponent_offense_edge": 0.1781,
    "defense_strength": -0.0043,
    "opponent_defense_weakness": -0.3609,
    "recent_win_pct_edge": -0.3
  },
  "player_factors": {
    "ip": 0.9696,
    "run_prevention": 1.0579,
    "strikeout": 0.9684
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "676534",
    "profile": {
      "available": true,
      "pitcher_id": "676534",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 79.0,
        "k_percent": 23.9,
        "bb_percent": 19.3,
        "woba": 0.301,
        "xwoba": 0.332,
        "sweet_spot_percent": 32.0,
        "barrel_batted_rate": 6.0,
        "hard_hit_percent": 46.0,
        "avg_best_speed": 78.0912,
        "avg_hyper_speed": 95.333,
        "whiff_percent": 28.5,
        "swing_percent": 39.4
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": -0.2642,
        "command_and_miss": -0.2779,
        "regression_edge": -0.8857,
        "xwoba_edge": -0.5714,
        "barrel_edge": 0.2667,
        "hard_hit_edge": -1.0429,
        "whiff_edge": 0.4,
        "bb_edge": -2.475,
        "pitch_design_score": 0.0612
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "676534",
        "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": 90.7771477795585,
          "release_spin_rate": 2765.7347345851977,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 90.7771477795585,
            "release_spin_rate": 2765.7347345851977,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.7771,
          "release_spin_rate": 2765.7347,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.0612,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.4375,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.1367,
      "sample_weight": 0.45,
      "run_prevention_factor": 1.0116,
      "strikeout_factor": 1.0103,
      "walk_factor": 1.0891,
      "homer_factor": 1.0169,
      "woba_minus_xwoba": -0.031,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "676534",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 1.0052,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 1.0052,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0401,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0076,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0046,
        "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.1,
    "ER": 5,
    "H": 9,
    "BB": 9,
    "SO": 9,
    "HR": 0,
    "ERA": 3.9705882352941173,
    "WHIP": 1.588235294117647,
    "K9": 7.147058823529411,
    "HR9": 0.0,
    "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-05-19T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "676534",
  "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": 90.7771477795585,
    "release_spin_rate": 2765.7347345851977,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 90.7771477795585,
      "release_spin_rate": 2765.7347345851977,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.7771,
    "release_spin_rate": 2765.7347,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.0612,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.4375,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 3.83,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4338,
    "prior_weight": 0.5662
  },
  "role": "pitcher",
  "player_id": "676534",
  "report_date": "20260521_A",
  "season_year": 2026,
  "rows_used": 20,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 6.1,
        "ER": 3.0,
        "R": 4.0,
        "H": 6.0,
        "BB": 5.0,
        "SO": 6.0,
        "HR": 0.0,
        "BF": 28.0,
        "Pitches": 118.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.6,
        "R": 0.8,
        "H": 1.2,
        "BB": 1.0,
        "SO": 1.2,
        "HR": 0.0,
        "BF": 5.6,
        "Pitches": 23.6
      },
      "rates": {
        "ERA": 4.2632,
        "WHIP": 1.7368,
        "ER_per_IP": 0.47368,
        "H_per_IP": 0.94737,
        "BB_per_IP": 0.78947,
        "SO_per_IP": 0.94737,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 11.1,
        "ER": 5.0,
        "R": 6.0,
        "H": 9.0,
        "BB": 9.0,
        "SO": 9.0,
        "HR": 0.0,
        "BF": 49.0,
        "Pitches": 191.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.5,
        "R": 0.6,
        "H": 0.9,
        "BB": 0.9,
        "SO": 0.9,
        "HR": 0.0,
        "BF": 4.9,
        "Pitches": 19.1
      },
      "rates": {
        "ERA": 3.9706,
        "WHIP": 1.5882,
        "ER_per_IP": 0.44118,
        "H_per_IP": 0.79412,
        "BB_per_IP": 0.79412,
        "SO_per_IP": 0.79412,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 20,
      "totals": {
        "IP": 19.1,
        "ER": 9.0,
        "R": 14.0,
        "H": 15.0,
        "BB": 17.0,
        "SO": 21.0,
        "HR": 0.0,
        "BF": 88.0,
        "Pitches": 348.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.45,
        "R": 0.7,
        "H": 0.75,
        "BB": 0.85,
        "SO": 1.05,
        "HR": 0.0,
        "BF": 4.4,
        "Pitches": 17.4
      },
      "rates": {
        "ERA": 4.1897,
        "WHIP": 1.6552,
        "ER_per_IP": 0.46552,
        "H_per_IP": 0.77586,
        "BB_per_IP": 0.87931,
        "SO_per_IP": 1.08621,
        "HR_per_IP": 0.0
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.497,
    "predicted_H": 0.965,
    "predicted_BB": 0.601,
    "predicted_SO": 0.999,
    "predicted_HR": 0.079,
    "predicted_ERA": 4.1986,
    "predicted_WHIP": 1.4697
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5892,
  "form_weight": 0.4108,
  "form_reliability": 0.4338,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 3.83,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4338,
    "prior_weight": 0.5662
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.497,
      "final": 0.2042,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.965,
      "final": 0.3964,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.601,
      "final": 0.8361,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 0.999,
      "final": 1.5888,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.079,
      "final": 0.0325,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.1986,
      "final": 4.1986,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.4697,
      "final": 1.4697,
      "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
PitcherPete Fairbanks
RoleMiddle Reliever
Projection Source-
Savant Quality Score0.0394
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.1172
Avg Velo91.7766
Avg Spin2472.9862
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER1
Pre H3
Pre BB1
Pre SO1
Season ERA9
Season WHIP1.5000
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "MIA",
    "games": 55,
    "wins": 25,
    "losses": 30,
    "win_pct": 0.4545,
    "runs_scored": 236.0,
    "runs_allowed": 247.0,
    "run_differential": -11.0,
    "run_differential_per_game": -0.2,
    "avg_runs_scored": 4.2909,
    "avg_runs_allowed": 4.4909,
    "offense_index": 0.9596,
    "defense_index": 0.9957,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.7,
      "avg_runs_allowed": 5.4,
      "run_differential": -7.0
    },
    "available": true,
    "quality_score": -0.0983
  },
  "opponent": {
    "team": "ATL",
    "games": 56,
    "wins": 39,
    "losses": 17,
    "win_pct": 0.6964,
    "runs_scored": 295.0,
    "runs_allowed": 184.0,
    "run_differential": 111.0,
    "run_differential_per_game": 1.9821,
    "avg_runs_scored": 5.2679,
    "avg_runs_allowed": 3.2857,
    "offense_index": 1.1781,
    "defense_index": 1.3609,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 3.0,
      "run_differential": 16.0
    },
    "available": true,
    "quality_score": 0.4807
  },
  "edges": {
    "quality_edge": -0.579,
    "offense_edge": -0.0404,
    "opponent_offense_edge": 0.1781,
    "defense_strength": -0.0043,
    "opponent_defense_weakness": -0.3609,
    "recent_win_pct_edge": -0.3
  },
  "player_factors": {
    "ip": 0.9696,
    "run_prevention": 1.0579,
    "strikeout": 0.9684
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "664126",
    "profile": {
      "available": true,
      "pitcher_id": "664126",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 39.0,
        "k_percent": 32.6,
        "bb_percent": 10.9,
        "woba": 0.338,
        "xwoba": 0.284,
        "sweet_spot_percent": 36.0,
        "barrel_batted_rate": 16.7,
        "hard_hit_percent": 44.0,
        "avg_best_speed": 84.8024,
        "avg_hyper_speed": 96.2823,
        "whiff_percent": 27.1,
        "swing_percent": 44.3
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": -0.4292,
        "command_and_miss": 0.6314,
        "regression_edge": 1.5429,
        "xwoba_edge": 0.8,
        "barrel_edge": -2.1111,
        "hard_hit_edge": -0.7571,
        "whiff_edge": 0.2,
        "bb_edge": -0.375,
        "pitch_design_score": 0.1172
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "664126",
        "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": 91.7766147601445,
          "release_spin_rate": 2472.9861790764535,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 91.7766147601445,
            "release_spin_rate": 2472.9861790764535,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.7766,
          "release_spin_rate": 2472.9862,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.1172,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.8372,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.0394,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9967,
      "strikeout_factor": 1.0291,
      "walk_factor": 1.0135,
      "homer_factor": 1.0788,
      "woba_minus_xwoba": 0.054,
      "regression_flag": "positive_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "664126",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 0.9985,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9985,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0061,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0355,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 3.0,
        "factor": 1.0131,
        "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.0,
    "ER": 10,
    "H": 9,
    "BB": 5,
    "SO": 14,
    "HR": 1,
    "ERA": 10.0,
    "WHIP": 1.5555555555555556,
    "K9": 14.0,
    "HR9": 1.0,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": true
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-05-16T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "664126",
  "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": 91.7766147601445,
    "release_spin_rate": 2472.9861790764535,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 91.7766147601445,
      "release_spin_rate": 2472.9861790764535,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.7766,
    "release_spin_rate": 2472.9862,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1172,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.8372,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 1.981,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.2838,
    "prior_weight": 0.7162
  },
  "role": "pitcher",
  "player_id": "664126",
  "report_date": "20260521_A",
  "season_year": 2026,
  "rows_used": 11,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.0,
        "ER": 4.0,
        "R": 5.0,
        "H": 3.0,
        "BB": 4.0,
        "SO": 7.0,
        "HR": 0.0,
        "BF": 19.0,
        "Pitches": 91.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.8,
        "R": 1.0,
        "H": 0.6,
        "BB": 0.8,
        "SO": 1.4,
        "HR": 0.0,
        "BF": 3.8,
        "Pitches": 18.2
      },
      "rates": {
        "ERA": 9.0,
        "WHIP": 1.75,
        "ER_per_IP": 1.0,
        "H_per_IP": 0.75,
        "BB_per_IP": 1.0,
        "SO_per_IP": 1.75,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.0,
        "ER": 10.0,
        "R": 11.0,
        "H": 9.0,
        "BB": 5.0,
        "SO": 14.0,
        "HR": 1.0,
        "BF": 42.0,
        "Pitches": 180.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 1.0,
        "R": 1.1,
        "H": 0.9,
        "BB": 0.5,
        "SO": 1.4,
        "HR": 0.1,
        "BF": 4.2,
        "Pitches": 18.0
      },
      "rates": {
        "ERA": 10.0,
        "WHIP": 1.5556,
        "ER_per_IP": 1.11111,
        "H_per_IP": 1.0,
        "BB_per_IP": 0.55556,
        "SO_per_IP": 1.55556,
        "HR_per_IP": 0.11111
      }
    },
    "season": {
      "games": 11,
      "totals": {
        "IP": 10.0,
        "ER": 10.0,
        "R": 11.0,
        "H": 10.0,
        "BB": 5.0,
        "SO": 15.0,
        "HR": 1.0,
        "BF": 46.0,
        "Pitches": 192.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.9091,
        "R": 1.0,
        "H": 0.9091,
        "BB": 0.4545,
        "SO": 1.3636,
        "HR": 0.0909,
        "BF": 4.1818,
        "Pitches": 17.4545
      },
      "rates": {
        "ERA": 9.0,
        "WHIP": 1.5,
        "ER_per_IP": 1.0,
        "H_per_IP": 1.0,
        "BB_per_IP": 0.5,
        "SO_per_IP": 1.5,
        "HR_per_IP": 0.1
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.605,
    "predicted_H": 0.887,
    "predicted_BB": 0.46,
    "predicted_SO": 1.096,
    "predicted_HR": 0.105,
    "predicted_ERA": 5.6894,
    "predicted_WHIP": 1.4067
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.6526,
  "form_weight": 0.3474,
  "form_reliability": 0.2838,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 1.981,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.2838,
    "prior_weight": 0.7162
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 0.605,
      "final": 0.8628,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 3.0,
      "form": 0.887,
      "final": 2.2659,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.46,
      "final": 0.8124,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.096,
      "final": 1.0334,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.105,
      "final": 0.0365,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 5.6894,
      "final": 5.6894,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.4067,
      "final": 1.4067,
      "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
PitcherTyler Phillips
RoleMiddle Reliever
Projection Source-
Savant Quality Score0.0402
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0302
Avg Velo89.1434
Avg Spin2043.7552
HB Inches0
IVB Inches0
Release Extension0
Pre IP0.1000
Pre ER0
Pre H0
Pre BB0
Pre SO0
Season ERA1.2000
Season WHIP1.2667
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "MIA",
    "games": 55,
    "wins": 25,
    "losses": 30,
    "win_pct": 0.4545,
    "runs_scored": 236.0,
    "runs_allowed": 247.0,
    "run_differential": -11.0,
    "run_differential_per_game": -0.2,
    "avg_runs_scored": 4.2909,
    "avg_runs_allowed": 4.4909,
    "offense_index": 0.9596,
    "defense_index": 0.9957,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.7,
      "avg_runs_allowed": 5.4,
      "run_differential": -7.0
    },
    "available": true,
    "quality_score": -0.0983
  },
  "opponent": {
    "team": "ATL",
    "games": 56,
    "wins": 39,
    "losses": 17,
    "win_pct": 0.6964,
    "runs_scored": 295.0,
    "runs_allowed": 184.0,
    "run_differential": 111.0,
    "run_differential_per_game": 1.9821,
    "avg_runs_scored": 5.2679,
    "avg_runs_allowed": 3.2857,
    "offense_index": 1.1781,
    "defense_index": 1.3609,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 3.0,
      "run_differential": 16.0
    },
    "available": true,
    "quality_score": 0.4807
  },
  "edges": {
    "quality_edge": -0.579,
    "offense_edge": -0.0404,
    "opponent_offense_edge": 0.1781,
    "defense_strength": -0.0043,
    "opponent_defense_weakness": -0.3609,
    "recent_win_pct_edge": -0.3
  },
  "player_factors": {
    "ip": 0.9696,
    "run_prevention": 1.0579,
    "strikeout": 0.9684
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "663969",
    "profile": {
      "available": true,
      "pitcher_id": "663969",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 116.0,
        "k_percent": 21.6,
        "bb_percent": 12.9,
        "woba": 0.276,
        "xwoba": 0.304,
        "sweet_spot_percent": 32.0,
        "barrel_batted_rate": 6.7,
        "hard_hit_percent": 36.0,
        "avg_best_speed": 79.3434,
        "avg_hyper_speed": 93.0846,
        "whiff_percent": 30.7,
        "swing_percent": 44.5
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": 0.2999,
        "command_and_miss": 0.0043,
        "regression_edge": -0.8,
        "xwoba_edge": 0.2286,
        "barrel_edge": 0.1111,
        "hard_hit_edge": 0.3857,
        "whiff_edge": 0.7143,
        "bb_edge": -0.875,
        "pitch_design_score": -0.0302
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "663969",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 29,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 29,
          "pitch_usage": 0.0,
          "release_speed": 89.14344618061976,
          "release_spin_rate": 2043.755196844301,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 29,
            "pitch_usage": 0.0,
            "release_speed": 89.14344618061976,
            "release_spin_rate": 2043.755196844301,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.1434,
          "release_spin_rate": 2043.7552,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.0302,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.216,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.0402,
      "sample_weight": 0.464,
      "run_prevention_factor": 0.9966,
      "strikeout_factor": 1.0103,
      "walk_factor": 1.0325,
      "homer_factor": 0.9855,
      "woba_minus_xwoba": -0.028,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "663969",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9984,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9984,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0151,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9933,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0048,
        "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": 19.1,
    "ER": 3,
    "H": 16,
    "BB": 11,
    "SO": 15,
    "HR": 1,
    "ERA": 1.396551724137931,
    "WHIP": 1.396551724137931,
    "K9": 6.982758620689656,
    "HR9": 0.4655172413793104,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-05-20T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "663969",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 29,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 29,
    "pitch_usage": 0.0,
    "release_speed": 89.14344618061976,
    "release_spin_rate": 2043.755196844301,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 29,
      "pitch_usage": 0.0,
      "release_speed": 89.14344618061976,
      "release_spin_rate": 2043.755196844301,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.1434,
    "release_spin_rate": 2043.7552,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0302,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.216,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 5.943,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5431,
    "prior_weight": 0.4569
  },
  "role": "pitcher",
  "player_id": "663969",
  "report_date": "20260521_A",
  "season_year": 2026,
  "rows_used": 15,
  "reference_playing_time": 0.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 11.2,
        "ER": 1.0,
        "R": 2.0,
        "H": 9.0,
        "BB": 4.0,
        "SO": 8.0,
        "HR": 0.0,
        "BF": 48.0,
        "Pitches": 176.0
      },
      "per_game": {
        "IP": 2.1,
        "ER": 0.2,
        "R": 0.4,
        "H": 1.8,
        "BB": 0.8,
        "SO": 1.6,
        "HR": 0.0,
        "BF": 9.6,
        "Pitches": 35.2
      },
      "rates": {
        "ERA": 0.7714,
        "WHIP": 1.1143,
        "ER_per_IP": 0.08571,
        "H_per_IP": 0.77143,
        "BB_per_IP": 0.34286,
        "SO_per_IP": 0.68571,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 19.1,
        "ER": 3.0,
        "R": 4.0,
        "H": 16.0,
        "BB": 11.0,
        "SO": 15.0,
        "HR": 1.0,
        "BF": 83.0,
        "Pitches": 326.0
      },
      "per_game": {
        "IP": 2.0,
        "ER": 0.3,
        "R": 0.4,
        "H": 1.6,
        "BB": 1.1,
        "SO": 1.5,
        "HR": 0.1,
        "BF": 8.3,
        "Pitches": 32.6
      },
      "rates": {
        "ERA": 1.3966,
        "WHIP": 1.3966,
        "ER_per_IP": 0.15517,
        "H_per_IP": 0.82759,
        "BB_per_IP": 0.56897,
        "SO_per_IP": 0.77586,
        "HR_per_IP": 0.05172
      }
    },
    "season": {
      "games": 15,
      "totals": {
        "IP": 30.0,
        "ER": 4.0,
        "R": 6.0,
        "H": 22.0,
        "BB": 16.0,
        "SO": 27.0,
        "HR": 1.0,
        "BF": 128.0,
        "Pitches": 497.0
      },
      "per_game": {
        "IP": 2.0,
        "ER": 0.2667,
        "R": 0.4,
        "H": 1.4667,
        "BB": 1.0667,
        "SO": 1.8,
        "HR": 0.0667,
        "BF": 8.5333,
        "Pitches": 33.1333
      },
      "rates": {
        "ERA": 1.2,
        "WHIP": 1.2667,
        "ER_per_IP": 0.13333,
        "H_per_IP": 0.73333,
        "BB_per_IP": 0.53333,
        "SO_per_IP": 0.9,
        "HR_per_IP": 0.03333
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 1.1,
    "predicted_ER": 0.37,
    "predicted_H": 1.129,
    "predicted_BB": 0.557,
    "predicted_SO": 1.119,
    "predicted_HR": 0.096,
    "predicted_ERA": 2.5211,
    "predicted_WHIP": 1.2773
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.543,
  "form_weight": 0.457,
  "form_reliability": 0.5431,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 5.943,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5431,
    "prior_weight": 0.4569
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.1,
      "form": 1.1,
      "final": 0.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.37,
      "final": 0.1691,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 1.129,
      "final": 0.5159,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.557,
      "final": 0.2545,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 1.119,
      "final": 0.5113,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.096,
      "final": 0.0439,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.5211,
      "final": 2.5211,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2773,
      "final": 1.2773,
      "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 · DH · Team MIA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 173
All-history rows before 20260521: 173
System season_avg: 0.3060
Data season_avg (2026 season-to-date): 0.3065
Diff (system - data): -0.0005
System opponent_avg: 0.2140

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1040.0000.000Hitting_2B0.1040.000-0.1040.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.6004.0007.000Hitting_AB3.5843.0000.4161.000
predicted_AVG0.2520.2500.286Hitting_AVG0.3060.000-0.0560.250
predicted_BB0.3010.0001.000Hitting_BB0.3010.000-0.3010.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.9101.0002.000Hitting_H1.0980.000-0.0981.000
predicted_HR0.1200.0000.000Hitting_HR0.2250.000-0.2250.000
predicted_OBP0.3290.2500.375Hitting_OBP0.3670.000-0.1170.250
predicted_R0.5380.0001.000Hitting_R0.5380.000-0.5380.000
predicted_RBI0.7000.0002.000Hitting_RBI1.0920.000-1.0920.000
predicted_SLG0.4060.2500.286Hitting_SLG0.5240.000-0.2740.250
predicted_SO0.3530.0001.000Hitting_SO0.3531.000-0.353-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectdeboosted
Changed Metrics10
Boosted Metrics4
Deboosted Metrics6
Better Metrics5
Worse Metrics5
Biggest Boostpredicted_AB: 3.6000 -> 4.0000 (boost 0.4000, better)
Biggest Deboostpredicted_RBI: 0.7000 -> 0.0000 (deboost -0.7000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend11110101predicted_AB: 3.6000 -> 7.0215 (boost 3.4215, 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_snapshot40404-predicted_RBI: 1.9284 -> 1.7142 (deboost -0.2142, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling63324predicted_BB: 0.5137 -> 1.0000 (boost 0.4863, better)predicted_HBP: 0.6590 -> 0.0000 (deboost -0.6590, worse)AB rounded to 7 (raw=7.02), rates preserved: AVG=0.284 HR/AB=0.041
5consistency_constraints11010predicted_R: 0.7968 -> 1.0000 (boost 0.2032, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context21111predicted_OBP: 0.3326 -> 0.3750 (boost 0.0424, better)predicted_SLG: 0.4587 -> 0.2860 (deboost -0.1727, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference60615-predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final21111predicted_SLG: 0.2860 -> 0.4587 (boost 0.1727, better)predicted_OBP: 0.3750 -> 0.3326 (deboost -0.0424, 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": "DH",
  "team": "MIA",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.104,
        "predicted_3B": 0.0,
        "predicted_AB": 3.6,
        "predicted_AVG": 0.252,
        "predicted_BB": 0.301,
        "predicted_H": 0.91,
        "predicted_HR": 0.12,
        "predicted_OBP": 0.329,
        "predicted_R": 0.538,
        "predicted_RBI": 0.7,
        "predicted_SLG": 0.406,
        "predicted_SO": 0.353
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.3555,
        "predicted_3B": 0.0009,
        "predicted_AB": 7.0215,
        "predicted_AVG": 0.2835,
        "predicted_BB": 0.5236,
        "predicted_H": 2.131,
        "predicted_HBP": 0.659,
        "predicted_HR": 0.3123,
        "predicted_OBP": 0.3568,
        "predicted_R": 0.8964,
        "predicted_RBI": 1.9284,
        "predicted_SLG": 0.4606,
        "predicted_SO": 0.6912
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.104,
          "after": 0.3555,
          "delta": 0.2515,
          "percent_delta": 2.4183,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6,
          "after": 7.0215,
          "delta": 3.4215,
          "percent_delta": 0.9504,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.252,
          "after": 0.2835,
          "delta": 0.0315,
          "percent_delta": 0.125,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.301,
          "after": 0.5236,
          "delta": 0.2226,
          "percent_delta": 0.7395,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.91,
          "after": 2.131,
          "delta": 1.221,
          "percent_delta": 1.3418,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.12,
          "after": 0.3123,
          "delta": 0.1923,
          "percent_delta": 1.6025,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.329,
          "after": 0.3568,
          "delta": 0.0278,
          "percent_delta": 0.0845,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.538,
          "after": 0.8964,
          "delta": 0.3584,
          "percent_delta": 0.6662,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7,
          "after": 1.9284,
          "delta": 1.2284,
          "percent_delta": 1.7549,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.406,
          "after": 0.4606,
          "delta": 0.0546,
          "percent_delta": 0.1345,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.353,
          "after": 0.6912,
          "delta": 0.3382,
          "percent_delta": 0.9581,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 11,
        "boosted_metrics": 11,
        "deboosted_metrics": 0,
        "better_metrics": 10,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.6,
          "after": 7.0215,
          "delta": 3.4215,
          "percent_delta": 0.9504,
          "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": 3,
        "last_10": 4,
        "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.3555,
        "predicted_3B": 0.0009,
        "predicted_AB": 7.0215,
        "predicted_AVG": 0.2837,
        "predicted_BB": 0.5137,
        "predicted_H": 1.9923,
        "predicted_HBP": 0.659,
        "predicted_HR": 0.2905,
        "predicted_OBP": 0.3326,
        "predicted_R": 0.7968,
        "predicted_RBI": 1.7142,
        "predicted_SLG": 0.4587,
        "predicted_SO": 0.7043
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.3555,
          "after": 0.3555,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.0215,
          "after": 7.0215,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2835,
          "after": 0.2837,
          "delta": 0.0002,
          "percent_delta": 0.0007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.5236,
          "after": 0.5137,
          "delta": -0.0099,
          "percent_delta": -0.0189,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.131,
          "after": 1.9923,
          "delta": -0.1387,
          "percent_delta": -0.0651,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.659,
          "after": 0.659,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.3123,
          "after": 0.2905,
          "delta": -0.0218,
          "percent_delta": -0.0698,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3568,
          "after": 0.3326,
          "delta": -0.0242,
          "percent_delta": -0.0678,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.8964,
          "after": 0.7968,
          "delta": -0.0996,
          "percent_delta": -0.1111,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.9284,
          "after": 1.7142,
          "delta": -0.2142,
          "percent_delta": -0.1111,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4606,
          "after": 0.4587,
          "delta": -0.0019,
          "percent_delta": -0.0041,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.6912,
          "after": 0.7043,
          "delta": 0.0131,
          "percent_delta": 0.019,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.9284,
          "after": 1.7142,
          "delta": -0.2142,
          "percent_delta": -0.1111,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 7 (raw=7.02), rates preserved: AVG=0.284 HR/AB=0.041",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.3555,
          "after": 0.0,
          "delta": -0.3555,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.0215,
          "after": 7.0,
          "delta": -0.0215,
          "percent_delta": -0.0031,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.5137,
          "after": 1.0,
          "delta": 0.4863,
          "percent_delta": 0.9467,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.9923,
          "after": 2.0,
          "delta": 0.0077,
          "percent_delta": 0.0039,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.659,
          "after": 0.0,
          "delta": -0.659,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2905,
          "after": 0.0,
          "delta": -0.2905,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.7142,
          "after": 2.0,
          "delta": 0.2858,
          "percent_delta": 0.1667,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7043,
          "after": 1.0,
          "delta": 0.2957,
          "percent_delta": 0.4198,
          "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.5137,
          "after": 1.0,
          "delta": 0.4863,
          "percent_delta": 0.9467,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HBP",
          "before": 0.659,
          "after": 0.0,
          "delta": -0.659,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.0,
          "after": 7.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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.7968,
          "after": 1.0,
          "delta": 0.2032,
          "percent_delta": 0.255,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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_SO",
          "before": 1.0,
          "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.7968,
          "after": 1.0,
          "delta": 0.2032,
          "percent_delta": 0.255,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.0,
        "predicted_AVG": 0.286,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.375,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SLG": 0.286,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.0,
          "after": 7.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2837,
          "after": 0.286,
          "delta": 0.0023,
          "percent_delta": 0.0081,
          "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": 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.3326,
          "after": 0.375,
          "delta": 0.0424,
          "percent_delta": 0.1275,
          "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_SLG",
          "before": 0.4587,
          "after": 0.286,
          "delta": -0.1727,
          "percent_delta": -0.3765,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "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.3326,
          "after": 0.375,
          "delta": 0.0424,
          "percent_delta": 0.1275,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4587,
          "after": 0.286,
          "delta": -0.1727,
          "percent_delta": -0.3765,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.0,
          "after": 4.0,
          "delta": -3.0,
          "percent_delta": -0.4286,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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": 2.0,
          "after": 0.0,
          "delta": -2.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": 0,
        "deboosted_metrics": 6,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 7.0,
          "after": 4.0,
          "delta": -3.0,
          "percent_delta": -0.4286,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2837,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_DH": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3326,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4587,
        "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.286,
          "after": 0.2837,
          "delta": -0.0023,
          "percent_delta": -0.0079,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.375,
          "after": 0.3326,
          "delta": -0.0424,
          "percent_delta": -0.1132,
          "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.286,
          "after": 0.4587,
          "delta": 0.1727,
          "percent_delta": 0.604,
          "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.286,
          "after": 0.4587,
          "delta": 0.1727,
          "percent_delta": 0.604,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.375,
          "after": 0.3326,
          "delta": -0.0424,
          "percent_delta": -0.1132,
          "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.104,
        "after": 0.0,
        "delta": -0.104,
        "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.6,
        "after": 4.0,
        "delta": 0.4,
        "percent_delta": 0.1111,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.252,
        "after": 0.2837,
        "delta": 0.0317,
        "percent_delta": 0.1258,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.301,
        "after": 0.0,
        "delta": -0.301,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.91,
        "after": 1.0,
        "delta": 0.09,
        "percent_delta": 0.0989,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.12,
        "after": 0.0,
        "delta": -0.12,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.329,
        "after": 0.3326,
        "delta": 0.0036,
        "percent_delta": 0.0109,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "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.7,
        "after": 0.0,
        "delta": -0.7,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.406,
        "after": 0.4587,
        "delta": 0.0527,
        "percent_delta": 0.1298,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.353,
        "after": 0.0,
        "delta": -0.353,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 4,
      "deboosted_metrics": 6,
      "better_metrics": 5,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.6,
        "after": 4.0,
        "delta": 0.4,
        "percent_delta": 0.1111,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.7,
        "after": 0.0,
        "delta": -0.7,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "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.104-
predicted_3B0.000-
predicted_AB3.600-
predicted_AVG0.252-
predicted_BB0.301-
predicted_H0.910-
predicted_HR0.120-
predicted_OBP0.329-
predicted_R0.538-
predicted_RBI0.700-
predicted_SLG0.406-
predicted_SO0.353-
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.3550.252
predicted_3B0.0010.001
predicted_AB7.0213.421
predicted_AVG0.2830.031
predicted_BB0.5240.223
predicted_H2.1311.221
predicted_HBP0.659-
predicted_HR0.3120.192
predicted_OBP0.3570.028
predicted_R0.8960.358
predicted_RBI1.9281.228
predicted_SLG0.4610.055
predicted_SO0.6910.338
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.3550.000
predicted_3B0.0010.000
predicted_AB7.0210.000
predicted_AVG0.2840.000
predicted_BB0.514-0.010
predicted_H1.992-0.139
predicted_HBP0.6590.000
predicted_HR0.290-0.022
predicted_OBP0.333-0.024
predicted_R0.797-0.100
predicted_RBI1.714-0.214
predicted_SLG0.459-0.002
predicted_SO0.7040.013
4. ab_floor_and_scaling

AB rounded to 7 (raw=7.02), rates preserved: AVG=0.284 HR/AB=0.041

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB7.000-
BB1.000-
H2.000-
HBP0.000-
HR0.000-
RBI2.000-
SB0.000-
SO1.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB7.0000.000
BB1.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI2.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
6. 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.355
predicted_3B0.000-0.001
predicted_AB7.000-0.021
predicted_AVG0.2860.002
predicted_BB1.0000.486
predicted_H2.0000.008
predicted_HR0.000-0.290
predicted_OBP0.3750.042
predicted_R1.0000.203
predicted_RBI2.0000.286
predicted_SLG0.286-0.173
predicted_SO1.0000.296
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.000-3.000
BB0.000-1.000
CS0.0000.000
H1.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-1.000
RBI0.000-2.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: 173
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.203-16.0007.0003.0000.0000.0006.0000.0000.0001.0000.43750.52630.62500.43750.00000.37500.00000.0625
last_100.204-36.00011.0005.0000.0000.00010.0000.0003.0004.0000.30560.43180.44440.30560.00000.27780.08330.1111
season0.6047-620.000190.00018.0000.00039.000189.00093.00052.00061.0000.30650.36720.52420.30650.06290.30480.08390.0984
Weighted Prediction From Real Data
MetricValue
predicted_2B0.6780
predicted_3B0.0020
predicted_AB11.4100
predicted_AVG0.3240
predicted_BB0.8090
predicted_H3.6970
predicted_HBP0.6590
predicted_HR0.5590
predicted_OBP0.3924
predicted_R1.3560
predicted_RBI3.5040
predicted_SLG0.5307
predicted_SO1.1250
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.10400.67800.3555model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB3.600011.41007.0215model_form_blend
predicted_AVG0.25200.32400.2835model_form_blend
predicted_BB0.30100.80900.5236model_form_blend
predicted_H0.91003.69702.1310model_form_blend
predicted_HBP-0.65900.6590form_only
predicted_HR0.12000.55900.3123model_form_blend
predicted_OBP0.32900.39240.3568model_form_blend
predicted_R0.53801.35600.8964model_form_blend
predicted_RBI0.70003.50401.9284model_form_blend
predicted_SLG0.40600.53070.4606model_form_blend
predicted_SO0.35301.12500.6912model_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 date173
Season rows before report date173
Report year2026
Profile rows used173
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.306

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball1
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder8
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedC
gameID20260520_ATL@MIA
game_typefull
mlbID689414
playerID689414
playerNameLiam Hicks
posC
startedTrue
startingPositionC
teamMIA
teamID15
game_date2026-05-20
sl_k_percent8.8
sl_bb_percent7.6
sl_woba0.372
sl_xwoba0.349
sl_xba0.287
sl_xslg0.433
sl_sweet_spot_percent30.9
sl_barrel_batted_rate5.8
sl_hard_hit_percent38.1
sl_exit_velocity_avg87.9
sl_launch_angle_avg14.5
sl_whiff_percent10.7
sl_swing_percent44.6
Otto Lopez (672640) · BATTER · SS · Team MIA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 206
All-history rows before 20260521: 206
System season_avg: 0.3560
Data season_avg (2026 season-to-date): 0.3556
Diff (system - data): 0.0004
System opponent_avg: 0.3710

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2670.0001.000Hitting_2B0.2670.000-0.2670.000
predicted_3B0.0490.0000.000Hitting_3B0.0490.000-0.0490.000
predicted_AB4.3004.0009.000Hitting_AB4.0684.000-0.0680.000
predicted_AVG0.2720.2500.333Hitting_AVG0.3560.500-0.106-0.250
predicted_BB0.1700.0001.000Hitting_BB0.1700.000-0.1700.000
predicted_CS-0.0000.000BaseRunning_CS0.0630.000-0.0630.000
predicted_H1.1701.0003.000Hitting_H1.4472.000-0.447-1.000
predicted_HR0.1000.0000.000Hitting_HR0.0920.000-0.0920.000
predicted_OBP0.3620.2500.400Hitting_OBP0.3870.500-0.137-0.250
predicted_R0.6500.0001.000Hitting_R0.6500.000-0.6500.000
predicted_RBI0.4600.0001.000Hitting_RBI0.4710.000-0.4710.000
predicted_SLG0.4440.2500.444Hitting_SLG0.5130.500-0.263-0.250
predicted_SO0.6991.0001.000Hitting_SO0.6990.0000.3011.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics4
Deboosted Metrics7
Better Metrics3
Worse Metrics8
Biggest Boostpredicted_SO: 0.6990 -> 1.0000 (boost 0.3010, worse)
Biggest Deboostpredicted_R: 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_blend11110101predicted_AB: 4.3000 -> 9.3250 (boost 5.0250, 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_snapshot61515predicted_AVG: 0.3253 -> 0.3382 (boost 0.0129, better)predicted_H: 3.3735 -> 3.1539 (deboost -0.2196, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling93645predicted_2B: 0.5265 -> 1.0000 (boost 0.4735, better)predicted_SO: 1.4637 -> 1.0000 (deboost -0.4637, better)AB rounded to 9 (raw=9.32), rates preserved: AVG=0.338 HR/AB=0.019
5consistency_constraints10101-predicted_R: 1.4890 -> 1.0000 (deboost -0.4890, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context31212predicted_OBP: 0.3738 -> 0.4000 (boost 0.0262, better)predicted_SLG: 0.4718 -> 0.4440 (deboost -0.0278, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference60606-predicted_AB: 9.0000 -> 4.0000 (deboost -5.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final32121predicted_SLG: 0.4440 -> 0.4718 (boost 0.0278, better)predicted_OBP: 0.4000 -> 0.3738 (deboost -0.0262, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "672640",
  "player_name": "Otto Lopez",
  "position": "SS",
  "team": "MIA",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.267,
        "predicted_3B": 0.049,
        "predicted_AB": 4.3,
        "predicted_AVG": 0.272,
        "predicted_BB": 0.17,
        "predicted_H": 1.17,
        "predicted_HR": 0.1,
        "predicted_OBP": 0.362,
        "predicted_R": 0.65,
        "predicted_RBI": 0.46,
        "predicted_SLG": 0.444,
        "predicted_SO": 0.699
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.5265,
        "predicted_3B": 0.0948,
        "predicted_AB": 9.325,
        "predicted_AVG": 0.3253,
        "predicted_BB": 0.5409,
        "predicted_H": 3.3735,
        "predicted_HBP": 0.216,
        "predicted_HR": 0.1899,
        "predicted_OBP": 0.3917,
        "predicted_R": 1.6751,
        "predicted_RBI": 0.9327,
        "predicted_SLG": 0.4797,
        "predicted_SO": 1.4364
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.267,
          "after": 0.5265,
          "delta": 0.2595,
          "percent_delta": 0.9719,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.049,
          "after": 0.0948,
          "delta": 0.0458,
          "percent_delta": 0.9347,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.3,
          "after": 9.325,
          "delta": 5.025,
          "percent_delta": 1.1686,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.272,
          "after": 0.3253,
          "delta": 0.0533,
          "percent_delta": 0.196,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.17,
          "after": 0.5409,
          "delta": 0.3709,
          "percent_delta": 2.1818,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.17,
          "after": 3.3735,
          "delta": 2.2035,
          "percent_delta": 1.8833,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1,
          "after": 0.1899,
          "delta": 0.0899,
          "percent_delta": 0.899,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.362,
          "after": 0.3917,
          "delta": 0.0297,
          "percent_delta": 0.082,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.65,
          "after": 1.6751,
          "delta": 1.0251,
          "percent_delta": 1.5771,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.46,
          "after": 0.9327,
          "delta": 0.4727,
          "percent_delta": 1.0276,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.444,
          "after": 0.4797,
          "delta": 0.0357,
          "percent_delta": 0.0804,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.699,
          "after": 1.4364,
          "delta": 0.7374,
          "percent_delta": 1.0549,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 11,
        "boosted_metrics": 11,
        "deboosted_metrics": 0,
        "better_metrics": 10,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.3,
          "after": 9.325,
          "delta": 5.025,
          "percent_delta": 1.1686,
          "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": 2,
        "last_10": 3,
        "season": 49
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.5265,
        "predicted_3B": 0.0948,
        "predicted_AB": 9.325,
        "predicted_AVG": 0.3382,
        "predicted_BB": 0.5306,
        "predicted_H": 3.1539,
        "predicted_HBP": 0.216,
        "predicted_HR": 0.1766,
        "predicted_OBP": 0.3738,
        "predicted_R": 1.489,
        "predicted_RBI": 0.8291,
        "predicted_SLG": 0.4718,
        "predicted_SO": 1.4637
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.5265,
          "after": 0.5265,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0948,
          "after": 0.0948,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.325,
          "after": 9.325,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3253,
          "after": 0.3382,
          "delta": 0.0129,
          "percent_delta": 0.0397,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5409,
          "after": 0.5306,
          "delta": -0.0103,
          "percent_delta": -0.019,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 3.3735,
          "after": 3.1539,
          "delta": -0.2196,
          "percent_delta": -0.0651,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.216,
          "after": 0.216,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1899,
          "after": 0.1766,
          "delta": -0.0133,
          "percent_delta": -0.07,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3917,
          "after": 0.3738,
          "delta": -0.0179,
          "percent_delta": -0.0457,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.6751,
          "after": 1.489,
          "delta": -0.1861,
          "percent_delta": -0.1111,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.9327,
          "after": 0.8291,
          "delta": -0.1036,
          "percent_delta": -0.1111,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4797,
          "after": 0.4718,
          "delta": -0.0079,
          "percent_delta": -0.0165,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.4364,
          "after": 1.4637,
          "delta": 0.0273,
          "percent_delta": 0.019,
          "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.3253,
          "after": 0.3382,
          "delta": 0.0129,
          "percent_delta": 0.0397,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 3.3735,
          "after": 3.1539,
          "delta": -0.2196,
          "percent_delta": -0.0651,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 9 (raw=9.32), rates preserved: AVG=0.338 HR/AB=0.019",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 1.0,
        "predicted_H": 3.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.5265,
          "after": 1.0,
          "delta": 0.4735,
          "percent_delta": 0.8993,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0948,
          "after": 0.0,
          "delta": -0.0948,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 9.325,
          "after": 9.0,
          "delta": -0.325,
          "percent_delta": -0.0349,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5306,
          "after": 1.0,
          "delta": 0.4694,
          "percent_delta": 0.8847,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 3.1539,
          "after": 3.0,
          "delta": -0.1539,
          "percent_delta": -0.0488,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.216,
          "after": 0.0,
          "delta": -0.216,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1766,
          "after": 0.0,
          "delta": -0.1766,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.8291,
          "after": 1.0,
          "delta": 0.1709,
          "percent_delta": 0.2061,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.4637,
          "after": 1.0,
          "delta": -0.4637,
          "percent_delta": -0.3168,
          "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_2B",
          "before": 0.5265,
          "after": 1.0,
          "delta": 0.4735,
          "percent_delta": 0.8993,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.4637,
          "after": 1.0,
          "delta": -0.4637,
          "percent_delta": -0.3168,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.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": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "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": 9.0,
          "after": 9.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": 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_R",
          "before": 1.489,
          "after": 1.0,
          "delta": -0.489,
          "percent_delta": -0.3284,
          "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": 1.489,
          "after": 1.0,
          "delta": -0.489,
          "percent_delta": -0.3284,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_AVG": 0.333,
        "predicted_BB": 1.0,
        "predicted_H": 3.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.4,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.444,
        "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": 9.0,
          "after": 9.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3382,
          "after": 0.333,
          "delta": -0.0052,
          "percent_delta": -0.0154,
          "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": 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_OBP",
          "before": 0.3738,
          "after": 0.4,
          "delta": 0.0262,
          "percent_delta": 0.0701,
          "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.4718,
          "after": 0.444,
          "delta": -0.0278,
          "percent_delta": -0.0589,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.3738,
          "after": 0.4,
          "delta": 0.0262,
          "percent_delta": 0.0701,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4718,
          "after": 0.444,
          "delta": -0.0278,
          "percent_delta": -0.0589,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 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": 9.0,
          "after": 4.0,
          "delta": -5.0,
          "percent_delta": -0.5556,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 3.0,
          "after": 1.0,
          "delta": -2.0,
          "percent_delta": -0.6667,
          "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": 6,
        "boosted_metrics": 0,
        "deboosted_metrics": 6,
        "better_metrics": 0,
        "worse_metrics": 6,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 4.0,
          "delta": -5.0,
          "percent_delta": -0.5556,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.3382,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3738,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4718,
        "predicted_SO": 1.0,
        "predicted_SS": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.333,
          "after": 0.3382,
          "delta": 0.0052,
          "percent_delta": 0.0157,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.4,
          "after": 0.3738,
          "delta": -0.0262,
          "percent_delta": -0.0654,
          "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.444,
          "after": 0.4718,
          "delta": 0.0278,
          "percent_delta": 0.0627,
          "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.444,
          "after": 0.4718,
          "delta": 0.0278,
          "percent_delta": 0.0627,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.4,
          "after": 0.3738,
          "delta": -0.0262,
          "percent_delta": -0.0654,
          "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.267,
        "after": 0.0,
        "delta": -0.267,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.049,
        "after": 0.0,
        "delta": -0.049,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.3,
        "after": 4.0,
        "delta": -0.3,
        "percent_delta": -0.0698,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.272,
        "after": 0.3382,
        "delta": 0.0662,
        "percent_delta": 0.2434,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.17,
        "after": 0.0,
        "delta": -0.17,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.17,
        "after": 1.0,
        "delta": -0.17,
        "percent_delta": -0.1453,
        "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.362,
        "after": 0.3738,
        "delta": 0.0118,
        "percent_delta": 0.0326,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.65,
        "after": 0.0,
        "delta": -0.65,
        "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.444,
        "after": 0.4718,
        "delta": 0.0278,
        "percent_delta": 0.0626,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.699,
        "after": 1.0,
        "delta": 0.301,
        "percent_delta": 0.4306,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 4,
      "deboosted_metrics": 7,
      "better_metrics": 3,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.699,
        "after": 1.0,
        "delta": 0.301,
        "percent_delta": 0.4306,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "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.267-
predicted_3B0.049-
predicted_AB4.300-
predicted_AVG0.272-
predicted_BB0.170-
predicted_H1.170-
predicted_HR0.100-
predicted_OBP0.362-
predicted_R0.650-
predicted_RBI0.460-
predicted_SLG0.444-
predicted_SO0.699-
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.5260.259
predicted_3B0.0950.046
predicted_AB9.3255.025
predicted_AVG0.3250.053
predicted_BB0.5410.371
predicted_H3.3732.204
predicted_HBP0.216-
predicted_HR0.1900.090
predicted_OBP0.3920.030
predicted_R1.6751.025
predicted_RBI0.9330.473
predicted_SLG0.4800.036
predicted_SO1.4360.737
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.5260.000
predicted_3B0.0950.000
predicted_AB9.3250.000
predicted_AVG0.3380.013
predicted_BB0.531-0.010
predicted_H3.154-0.220
predicted_HBP0.2160.000
predicted_HR0.177-0.013
predicted_OBP0.374-0.018
predicted_R1.489-0.186
predicted_RBI0.829-0.104
predicted_SLG0.472-0.008
predicted_SO1.4640.027
4. ab_floor_and_scaling

AB rounded to 9 (raw=9.32), rates preserved: AVG=0.338 HR/AB=0.019

MetricValueDelta vs Prev Step
2B1.000-
3B0.000-
AB9.000-
BB1.000-
H3.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB9.0000.000
BB1.0000.000
CS0.000-
H3.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
6. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B1.0000.474
predicted_3B0.000-0.095
predicted_AB9.000-0.325
predicted_AVG0.333-0.005
predicted_BB1.0000.469
predicted_H3.000-0.154
predicted_HR0.000-0.177
predicted_OBP0.4000.026
predicted_R1.000-0.489
predicted_RBI1.0000.171
predicted_SLG0.444-0.028
predicted_SO1.000-0.464
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.000-1.000
3B0.0000.000
AB4.000-5.000
BB0.000-1.000
CS0.0000.000
H1.000-2.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: 206
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.202-20.00014.0000.0000.0000.0000.0008.0004.0000.0000.70000.75000.70000.70000.00000.00000.20000.0000
last_100.203-40.00017.0000.0000.0000.0000.00010.0005.0004.0000.42500.48890.42500.42500.00000.00000.12500.1000
season0.6049-838.000298.00055.00010.00019.00097.000134.00035.000144.0000.35560.38730.51310.35560.02270.11580.04180.1718
Weighted Prediction From Real Data
MetricValue
predicted_2B0.8560
predicted_3B0.1530
predicted_AB15.7070
predicted_AVG0.3929
predicted_BB1.0120
predicted_H6.1720
predicted_HBP0.2160
predicted_HR0.3040
predicted_OBP0.4294
predicted_R2.9770
predicted_RBI1.5330
predicted_SLG0.5250
predicted_SO2.3730
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.26700.85600.5265model_form_blend
predicted_3B0.04900.15300.0948model_form_blend
predicted_AB4.300015.70709.3250model_form_blend
predicted_AVG0.27200.39290.3253model_form_blend
predicted_BB0.17001.01200.5409model_form_blend
predicted_H1.17006.17203.3735model_form_blend
predicted_HBP-0.21600.2160form_only
predicted_HR0.10000.30400.1899model_form_blend
predicted_OBP0.36200.42940.3917model_form_blend
predicted_R0.65002.97701.6751model_form_blend
predicted_RBI0.46001.53300.9327model_form_blend
predicted_SLG0.44400.52500.4797model_form_blend
predicted_SO0.69902.37301.4364model_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 date206
Season rows before report date206
Report year2026
Profile rows used206
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.356

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_SO0
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
allPositionsPlayedSS
gameID20260520_ATL@MIA
game_typefull
mlbID672640
playerID672640
playerNameOtto Lopez
posSS
startedTrue
startingPositionSS
teamMIA
teamID15
game_date2026-05-20
sl_k_percent16.2
sl_bb_percent3.9
sl_woba0.384
sl_xwoba0.336
sl_xba0.289
sl_xslg0.453
sl_sweet_spot_percent30.0
sl_barrel_batted_rate8.8
sl_hard_hit_percent44.4
sl_exit_velocity_avg90.4
sl_launch_angle_avg6.4
sl_whiff_percent21.0
sl_swing_percent48.0
Xavier Edwards (669364) · BATTER · 2B · Team MIA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 209
All-history rows before 20260521: 209
System season_avg: 0.3220
Data season_avg (2026 season-to-date): 0.3220
Diff (system - data): -0.0000
System opponent_avg: 0.3250

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1821.0000.000Hitting_2B0.1820.0000.8181.000
predicted_3B0.0670.0000.000Hitting_3B0.0670.000-0.0670.000
predicted_AB4.1904.0009.000Hitting_AB3.8044.0000.1960.000
predicted_AVG0.2550.2500.222Hitting_AVG0.3220.250-0.0720.000
predicted_BB0.5501.0001.000Hitting_BB0.5500.0000.4501.000
predicted_CS-0.0000.000BaseRunning_CS0.0430.000-0.0430.000
predicted_H1.0701.0002.000Hitting_H1.2251.000-0.2250.000
predicted_HR0.1600.0000.000Hitting_HR0.1240.000-0.1240.000
predicted_OBP0.3500.4000.300Hitting_OBP0.4080.250-0.0080.150
predicted_R0.7891.0002.000Hitting_R0.7891.0000.2110.000
predicted_RBI0.4701.0001.000Hitting_RBI0.4020.0000.5981.000
predicted_SB-0.0000.000BaseRunning_SB0.1290.000-0.1290.000
predicted_SLG0.4550.5000.222Hitting_SLG0.5030.250-0.0030.250
predicted_SO0.4780.0001.000Hitting_SO0.4780.000-0.4780.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_2B: 0.1820 -> 1.0000 (boost 0.8180, better)
Biggest Deboostpredicted_SO: 0.4780 -> 0.0000 (deboost -0.4780, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend12120111predicted_AB: 4.1900 -> 8.9748 (boost 4.7848, 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_snapshot50505-predicted_R: 1.8382 -> 1.6340 (deboost -0.2042, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling60615-predicted_H: 2.4624 -> 2.0000 (deboost -0.4624, worse)AB rounded to 9 (raw=8.97), rates preserved: AVG=0.274 HR/AB=0.048
5consistency_constraints11010predicted_R: 1.6340 -> 2.0000 (boost 0.3660, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context30303-predicted_SLG: 0.4886 -> 0.2220 (deboost -0.2666, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference51423predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 9.0000 -> 4.0000 (deboost -5.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final33030predicted_SLG: 0.2220 -> 0.4886 (boost 0.2666, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "669364",
  "player_name": "Xavier Edwards",
  "position": "2B",
  "team": "MIA",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.182,
        "predicted_3B": 0.067,
        "predicted_AB": 4.19,
        "predicted_AVG": 0.255,
        "predicted_BB": 0.55,
        "predicted_H": 1.07,
        "predicted_HR": 0.16,
        "predicted_OBP": 0.35,
        "predicted_R": 0.789,
        "predicted_RBI": 0.47,
        "predicted_SLG": 0.455,
        "predicted_SO": 0.478
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.368,
        "predicted_3B": 0.1327,
        "predicted_AB": 8.9748,
        "predicted_AVG": 0.2779,
        "predicted_BB": 1.0982,
        "predicted_H": 2.6339,
        "predicted_HBP": 0.004,
        "predicted_HR": 0.4619,
        "predicted_OBP": 0.3624,
        "predicted_R": 1.8382,
        "predicted_RBI": 1.0781,
        "predicted_SLG": 0.4943,
        "predicted_SO": 1.1456
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.182,
          "after": 0.368,
          "delta": 0.186,
          "percent_delta": 1.022,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.067,
          "after": 0.1327,
          "delta": 0.0657,
          "percent_delta": 0.9806,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 4.19,
          "after": 8.9748,
          "delta": 4.7848,
          "percent_delta": 1.142,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.255,
          "after": 0.2779,
          "delta": 0.0229,
          "percent_delta": 0.0898,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.55,
          "after": 1.0982,
          "delta": 0.5482,
          "percent_delta": 0.9967,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.07,
          "after": 2.6339,
          "delta": 1.5639,
          "percent_delta": 1.4616,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.16,
          "after": 0.4619,
          "delta": 0.3019,
          "percent_delta": 1.8869,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.35,
          "after": 0.3624,
          "delta": 0.0124,
          "percent_delta": 0.0354,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.789,
          "after": 1.8382,
          "delta": 1.0492,
          "percent_delta": 1.3298,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.47,
          "after": 1.0781,
          "delta": 0.6081,
          "percent_delta": 1.2938,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.455,
          "after": 0.4943,
          "delta": 0.0393,
          "percent_delta": 0.0864,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.478,
          "after": 1.1456,
          "delta": 0.6676,
          "percent_delta": 1.3967,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 12,
        "boosted_metrics": 12,
        "deboosted_metrics": 0,
        "better_metrics": 11,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.19,
          "after": 8.9748,
          "delta": 4.7848,
          "percent_delta": 1.142,
          "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": 2,
        "last_10": 3,
        "season": 50
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.368,
        "predicted_3B": 0.1327,
        "predicted_AB": 8.9748,
        "predicted_AVG": 0.2744,
        "predicted_BB": 1.0773,
        "predicted_H": 2.4624,
        "predicted_HBP": 0.004,
        "predicted_HR": 0.4296,
        "predicted_OBP": 0.3521,
        "predicted_R": 1.634,
        "predicted_RBI": 0.9583,
        "predicted_SLG": 0.4886,
        "predicted_SO": 1.1674
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.368,
          "after": 0.368,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.1327,
          "after": 0.1327,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.9748,
          "after": 8.9748,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2779,
          "after": 0.2744,
          "delta": -0.0035,
          "percent_delta": -0.0126,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0982,
          "after": 1.0773,
          "delta": -0.0209,
          "percent_delta": -0.019,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.6339,
          "after": 2.4624,
          "delta": -0.1715,
          "percent_delta": -0.0651,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.004,
          "after": 0.004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.4619,
          "after": 0.4296,
          "delta": -0.0323,
          "percent_delta": -0.0699,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3624,
          "after": 0.3521,
          "delta": -0.0103,
          "percent_delta": -0.0284,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.8382,
          "after": 1.634,
          "delta": -0.2042,
          "percent_delta": -0.1111,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0781,
          "after": 0.9583,
          "delta": -0.1198,
          "percent_delta": -0.1111,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4943,
          "after": 0.4886,
          "delta": -0.0057,
          "percent_delta": -0.0115,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1456,
          "after": 1.1674,
          "delta": 0.0218,
          "percent_delta": 0.019,
          "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_R",
          "before": 1.8382,
          "after": 1.634,
          "delta": -0.2042,
          "percent_delta": -0.1111,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 9 (raw=8.97), rates preserved: AVG=0.274 HR/AB=0.048",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.368,
          "after": 0.0,
          "delta": -0.368,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.1327,
          "after": 0.0,
          "delta": -0.1327,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 8.9748,
          "after": 9.0,
          "delta": 0.0252,
          "percent_delta": 0.0028,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0773,
          "after": 1.0,
          "delta": -0.0773,
          "percent_delta": -0.0718,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.4624,
          "after": 2.0,
          "delta": -0.4624,
          "percent_delta": -0.1878,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.004,
          "after": 0.0,
          "delta": -0.004,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.4296,
          "after": 0.0,
          "delta": -0.4296,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.9583,
          "after": 1.0,
          "delta": 0.0417,
          "percent_delta": 0.0435,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.1674,
          "after": 1.0,
          "delta": -0.1674,
          "percent_delta": -0.1434,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 0,
        "deboosted_metrics": 6,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 2.4624,
          "after": 2.0,
          "delta": -0.4624,
          "percent_delta": -0.1878,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 2.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": 9.0,
          "after": 9.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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.634,
          "after": 2.0,
          "delta": 0.366,
          "percent_delta": 0.224,
          "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": 1.634,
          "after": 2.0,
          "delta": 0.366,
          "percent_delta": 0.224,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_AVG": 0.222,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3,
        "predicted_R": 2.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.222,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 9.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2744,
          "after": 0.222,
          "delta": -0.0524,
          "percent_delta": -0.191,
          "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": 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.3521,
          "after": 0.3,
          "delta": -0.0521,
          "percent_delta": -0.148,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 2.0,
          "after": 2.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.4886,
          "after": 0.222,
          "delta": -0.2666,
          "percent_delta": -0.5456,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.4886,
          "after": 0.222,
          "delta": -0.2666,
          "percent_delta": -0.5456,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 4.0,
          "delta": -5.0,
          "percent_delta": -0.5556,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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_SF",
          "before": 0.0,
          "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_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": 9.0,
          "after": 4.0,
          "delta": -5.0,
          "percent_delta": -0.5556,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2744,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3521,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4886,
        "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.222,
          "after": 0.2744,
          "delta": 0.0524,
          "percent_delta": 0.2359,
          "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.3,
          "after": 0.3521,
          "delta": 0.0521,
          "percent_delta": 0.1738,
          "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.222,
          "after": 0.4886,
          "delta": 0.2666,
          "percent_delta": 1.2007,
          "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.222,
          "after": 0.4886,
          "delta": 0.2666,
          "percent_delta": 1.2007,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.182,
        "after": 1.0,
        "delta": 0.818,
        "percent_delta": 4.4945,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.067,
        "after": 0.0,
        "delta": -0.067,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 4.19,
        "after": 4.0,
        "delta": -0.19,
        "percent_delta": -0.0453,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.255,
        "after": 0.2744,
        "delta": 0.0194,
        "percent_delta": 0.0761,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.55,
        "after": 1.0,
        "delta": 0.45,
        "percent_delta": 0.8182,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.07,
        "after": 1.0,
        "delta": -0.07,
        "percent_delta": -0.0654,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.16,
        "after": 0.0,
        "delta": -0.16,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.35,
        "after": 0.3521,
        "delta": 0.0021,
        "percent_delta": 0.006,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.789,
        "after": 1.0,
        "delta": 0.211,
        "percent_delta": 0.2674,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.47,
        "after": 1.0,
        "delta": 0.53,
        "percent_delta": 1.1277,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.455,
        "after": 0.4886,
        "delta": 0.0336,
        "percent_delta": 0.0738,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.478,
        "after": 0.0,
        "delta": -0.478,
        "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_2B",
        "before": 0.182,
        "after": 1.0,
        "delta": 0.818,
        "percent_delta": 4.4945,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.478,
        "after": 0.0,
        "delta": -0.478,
        "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.182-
predicted_3B0.067-
predicted_AB4.190-
predicted_AVG0.255-
predicted_BB0.550-
predicted_H1.070-
predicted_HR0.160-
predicted_OBP0.350-
predicted_R0.789-
predicted_RBI0.470-
predicted_SLG0.455-
predicted_SO0.478-
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.3680.186
predicted_3B0.1330.066
predicted_AB8.9754.785
predicted_AVG0.2780.023
predicted_BB1.0980.548
predicted_H2.6341.564
predicted_HBP0.004-
predicted_HR0.4620.302
predicted_OBP0.3620.012
predicted_R1.8381.049
predicted_RBI1.0780.608
predicted_SLG0.4940.039
predicted_SO1.1460.668
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.3680.000
predicted_3B0.1330.000
predicted_AB8.9750.000
predicted_AVG0.274-0.004
predicted_BB1.077-0.021
predicted_H2.462-0.171
predicted_HBP0.0040.000
predicted_HR0.430-0.032
predicted_OBP0.352-0.010
predicted_R1.634-0.204
predicted_RBI0.958-0.120
predicted_SLG0.489-0.006
predicted_SO1.1670.022
4. ab_floor_and_scaling

AB rounded to 9 (raw=8.97), rates preserved: AVG=0.274 HR/AB=0.048

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB9.000-
BB1.000-
H2.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB9.0000.000
BB1.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R2.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
6. 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.368
predicted_3B0.000-0.133
predicted_AB9.0000.025
predicted_AVG0.222-0.052
predicted_BB1.000-0.077
predicted_H2.000-0.462
predicted_HR0.000-0.430
predicted_OBP0.300-0.052
predicted_R2.0000.366
predicted_RBI1.0000.042
predicted_SLG0.222-0.267
predicted_SO1.000-0.167
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB4.000-5.000
BB1.0000.000
CS0.0000.000
H1.000-1.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R1.000-1.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: 209
Reference playing time: 4.190
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-24.0005.0000.0000.0004.0004.0005.0000.0004.0000.20830.20830.70830.20830.16670.16670.00000.1667
last_100.203-45.00014.0000.0000.0009.00013.00014.0000.0005.0000.31110.31110.91110.31110.20000.28890.00000.1111
season0.6050-795.000256.00038.00014.00026.00084.000165.000115.000100.0000.32200.40770.50310.32200.03270.10570.14470.1258
Weighted Prediction From Real Data
MetricValue
predicted_2B0.6040
predicted_3B0.2160
predicted_AB15.0480
predicted_AVG0.3069
predicted_BB1.7940
predicted_H4.6190
predicted_HBP0.0040
predicted_HR0.8450
predicted_OBP0.3781
predicted_R3.1700
predicted_RBI1.8500
predicted_SLG0.5441
predicted_SO1.9930
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18200.60400.3680model_form_blend
predicted_3B0.06700.21600.1327model_form_blend
predicted_AB4.190015.04808.9748model_form_blend
predicted_AVG0.25500.30690.2779model_form_blend
predicted_BB0.55001.79401.0982model_form_blend
predicted_H1.07004.61902.6339model_form_blend
predicted_HBP-0.00400.0040form_only
predicted_HR0.16000.84500.4619model_form_blend
predicted_OBP0.35000.37810.3624model_form_blend
predicted_R0.78903.17001.8382model_form_blend
predicted_RBI0.47001.85001.0781model_form_blend
predicted_SLG0.45500.54410.4943model_form_blend
predicted_SO0.47801.99301.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 date209
Season rows before report date209
Report year2026
Profile rows used209
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

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

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_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
allPositionsPlayed2B
gameID20260520_ATL@MIA
game_typefull
mlbID669364
playerID669364
playerNameXavier Edwards
pos2B
startedTrue
startingPosition2B
teamMIA
teamID15
game_date2026-05-20
sl_k_percent11.1
sl_bb_percent12.0
sl_woba0.397
sl_xwoba0.356
sl_xba0.283
sl_xslg0.438
sl_sweet_spot_percent38.8
sl_barrel_batted_rate6.9
sl_hard_hit_percent36.9
sl_exit_velocity_avg88.6
sl_launch_angle_avg12.0
sl_whiff_percent15.2
sl_swing_percent38.9
Kyle Stowers (669065) · BATTER · LF · Team MIA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 112
All-history rows before 20260521: 112
System season_avg: 0.2090
Data season_avg (2026 season-to-date): 0.2085
Diff (system - data): 0.0005
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.1960.0001.000Hitting_2B0.1961.000-0.196-1.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.8203.0008.000Hitting_AB3.7684.000-0.768-1.000
predicted_AVG0.2280.0000.250Hitting_AVG0.2090.250-0.209-0.250
predicted_BB0.5181.0001.000Hitting_BB0.5180.0000.4821.000
predicted_CS-0.0000.000BaseRunning_CS0.0450.000-0.0450.000
predicted_H0.8700.0002.000Hitting_H0.7861.000-0.786-1.000
predicted_HR0.0800.0000.000Hitting_HR0.0360.000-0.0360.000
predicted_OBP0.3220.2500.333Hitting_OBP0.3160.250-0.0660.000
predicted_R0.5180.0001.000Hitting_R0.5180.000-0.5180.000
predicted_RBI0.4100.0001.000Hitting_RBI0.2232.000-0.223-2.000
predicted_SLG0.3500.0000.375Hitting_SLG0.2890.500-0.289-0.500
predicted_SO1.1522.0002.000Hitting_SO1.1521.0000.8481.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics2
Deboosted Metrics9
Better Metrics1
Worse Metrics10
Biggest Boostpredicted_SO: 1.1520 -> 2.0000 (boost 0.8480, 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_blend87162predicted_AB: 3.8200 -> 8.2113 (boost 4.3913, better)predicted_SLG: 0.3500 -> 0.3402 (deboost -0.0098, worse)Final model 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_snapshot60606-predicted_R: 1.1455 -> 1.0182 (deboost -0.1273, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling83544predicted_2B: 0.5585 -> 1.0000 (boost 0.4415, better)predicted_SO: 2.4307 -> 2.0000 (deboost -0.4307, better)AB rounded to 8 (raw=8.21), rates preserved: AVG=0.211 HR/AB=0.012
5consistency_constraints00000--Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context33030predicted_SLG: 0.3139 -> 0.3750 (boost 0.0611, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference50505-predicted_AB: 8.0000 -> 3.0000 (deboost -5.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final30303-predicted_SLG: 0.3750 -> 0.3139 (deboost -0.0611, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "669065",
  "player_name": "Kyle Stowers",
  "position": "LF",
  "team": "MIA",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.196,
        "predicted_3B": 0.0,
        "predicted_AB": 3.82,
        "predicted_AVG": 0.228,
        "predicted_BB": 0.518,
        "predicted_H": 0.87,
        "predicted_HR": 0.08,
        "predicted_OBP": 0.322,
        "predicted_R": 0.518,
        "predicted_RBI": 0.41,
        "predicted_SLG": 0.35,
        "predicted_SO": 1.152
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.5585,
        "predicted_3B": 0.0013,
        "predicted_AB": 8.2113,
        "predicted_AVG": 0.2266,
        "predicted_BB": 1.1494,
        "predicted_H": 1.8518,
        "predicted_HBP": 0.215,
        "predicted_HR": 0.1021,
        "predicted_OBP": 0.3249,
        "predicted_R": 1.1455,
        "predicted_RBI": 0.9466,
        "predicted_SLG": 0.3402,
        "predicted_SO": 2.3854
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.196,
          "after": 0.5585,
          "delta": 0.3625,
          "percent_delta": 1.8495,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0013,
          "delta": 0.0013,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.82,
          "after": 8.2113,
          "delta": 4.3913,
          "percent_delta": 1.1496,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.228,
          "after": 0.2266,
          "delta": -0.0014,
          "percent_delta": -0.0061,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.518,
          "after": 1.1494,
          "delta": 0.6314,
          "percent_delta": 1.2189,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.87,
          "after": 1.8518,
          "delta": 0.9818,
          "percent_delta": 1.1285,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.08,
          "after": 0.1021,
          "delta": 0.0221,
          "percent_delta": 0.2762,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.322,
          "after": 0.3249,
          "delta": 0.0029,
          "percent_delta": 0.009,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.518,
          "after": 1.1455,
          "delta": 0.6275,
          "percent_delta": 1.2114,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.41,
          "after": 0.9466,
          "delta": 0.5366,
          "percent_delta": 1.3088,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.35,
          "after": 0.3402,
          "delta": -0.0098,
          "percent_delta": -0.028,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.152,
          "after": 2.3854,
          "delta": 1.2334,
          "percent_delta": 1.0707,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 7,
        "deboosted_metrics": 1,
        "better_metrics": 6,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.82,
          "after": 8.2113,
          "delta": 4.3913,
          "percent_delta": 1.1496,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.35,
          "after": 0.3402,
          "delta": -0.0098,
          "percent_delta": -0.028,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 2,
        "last_10": 3,
        "season": 27
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.5585,
        "predicted_3B": 0.0013,
        "predicted_AB": 8.2113,
        "predicted_AVG": 0.2108,
        "predicted_BB": 1.1276,
        "predicted_H": 1.7312,
        "predicted_HBP": 0.215,
        "predicted_HR": 0.095,
        "predicted_OBP": 0.3061,
        "predicted_R": 1.0182,
        "predicted_RBI": 0.8414,
        "predicted_SLG": 0.3139,
        "predicted_SO": 2.4307
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.5585,
          "after": 0.5585,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0013,
          "after": 0.0013,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.2113,
          "after": 8.2113,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2266,
          "after": 0.2108,
          "delta": -0.0158,
          "percent_delta": -0.0697,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.1494,
          "after": 1.1276,
          "delta": -0.0218,
          "percent_delta": -0.019,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.8518,
          "after": 1.7312,
          "delta": -0.1206,
          "percent_delta": -0.0651,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.215,
          "after": 0.215,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1021,
          "after": 0.095,
          "delta": -0.0071,
          "percent_delta": -0.0695,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3249,
          "after": 0.3061,
          "delta": -0.0188,
          "percent_delta": -0.0579,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.1455,
          "after": 1.0182,
          "delta": -0.1273,
          "percent_delta": -0.1111,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.9466,
          "after": 0.8414,
          "delta": -0.1052,
          "percent_delta": -0.1111,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3402,
          "after": 0.3139,
          "delta": -0.0263,
          "percent_delta": -0.0773,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.3854,
          "after": 2.4307,
          "delta": 0.0453,
          "percent_delta": 0.019,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 0,
        "deboosted_metrics": 6,
        "better_metrics": 0,
        "worse_metrics": 6,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.1455,
          "after": 1.0182,
          "delta": -0.1273,
          "percent_delta": -0.1111,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 8 (raw=8.21), rates preserved: AVG=0.211 HR/AB=0.012",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.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.5585,
          "after": 1.0,
          "delta": 0.4415,
          "percent_delta": 0.7905,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0013,
          "after": 0.0,
          "delta": -0.0013,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.2113,
          "after": 8.0,
          "delta": -0.2113,
          "percent_delta": -0.0257,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.1276,
          "after": 1.0,
          "delta": -0.1276,
          "percent_delta": -0.1132,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.7312,
          "after": 2.0,
          "delta": 0.2688,
          "percent_delta": 0.1553,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.215,
          "after": 0.0,
          "delta": -0.215,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.095,
          "after": 0.0,
          "delta": -0.095,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.8414,
          "after": 1.0,
          "delta": 0.1586,
          "percent_delta": 0.1885,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.4307,
          "after": 2.0,
          "delta": -0.4307,
          "percent_delta": -0.1772,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 3,
        "deboosted_metrics": 5,
        "better_metrics": 4,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.5585,
          "after": 1.0,
          "delta": 0.4415,
          "percent_delta": 0.7905,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 2.4307,
          "after": 2.0,
          "delta": -0.4307,
          "percent_delta": -0.1772,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.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": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 8.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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0182,
          "after": 1.0,
          "delta": -0.0182,
          "percent_delta": -0.0179,
          "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_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.333,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.375,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2108,
          "after": 0.25,
          "delta": 0.0392,
          "percent_delta": 0.186,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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.3061,
          "after": 0.333,
          "delta": 0.0269,
          "percent_delta": 0.0879,
          "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.3139,
          "after": 0.375,
          "delta": 0.0611,
          "percent_delta": 0.1946,
          "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.3139,
          "after": 0.375,
          "delta": 0.0611,
          "percent_delta": 0.1946,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.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": 8.0,
          "after": 3.0,
          "delta": -5.0,
          "percent_delta": -0.625,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.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": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 0,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 3.0,
          "delta": -5.0,
          "percent_delta": -0.625,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2108,
        "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.3061,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3139,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2108,
          "delta": -0.0392,
          "percent_delta": -0.1567,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.333,
          "after": 0.3061,
          "delta": -0.0269,
          "percent_delta": -0.0807,
          "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.375,
          "after": 0.3139,
          "delta": -0.0611,
          "percent_delta": -0.163,
          "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.375,
          "after": 0.3139,
          "delta": -0.0611,
          "percent_delta": -0.163,
          "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.196,
        "after": 0.0,
        "delta": -0.196,
        "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.82,
        "after": 3.0,
        "delta": -0.82,
        "percent_delta": -0.2147,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.228,
        "after": 0.2108,
        "delta": -0.0172,
        "percent_delta": -0.0754,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.518,
        "after": 1.0,
        "delta": 0.482,
        "percent_delta": 0.9305,
        "direction": "boost",
        "projection_effect": "better",
        "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.08,
        "after": 0.0,
        "delta": -0.08,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.322,
        "after": 0.3061,
        "delta": -0.0159,
        "percent_delta": -0.0494,
        "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.41,
        "after": 0.0,
        "delta": -0.41,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.35,
        "after": 0.3139,
        "delta": -0.0361,
        "percent_delta": -0.1031,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.152,
        "after": 2.0,
        "delta": 0.848,
        "percent_delta": 0.7361,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 2,
      "deboosted_metrics": 9,
      "better_metrics": 1,
      "worse_metrics": 10,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 1.152,
        "after": 2.0,
        "delta": 0.848,
        "percent_delta": 0.7361,
        "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.196-
predicted_3B0.000-
predicted_AB3.820-
predicted_AVG0.228-
predicted_BB0.518-
predicted_H0.870-
predicted_HR0.080-
predicted_OBP0.322-
predicted_R0.518-
predicted_RBI0.410-
predicted_SLG0.350-
predicted_SO1.152-
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.5580.362
predicted_3B0.0010.001
predicted_AB8.2114.391
predicted_AVG0.227-0.001
predicted_BB1.1490.631
predicted_H1.8520.982
predicted_HBP0.215-
predicted_HR0.1020.022
predicted_OBP0.3250.003
predicted_R1.1450.627
predicted_RBI0.9470.537
predicted_SLG0.340-0.010
predicted_SO2.3851.233
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.5580.000
predicted_3B0.0010.000
predicted_AB8.2110.000
predicted_AVG0.211-0.016
predicted_BB1.128-0.022
predicted_H1.731-0.121
predicted_HBP0.2150.000
predicted_HR0.095-0.007
predicted_OBP0.306-0.019
predicted_R1.018-0.127
predicted_RBI0.841-0.105
predicted_SLG0.314-0.026
predicted_SO2.4310.045
4. ab_floor_and_scaling

AB rounded to 8 (raw=8.21), rates preserved: AVG=0.211 HR/AB=0.012

MetricValueDelta vs Prev Step
2B1.000-
3B0.000-
AB8.000-
BB1.000-
H2.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO2.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB8.0000.000
BB1.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
6. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B1.0000.442
predicted_3B0.000-0.001
predicted_AB8.000-0.211
predicted_AVG0.2500.039
predicted_BB1.000-0.128
predicted_H2.0000.269
predicted_HR0.000-0.095
predicted_OBP0.3330.027
predicted_R1.000-0.018
predicted_RBI1.0000.159
predicted_SLG0.3750.061
predicted_SO2.000-0.431
7. 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-5.000
BB1.0000.000
CS0.0000.000
H0.000-2.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-1.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO2.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 112
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-18.0005.0004.0000.0000.0008.0002.0002.0004.0000.27780.35000.50000.27780.00000.44440.11110.2222
last_100.203-30.00010.0004.0000.0000.00010.0008.00010.0006.0000.33330.50000.46670.33330.00000.33330.33330.2000
season0.6027-422.00088.00022.0000.0004.00025.00058.00058.000129.0000.20850.31560.28910.20850.00950.05920.13740.3057
Weighted Prediction From Real Data
MetricValue
predicted_2B1.0330
predicted_3B0.0030
predicted_AB13.9600
predicted_AVG0.2247
predicted_BB1.9760
predicted_H3.1370
predicted_HBP0.2150
predicted_HR0.1310
predicted_OBP0.3288
predicted_R1.9670
predicted_RBI1.6490
predicted_SLG0.3273
predicted_SO4.0000
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.19601.03300.5585model_form_blend
predicted_3B0.00000.00300.0013model_form_blend
predicted_AB3.820013.96008.2113model_form_blend
predicted_AVG0.22800.22470.2266model_form_blend
predicted_BB0.51801.97601.1494model_form_blend
predicted_H0.87003.13701.8518model_form_blend
predicted_HBP-0.21500.2150form_only
predicted_HR0.08000.13100.1021model_form_blend
predicted_OBP0.32200.32880.3249model_form_blend
predicted_R0.51801.96701.1455model_form_blend
predicted_RBI0.41001.64900.9466model_form_blend
predicted_SLG0.35000.32730.3402model_form_blend
predicted_SO1.15204.00002.3854model_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 date112
Season rows before report date112
Report year2026
Profile rows used112
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.209

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI2
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB2
Hitting_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
gameID20260519_ATL@MIA
game_typefull
mlbID669065
playerID669065
playerNameKyle Stowers
posLF
startedTrue
startingPositionRF
teamMIA
teamID15
game_date2026-05-19
game_pk823865.0
sl_k_percent25.0
sl_bb_percent11.6
sl_woba0.288
sl_xwoba0.327
sl_xba0.253
sl_xslg0.382
sl_sweet_spot_percent33.3
sl_barrel_batted_rate5.8
sl_hard_hit_percent50.7
sl_exit_velocity_avg89.8
sl_launch_angle_avg14.4
sl_whiff_percent32.9
sl_swing_percent55.1
at_bat_number73.0
ab_pitcher663158.0
ab_pitcher_nameSuarez, Robert
ab_home_teamMIA
ab_away_teamATL
ab_game_typeR
ab_standL
ab_p_throwsR
ab_inning8.0
ab_inning_topbotBot
ab_outs_when_up0.0
ab_balls_start0.0
ab_strikes_start0.0
ab_home_score_start4.0
ab_away_score_start7.0
ab_bat_score_start4.0
ab_fld_score_start7.0
ab_eventfield_out
ab_event_descriptionKyle Stowers flies out to left fielder Mauricio Dubón.
ab_event_typeX
ab_bb_typefly_ball
ab_hit_location7.0
ab_pitch_type_lastFF
ab_pitch_name_last4-Seam Fastball
ab_zone_last8.0
ab_launch_speed_last93.7
ab_launch_angle_last29.0
ab_hit_distance_last337.0
ab_estimated_ba_last0.137
ab_estimated_woba_last0.201
ab_estimated_slg_last0.355
ab_woba_value0.0
ab_woba_denom1.0
ab_babip_value0.0
ab_iso_value0.0
ab_balls_end1.0
ab_strikes_end2.0
ab_home_score_end4.0
ab_away_score_end7.0
ab_bat_score_end4.0
ab_fld_score_end7.0
ab_pitch_count5.0
ab_release_speed_avg96.14
ab_release_spin_rate_avg2410.6
ab_effective_speed_avg96.32
ab_launch_speed_avg91.7
ab_launch_angle_avg39.5
ab_delta_run_exp_avg-0.0518
ab_delta_home_win_exp_avg-0.0054
ab_delta_pitcher_run_exp_avg0.0518
ab_bat_speed_avg77.05000000000001
ab_swing_length_avg6.45
ab_launch_speed_max93.7
ab_hit_distance_sc_max337.0
ab_release_speed_max98.9
ab_release_spin_rate_max2560.0
ab_release_speed_min91.0
ab_release_spin_rate_min2083.0
ab_delta_run_exp_sum-0.259
ab_delta_home_win_exp_sum-0.027
ab_delta_pitcher_run_exp_sum0.259
ab_result_is_hitFalse
ab_result_is_walkFalse
ab_result_is_strikeoutFalse
ab_result_is_hbpFalse
Jakob Marsee (805300) · BATTER · CF · Team MIA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 210
All-history rows before 20260521: 210
System season_avg: 0.2110
Data season_avg (2026 season-to-date): 0.2109
Diff (system - data): 0.0001
System opponent_avg: 0.1480

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1100.0000.000Hitting_2B0.1100.000-0.1100.000
predicted_3B0.0670.0000.000Hitting_3B0.0670.000-0.0670.000
predicted_AB3.7483.0008.000Hitting_AB3.7481.000-0.7482.000
predicted_AVG0.2620.0000.250Hitting_AVG0.2110.000-0.2110.000
predicted_BB0.6481.0002.000Hitting_BB0.6480.0000.3521.000
predicted_CS-0.0000.000BaseRunning_CS0.1050.000-0.1050.000
predicted_H0.9600.0002.000Hitting_H0.7900.000-0.7900.000
predicted_HR0.1100.0000.000Hitting_HR0.0620.000-0.0620.000
predicted_OBP0.4000.2500.400Hitting_OBP0.3420.000-0.0920.250
predicted_R0.6480.0002.000Hitting_R0.6480.000-0.6480.000
predicted_RBI0.3600.0001.000Hitting_RBI0.2810.000-0.2810.000
predicted_SLG0.4550.0000.250Hitting_SLG0.3250.000-0.3250.000
predicted_SO1.0710.0002.000Hitting_SO1.0711.000-1.071-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics12
Boosted Metrics1
Deboosted Metrics11
Better Metrics2
Worse Metrics10
Biggest Boostpredicted_BB: 0.6480 -> 1.0000 (boost 0.3520, better)
Biggest Deboostpredicted_SO: 1.0710 -> 0.0000 (deboost -1.0710, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend98172predicted_AB: 3.7480 -> 8.3848 (boost 4.6368, better)predicted_SLG: 0.4550 -> 0.4144 (deboost -0.0406, worse)Final model 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_snapshot60606-predicted_R: 2.3893 -> 2.1238 (deboost -0.2655, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling71625predicted_RBI: 0.5399 -> 1.0000 (boost 0.4601, better)predicted_HBP: 1.1900 -> 0.0000 (deboost -1.1900, worse)AB rounded to 8 (raw=8.38), rates preserved: AVG=0.240 HR/AB=0.017
5consistency_constraints10101-predicted_R: 2.1238 -> 2.0000 (deboost -0.1238, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context32121predicted_OBP: 0.3875 -> 0.4000 (boost 0.0125, better)predicted_SLG: 0.3541 -> 0.2500 (deboost -0.1041, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference60615-predicted_AB: 8.0000 -> 3.0000 (deboost -5.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final31212predicted_SLG: 0.2500 -> 0.3541 (boost 0.1041, better)predicted_OBP: 0.4000 -> 0.3875 (deboost -0.0125, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "805300",
  "player_name": "Jakob Marsee",
  "position": "CF",
  "team": "MIA",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.11,
        "predicted_3B": 0.067,
        "predicted_AB": 3.748,
        "predicted_AVG": 0.262,
        "predicted_BB": 0.648,
        "predicted_H": 0.96,
        "predicted_HR": 0.11,
        "predicted_OBP": 0.4,
        "predicted_R": 0.648,
        "predicted_RBI": 0.36,
        "predicted_SLG": 0.455,
        "predicted_SO": 1.071
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2785,
        "predicted_3B": 0.1287,
        "predicted_AB": 8.3848,
        "predicted_AVG": 0.2595,
        "predicted_BB": 2.0638,
        "predicted_H": 2.1491,
        "predicted_HBP": 1.19,
        "predicted_HR": 0.1519,
        "predicted_OBP": 0.404,
        "predicted_R": 2.3893,
        "predicted_RBI": 0.6074,
        "predicted_SLG": 0.4144,
        "predicted_SO": 2.1838
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.11,
          "after": 0.2785,
          "delta": 0.1685,
          "percent_delta": 1.5318,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.067,
          "after": 0.1287,
          "delta": 0.0617,
          "percent_delta": 0.9209,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.748,
          "after": 8.3848,
          "delta": 4.6368,
          "percent_delta": 1.2371,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.262,
          "after": 0.2595,
          "delta": -0.0025,
          "percent_delta": -0.0095,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.648,
          "after": 2.0638,
          "delta": 1.4158,
          "percent_delta": 2.1849,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.96,
          "after": 2.1491,
          "delta": 1.1891,
          "percent_delta": 1.2386,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.11,
          "after": 0.1519,
          "delta": 0.0419,
          "percent_delta": 0.3809,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.4,
          "after": 0.404,
          "delta": 0.004,
          "percent_delta": 0.01,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.648,
          "after": 2.3893,
          "delta": 1.7413,
          "percent_delta": 2.6872,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.36,
          "after": 0.6074,
          "delta": 0.2474,
          "percent_delta": 0.6872,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.455,
          "after": 0.4144,
          "delta": -0.0406,
          "percent_delta": -0.0892,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.071,
          "after": 2.1838,
          "delta": 1.1128,
          "percent_delta": 1.039,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 8,
        "deboosted_metrics": 1,
        "better_metrics": 7,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.748,
          "after": 8.3848,
          "delta": 4.6368,
          "percent_delta": 1.2371,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.455,
          "after": 0.4144,
          "delta": -0.0406,
          "percent_delta": -0.0892,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 2,
        "last_10": 3,
        "season": 48
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2785,
        "predicted_3B": 0.1287,
        "predicted_AB": 8.3848,
        "predicted_AVG": 0.2396,
        "predicted_BB": 2.0246,
        "predicted_H": 2.0092,
        "predicted_HBP": 1.19,
        "predicted_HR": 0.1413,
        "predicted_OBP": 0.3875,
        "predicted_R": 2.1238,
        "predicted_RBI": 0.5399,
        "predicted_SLG": 0.3541,
        "predicted_SO": 2.2253
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2785,
          "after": 0.2785,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.1287,
          "after": 0.1287,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.3848,
          "after": 8.3848,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2595,
          "after": 0.2396,
          "delta": -0.0199,
          "percent_delta": -0.0767,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 2.0638,
          "after": 2.0246,
          "delta": -0.0392,
          "percent_delta": -0.019,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.1491,
          "after": 2.0092,
          "delta": -0.1399,
          "percent_delta": -0.0651,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 1.19,
          "after": 1.19,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1519,
          "after": 0.1413,
          "delta": -0.0106,
          "percent_delta": -0.0698,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.404,
          "after": 0.3875,
          "delta": -0.0165,
          "percent_delta": -0.0408,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 2.3893,
          "after": 2.1238,
          "delta": -0.2655,
          "percent_delta": -0.1111,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6074,
          "after": 0.5399,
          "delta": -0.0675,
          "percent_delta": -0.1111,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4144,
          "after": 0.3541,
          "delta": -0.0603,
          "percent_delta": -0.1455,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.1838,
          "after": 2.2253,
          "delta": 0.0415,
          "percent_delta": 0.019,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 0,
        "deboosted_metrics": 6,
        "better_metrics": 0,
        "worse_metrics": 6,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 2.3893,
          "after": 2.1238,
          "delta": -0.2655,
          "percent_delta": -0.1111,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 8 (raw=8.38), rates preserved: AVG=0.240 HR/AB=0.017",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 2.0,
        "predicted_H": 2.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.2785,
          "after": 0.0,
          "delta": -0.2785,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.1287,
          "after": 0.0,
          "delta": -0.1287,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 8.3848,
          "after": 8.0,
          "delta": -0.3848,
          "percent_delta": -0.0459,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 2.0246,
          "after": 2.0,
          "delta": -0.0246,
          "percent_delta": -0.0122,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0092,
          "after": 2.0,
          "delta": -0.0092,
          "percent_delta": -0.0046,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "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.1413,
          "after": 0.0,
          "delta": -0.1413,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5399,
          "after": 1.0,
          "delta": 0.4601,
          "percent_delta": 0.8522,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.2253,
          "after": 2.0,
          "delta": -0.2253,
          "percent_delta": -0.1012,
          "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.5399,
          "after": 1.0,
          "delta": 0.4601,
          "percent_delta": 0.8522,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HBP",
          "before": 1.19,
          "after": 0.0,
          "delta": -1.19,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 2.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 2.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": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 2.1238,
          "after": 2.0,
          "delta": -0.1238,
          "percent_delta": -0.0583,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 2.1238,
          "after": 2.0,
          "delta": -0.1238,
          "percent_delta": -0.0583,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 2.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.4,
        "predicted_R": 2.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.25,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2396,
          "after": 0.25,
          "delta": 0.0104,
          "percent_delta": 0.0434,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3875,
          "after": 0.4,
          "delta": 0.0125,
          "percent_delta": 0.0323,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 2.0,
          "after": 2.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.3541,
          "after": 0.25,
          "delta": -0.1041,
          "percent_delta": -0.294,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.3875,
          "after": 0.4,
          "delta": 0.0125,
          "percent_delta": 0.0323,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3541,
          "after": 0.25,
          "delta": -0.1041,
          "percent_delta": -0.294,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 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": 8.0,
          "after": 3.0,
          "delta": -5.0,
          "percent_delta": -0.625,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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": 2.0,
          "after": 0.0,
          "delta": -2.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": 2.0,
          "after": 0.0,
          "delta": -2.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": 0.0,
          "delta": -2.0,
          "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_AB",
          "before": 8.0,
          "after": 3.0,
          "delta": -5.0,
          "percent_delta": -0.625,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2396,
        "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.3875,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3541,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2396,
          "delta": -0.0104,
          "percent_delta": -0.0415,
          "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.4,
          "after": 0.3875,
          "delta": -0.0125,
          "percent_delta": -0.0312,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.3541,
          "delta": 0.1041,
          "percent_delta": 0.4163,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.3541,
          "delta": 0.1041,
          "percent_delta": 0.4163,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.4,
          "after": 0.3875,
          "delta": -0.0125,
          "percent_delta": -0.0312,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.11,
        "after": 0.0,
        "delta": -0.11,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.067,
        "after": 0.0,
        "delta": -0.067,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.748,
        "after": 3.0,
        "delta": -0.748,
        "percent_delta": -0.1996,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.262,
        "after": 0.2396,
        "delta": -0.0224,
        "percent_delta": -0.0855,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.648,
        "after": 1.0,
        "delta": 0.352,
        "percent_delta": 0.5432,
        "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.11,
        "after": 0.0,
        "delta": -0.11,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.4,
        "after": 0.3875,
        "delta": -0.0125,
        "percent_delta": -0.0313,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.648,
        "after": 0.0,
        "delta": -0.648,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.36,
        "after": 0.0,
        "delta": -0.36,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.455,
        "after": 0.3541,
        "delta": -0.1009,
        "percent_delta": -0.2218,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.071,
        "after": 0.0,
        "delta": -1.071,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 12,
      "boosted_metrics": 1,
      "deboosted_metrics": 11,
      "better_metrics": 2,
      "worse_metrics": 10,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.648,
        "after": 1.0,
        "delta": 0.352,
        "percent_delta": 0.5432,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.071,
        "after": 0.0,
        "delta": -1.071,
        "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.110-
predicted_3B0.067-
predicted_AB3.748-
predicted_AVG0.262-
predicted_BB0.648-
predicted_H0.960-
predicted_HR0.110-
predicted_OBP0.400-
predicted_R0.648-
predicted_RBI0.360-
predicted_SLG0.455-
predicted_SO1.071-
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.2790.169
predicted_3B0.1290.062
predicted_AB8.3854.637
predicted_AVG0.260-0.003
predicted_BB2.0641.416
predicted_H2.1491.189
predicted_HBP1.190-
predicted_HR0.1520.042
predicted_OBP0.4040.004
predicted_R2.3891.741
predicted_RBI0.6070.247
predicted_SLG0.414-0.041
predicted_SO2.1841.113
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.2790.000
predicted_3B0.1290.000
predicted_AB8.3850.000
predicted_AVG0.240-0.020
predicted_BB2.025-0.039
predicted_H2.009-0.140
predicted_HBP1.1900.000
predicted_HR0.141-0.011
predicted_OBP0.388-0.017
predicted_R2.124-0.265
predicted_RBI0.540-0.068
predicted_SLG0.354-0.060
predicted_SO2.2250.041
4. ab_floor_and_scaling

AB rounded to 8 (raw=8.38), rates preserved: AVG=0.240 HR/AB=0.017

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB8.000-
BB2.000-
H2.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO2.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB8.0000.000
BB2.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R2.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
6. 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.279
predicted_3B0.000-0.129
predicted_AB8.000-0.385
predicted_AVG0.2500.010
predicted_BB2.000-0.025
predicted_H2.000-0.009
predicted_HR0.000-0.141
predicted_OBP0.4000.013
predicted_R2.000-0.124
predicted_RBI1.0000.460
predicted_SLG0.250-0.104
predicted_SO2.000-0.225
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-5.000
BB1.000-1.000
CS0.0000.000
H0.000-2.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-2.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: 210
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-9.0004.0000.0000.0000.0000.00012.0008.0001.0000.44440.76190.44440.44440.00000.00000.88890.1111
last_100.203-23.00013.0004.0000.0000.0000.00015.00014.0001.0000.56520.76190.73910.56520.00000.00000.60870.0435
season0.6048-787.000166.00023.00014.00013.00059.000136.000136.000225.0000.21090.34210.32530.21090.01650.07500.17280.2859
Weighted Prediction From Real Data
MetricValue
predicted_2B0.4920
predicted_3B0.2070
predicted_AB14.2610
predicted_AVG0.2563
predicted_BB3.8580
predicted_H3.6560
predicted_HBP1.1900
predicted_HR0.2050
predicted_OBP0.4091
predicted_R4.5960
predicted_RBI0.9210
predicted_SLG0.3629
predicted_SO3.5940
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.11000.49200.2785model_form_blend
predicted_3B0.06700.20700.1287model_form_blend
predicted_AB3.748014.26108.3848model_form_blend
predicted_AVG0.26200.25630.2595model_form_blend
predicted_BB0.64803.85802.0638model_form_blend
predicted_H0.96003.65602.1491model_form_blend
predicted_HBP-1.19001.1900form_only
predicted_HR0.11000.20500.1519model_form_blend
predicted_OBP0.40000.40910.4040model_form_blend
predicted_R0.64804.59602.3893model_form_blend
predicted_RBI0.36000.92100.6074model_form_blend
predicted_SLG0.45500.36290.4144model_form_blend
predicted_SO1.07103.59402.1838model_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 date210
Season rows before report date210
Report year2026
Profile rows used210
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.211

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB1
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder4
Hitting_substitutionOrder1
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedPH
gameID20260519_ATL@MIA
game_typeph
mlbID805300
noteStruck out for Morel, C in the 9th.
playerID805300
playerNameJakob Marsee
posCF
startedFalse
startingPositionPH
teamMIA
teamID15
game_date2026-05-19
game_pk823865.0
sl_k_percent24.0
sl_bb_percent13.5
sl_woba0.311
sl_xwoba0.298
sl_xba0.208
sl_xslg0.305
sl_sweet_spot_percent29.6
sl_barrel_batted_rate4.0
sl_hard_hit_percent38.4
sl_exit_velocity_avg87.8
sl_launch_angle_avg21.2
sl_whiff_percent18.8
sl_swing_percent39.0
at_bat_number86.0
ab_pitcher628452.0
ab_pitcher_nameIglesias, Raisel
ab_home_teamMIA
ab_away_teamATL
ab_game_typeR
ab_standL
ab_p_throwsR
ab_inning9.0
ab_inning_topbotBot
ab_outs_when_up2.0
ab_on_1b_start689414.0
ab_on_2b_start689414.0
ab_balls_start0.0
ab_strikes_start0.0
ab_home_score_start4.0
ab_away_score_start8.0
ab_bat_score_start4.0
ab_fld_score_start8.0
ab_eventstrikeout
ab_event_descriptionJakob Marsee strikes out swinging.
ab_event_typeS
ab_hit_location2.0
ab_pitch_type_lastFF
ab_pitch_name_last4-Seam Fastball
ab_zone_last1.0
ab_launch_speed_last74.5
ab_launch_angle_last34.0
ab_hit_distance_last194.0
ab_estimated_woba_last0.0
ab_woba_value0.0
ab_woba_denom1.0
ab_babip_value0.0
ab_iso_value0.0
ab_balls_end1.0
ab_strikes_end2.0
ab_home_score_end4.0
ab_away_score_end8.0
ab_bat_score_end4.0
ab_fld_score_end8.0
ab_pitch_count4.0
ab_release_speed_avg93.275
ab_release_spin_rate_avg2306.0
ab_effective_speed_avg92.575
ab_launch_speed_avg74.5
ab_launch_angle_avg34.0
ab_delta_run_exp_avg-0.06825
ab_delta_home_win_exp_avg-0.00125
ab_delta_pitcher_run_exp_avg0.06825
ab_bat_speed_avg51.13333333333333
ab_swing_length_avg4.9
ab_launch_speed_max74.5
ab_hit_distance_sc_max194.0
ab_release_speed_max95.3
ab_release_spin_rate_max2417.0
ab_release_speed_min87.8
ab_release_spin_rate_min2098.0
ab_delta_run_exp_sum-0.273
ab_delta_home_win_exp_sum-0.005
ab_delta_pitcher_run_exp_sum0.273
ab_result_is_hitFalse
ab_result_is_walkFalse
ab_result_is_strikeoutTrue
ab_result_is_hbpFalse
Joe Mack (691788) · BATTER · C · Team MIA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 46
All-history rows before 20260521: 46
System season_avg: 0.2030
Data season_avg (2026 season-to-date): 0.2025
Diff (system - data): 0.0005
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.1961.0000.000Hitting_2B0.1960.0000.8041.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.4354.0006.000Hitting_AB3.4354.0000.5650.000
predicted_AVG0.2350.5000.167Hitting_AVG0.2030.0000.2970.500
predicted_BB0.1740.0000.000Hitting_BB0.1740.000-0.1740.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.6502.0001.000Hitting_H0.6960.0001.3042.000
predicted_HR0.0600.0000.000Hitting_HR0.0000.0000.0000.000
predicted_OBP0.2760.5000.167Hitting_OBP0.2410.0000.2590.500
predicted_R0.4781.0001.000Hitting_R0.4780.0000.5221.000
predicted_RBI0.4001.0001.000Hitting_RBI0.5220.0000.4781.000
predicted_SLG0.3280.7500.167Hitting_SLG0.2590.0000.4910.750
predicted_SO1.5001.0003.000Hitting_SO1.5003.000-0.500-2.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_H: 0.6500 -> 2.0000 (boost 1.3500, better)
Biggest Deboostpredicted_SO: 1.5000 -> 1.0000 (deboost -0.5000, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend107364predicted_AB: 3.4350 -> 6.0762 (boost 2.6412, better)predicted_SLG: 0.3280 -> 0.3002 (deboost -0.0278, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot60606-predicted_RBI: 0.9264 -> 0.8235 (deboost -0.1029, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling72516predicted_SO: 2.6760 -> 3.0000 (boost 0.3240, worse)predicted_BB: 0.3332 -> 0.0000 (deboost -0.3332, worse)AB rounded to 6 (raw=6.08), rates preserved: AVG=0.180 HR/AB=0.009
5consistency_constraints11010predicted_R: 0.7531 -> 1.0000 (boost 0.2469, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context30303-predicted_SLG: 0.2581 -> 0.1670 (deboost -0.0911, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference42231predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final33030predicted_SLG: 0.1670 -> 0.2581 (boost 0.0911, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "691788",
  "player_name": "Joe Mack",
  "position": "C",
  "team": "MIA",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.196,
        "predicted_3B": 0.0,
        "predicted_AB": 3.435,
        "predicted_AVG": 0.235,
        "predicted_BB": 0.174,
        "predicted_H": 0.65,
        "predicted_HR": 0.06,
        "predicted_OBP": 0.276,
        "predicted_R": 0.478,
        "predicted_RBI": 0.4,
        "predicted_SLG": 0.328,
        "predicted_SO": 1.5
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.3091,
        "predicted_3B": 0.0024,
        "predicted_AB": 6.0762,
        "predicted_AVG": 0.2188,
        "predicted_BB": 0.3397,
        "predicted_H": 1.1731,
        "predicted_HBP": 0.014,
        "predicted_HR": 0.0564,
        "predicted_OBP": 0.2617,
        "predicted_R": 0.8472,
        "predicted_RBI": 0.9264,
        "predicted_SLG": 0.3002,
        "predicted_SO": 2.6261
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.196,
          "after": 0.3091,
          "delta": 0.1131,
          "percent_delta": 0.577,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0024,
          "delta": 0.0024,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.435,
          "after": 6.0762,
          "delta": 2.6412,
          "percent_delta": 0.7689,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.235,
          "after": 0.2188,
          "delta": -0.0162,
          "percent_delta": -0.0689,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.174,
          "after": 0.3397,
          "delta": 0.1657,
          "percent_delta": 0.9523,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.65,
          "after": 1.1731,
          "delta": 0.5231,
          "percent_delta": 0.8048,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.06,
          "after": 0.0564,
          "delta": -0.0036,
          "percent_delta": -0.06,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.276,
          "after": 0.2617,
          "delta": -0.0143,
          "percent_delta": -0.0518,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.478,
          "after": 0.8472,
          "delta": 0.3692,
          "percent_delta": 0.7724,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4,
          "after": 0.9264,
          "delta": 0.5264,
          "percent_delta": 1.316,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.328,
          "after": 0.3002,
          "delta": -0.0278,
          "percent_delta": -0.0848,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.5,
          "after": 2.6261,
          "delta": 1.1261,
          "percent_delta": 0.7507,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 10,
        "boosted_metrics": 7,
        "deboosted_metrics": 3,
        "better_metrics": 6,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.435,
          "after": 6.0762,
          "delta": 2.6412,
          "percent_delta": 0.7689,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.328,
          "after": 0.3002,
          "delta": -0.0278,
          "percent_delta": -0.0848,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 2,
        "last_10": 3,
        "season": 14
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.3091,
        "predicted_3B": 0.0024,
        "predicted_AB": 6.0762,
        "predicted_AVG": 0.1805,
        "predicted_BB": 0.3332,
        "predicted_H": 1.0967,
        "predicted_HBP": 0.014,
        "predicted_HR": 0.0525,
        "predicted_OBP": 0.2231,
        "predicted_R": 0.7531,
        "predicted_RBI": 0.8235,
        "predicted_SLG": 0.2581,
        "predicted_SO": 2.676
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.3091,
          "after": 0.3091,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0024,
          "after": 0.0024,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.0762,
          "after": 6.0762,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2188,
          "after": 0.1805,
          "delta": -0.0383,
          "percent_delta": -0.175,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3397,
          "after": 0.3332,
          "delta": -0.0065,
          "percent_delta": -0.0191,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.1731,
          "after": 1.0967,
          "delta": -0.0764,
          "percent_delta": -0.0651,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "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.0564,
          "after": 0.0525,
          "delta": -0.0039,
          "percent_delta": -0.0691,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2617,
          "after": 0.2231,
          "delta": -0.0386,
          "percent_delta": -0.1475,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.8472,
          "after": 0.7531,
          "delta": -0.0941,
          "percent_delta": -0.1111,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.9264,
          "after": 0.8235,
          "delta": -0.1029,
          "percent_delta": -0.1111,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3002,
          "after": 0.2581,
          "delta": -0.0421,
          "percent_delta": -0.1402,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.6261,
          "after": 2.676,
          "delta": 0.0499,
          "percent_delta": 0.019,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 0,
        "deboosted_metrics": 6,
        "better_metrics": 0,
        "worse_metrics": 6,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.9264,
          "after": 0.8235,
          "delta": -0.1029,
          "percent_delta": -0.1111,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 6 (raw=6.08), rates preserved: AVG=0.180 HR/AB=0.009",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.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": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.3091,
          "after": 0.0,
          "delta": -0.3091,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0024,
          "after": 0.0,
          "delta": -0.0024,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.0762,
          "after": 6.0,
          "delta": -0.0762,
          "percent_delta": -0.0125,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3332,
          "after": 0.0,
          "delta": -0.3332,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0967,
          "after": 1.0,
          "delta": -0.0967,
          "percent_delta": -0.0882,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.014,
          "after": 0.0,
          "delta": -0.014,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0525,
          "after": 0.0,
          "delta": -0.0525,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.8235,
          "after": 1.0,
          "delta": 0.1765,
          "percent_delta": 0.2143,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.676,
          "after": 3.0,
          "delta": 0.324,
          "percent_delta": 0.1211,
          "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": 2.676,
          "after": 3.0,
          "delta": 0.324,
          "percent_delta": 0.1211,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3332,
          "after": 0.0,
          "delta": -0.3332,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.7531,
          "after": 1.0,
          "delta": 0.2469,
          "percent_delta": 0.3278,
          "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": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.7531,
          "after": 1.0,
          "delta": 0.2469,
          "percent_delta": 0.3278,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_AVG": 0.167,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.167,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.167,
        "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": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1805,
          "after": 0.167,
          "delta": -0.0135,
          "percent_delta": -0.0748,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2231,
          "after": 0.167,
          "delta": -0.0561,
          "percent_delta": -0.2515,
          "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.2581,
          "after": 0.167,
          "delta": -0.0911,
          "percent_delta": -0.353,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.2581,
          "after": 0.167,
          "delta": -0.0911,
          "percent_delta": -0.353,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 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": 6.0,
          "after": 4.0,
          "delta": -2.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 1.0,
          "delta": -2.0,
          "percent_delta": -0.6667,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 4.0,
          "delta": -2.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.1805,
        "predicted_BB": 0.0,
        "predicted_C": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2231,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2581,
        "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.167,
          "after": 0.1805,
          "delta": 0.0135,
          "percent_delta": 0.0808,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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.167,
          "after": 0.2231,
          "delta": 0.0561,
          "percent_delta": 0.336,
          "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.167,
          "after": 0.2581,
          "delta": 0.0911,
          "percent_delta": 0.5452,
          "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.167,
          "after": 0.2581,
          "delta": 0.0911,
          "percent_delta": 0.5452,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.196,
        "after": 1.0,
        "delta": 0.804,
        "percent_delta": 4.102,
        "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.435,
        "after": 4.0,
        "delta": 0.565,
        "percent_delta": 0.1645,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.235,
        "after": 0.1805,
        "delta": -0.0545,
        "percent_delta": -0.2319,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.174,
        "after": 0.0,
        "delta": -0.174,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.65,
        "after": 2.0,
        "delta": 1.35,
        "percent_delta": 2.0769,
        "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.276,
        "after": 0.2231,
        "delta": -0.0529,
        "percent_delta": -0.1917,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.478,
        "after": 1.0,
        "delta": 0.522,
        "percent_delta": 1.0921,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.4,
        "after": 1.0,
        "delta": 0.6,
        "percent_delta": 1.5,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.328,
        "after": 0.2581,
        "delta": -0.0699,
        "percent_delta": -0.2131,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.5,
        "after": 1.0,
        "delta": -0.5,
        "percent_delta": -0.3333,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 5,
      "deboosted_metrics": 6,
      "better_metrics": 6,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.65,
        "after": 2.0,
        "delta": 1.35,
        "percent_delta": 2.0769,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.5,
        "after": 1.0,
        "delta": -0.5,
        "percent_delta": -0.3333,
        "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.196-
predicted_3B0.000-
predicted_AB3.435-
predicted_AVG0.235-
predicted_BB0.174-
predicted_H0.650-
predicted_HR0.060-
predicted_OBP0.276-
predicted_R0.478-
predicted_RBI0.400-
predicted_SLG0.328-
predicted_SO1.500-
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.3090.113
predicted_3B0.0020.002
predicted_AB6.0762.641
predicted_AVG0.219-0.016
predicted_BB0.3400.166
predicted_H1.1730.523
predicted_HBP0.014-
predicted_HR0.056-0.004
predicted_OBP0.262-0.014
predicted_R0.8470.369
predicted_RBI0.9260.526
predicted_SLG0.300-0.028
predicted_SO2.6261.126
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.3090.000
predicted_3B0.0020.000
predicted_AB6.0760.000
predicted_AVG0.180-0.038
predicted_BB0.333-0.007
predicted_H1.097-0.076
predicted_HBP0.0140.000
predicted_HR0.052-0.004
predicted_OBP0.223-0.039
predicted_R0.753-0.094
predicted_RBI0.824-0.103
predicted_SLG0.258-0.042
predicted_SO2.6760.050
4. ab_floor_and_scaling

AB rounded to 6 (raw=6.08), rates preserved: AVG=0.180 HR/AB=0.009

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB6.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO3.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB6.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-
SO3.0000.000
6. 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.309
predicted_3B0.000-0.002
predicted_AB6.000-0.076
predicted_AVG0.167-0.013
predicted_BB0.000-0.333
predicted_H1.000-0.097
predicted_HR0.000-0.052
predicted_OBP0.167-0.056
predicted_R1.0000.247
predicted_RBI1.0000.176
predicted_SLG0.167-0.091
predicted_SO3.0000.324
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 46
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-19.0001.0000.0000.0000.0004.0002.0001.00013.0000.05260.10000.05260.05260.00000.21050.05260.6842
last_100.203-32.0006.0000.0000.0000.00016.0008.0004.00016.0000.18750.27780.18750.18750.00000.50000.12500.5000
season0.6014-158.00032.0009.0000.0000.00024.00022.0008.00069.0000.20250.24100.25950.20250.00000.15190.05060.4367
Weighted Prediction From Real Data
MetricValue
predicted_2B0.4750
predicted_3B0.0060
predicted_AB9.9530
predicted_AVG0.1950
predicted_BB0.5830
predicted_H1.9410
predicted_HBP0.0140
predicted_HR0.0510
predicted_OBP0.2407
predicted_R1.3890
predicted_RBI1.6990
predicted_SLG0.2594
predicted_SO4.2790
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.19600.47500.3091model_form_blend
predicted_3B0.00000.00600.0024model_form_blend
predicted_AB3.43509.95306.0762model_form_blend
predicted_AVG0.23500.19500.2188model_form_blend
predicted_BB0.17400.58300.3397model_form_blend
predicted_H0.65001.94101.1731model_form_blend
predicted_HBP-0.01400.0140form_only
predicted_HR0.06000.05100.0564model_form_blend
predicted_OBP0.27600.24070.2617model_form_blend
predicted_R0.47801.38900.8472model_form_blend
predicted_RBI0.40001.69900.9264model_form_blend
predicted_SLG0.32800.25940.3002model_form_blend
predicted_SO1.50004.27902.6261model_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 date46
Season rows before report date46
Report year2026
Profile rows used46
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
RBI1
BB0
SO1
SF0
HBP0
season_avg0.203

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball1
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_SO3
Hitting_TB0
Hitting_battingOrder9
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedC
gameID20260519_ATL@MIA
game_typefull
mlbID691788
playerID691788
playerNameJoe Mack
posC
startedTrue
startingPositionC
teamMIA
teamID15
game_date2026-05-19
game_pk823865.0
sl_k_percent39.1
sl_bb_percent4.3
sl_woba0.231
sl_xwoba0.2
sl_xba0.177
sl_xslg0.233
sl_sweet_spot_percent34.6
sl_barrel_batted_rate3.8
sl_hard_hit_percent38.5
sl_exit_velocity_avg89.0
sl_launch_angle_avg8.4
sl_whiff_percent30.4
sl_swing_percent46.9
at_bat_number76.0
ab_pitcher663158.0
ab_pitcher_nameSuarez, Robert
ab_home_teamMIA
ab_away_teamATL
ab_game_typeR
ab_standL
ab_p_throwsR
ab_inning8.0
ab_inning_topbotBot
ab_outs_when_up2.0
ab_on_1b_start677870.0
ab_balls_start0.0
ab_strikes_start0.0
ab_home_score_start4.0
ab_away_score_start7.0
ab_bat_score_start4.0
ab_fld_score_start7.0
ab_eventfield_out
ab_event_descriptionJoe Mack grounds out, second baseman Ozzie Albies to first baseman Matt Olson.
ab_event_typeX
ab_bb_typeground_ball
ab_hit_location4.0
ab_pitch_type_lastCH
ab_pitch_name_lastChangeup
ab_zone_last4.0
ab_launch_speed_last74.9
ab_launch_angle_last-8.0
ab_hit_distance_last14.0
ab_estimated_ba_last0.075
ab_estimated_woba_last0.073
ab_estimated_slg_last0.084
ab_woba_value0.0
ab_woba_denom1.0
ab_babip_value0.0
ab_iso_value0.0
ab_balls_end0.0
ab_strikes_end0.0
ab_home_score_end4.0
ab_away_score_end7.0
ab_bat_score_end4.0
ab_fld_score_end7.0
ab_pitch_count1.0
ab_release_speed_avg89.9
ab_release_spin_rate_avg1904.0
ab_effective_speed_avg90.3
ab_launch_speed_avg74.9
ab_launch_angle_avg-8.0
ab_delta_run_exp_avg-0.271
ab_delta_home_win_exp_avg-0.022
ab_delta_pitcher_run_exp_avg0.271
ab_bat_speed_avg75.9
ab_swing_length_avg7.5
ab_launch_speed_max74.9
ab_hit_distance_sc_max14.0
ab_release_speed_max89.9
ab_release_spin_rate_max1904.0
ab_release_speed_min89.9
ab_release_spin_rate_min1904.0
ab_delta_run_exp_sum-0.271
ab_delta_home_win_exp_sum-0.022
ab_delta_pitcher_run_exp_sum0.271
ab_result_is_hitFalse
ab_result_is_walkFalse
ab_result_is_strikeoutFalse
ab_result_is_hbpFalse
Christopher Morel (666624) · BATTER · 1B · Team MIA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 50
All-history rows before 20260521: 50
System season_avg: 0.1610
Data season_avg (2026 season-to-date): 0.1607
Diff (system - data): 0.0003
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.1600.0000.000Hitting_2B0.1600.000-0.1600.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.3604.0006.000Hitting_AB3.3603.0000.6401.000
predicted_AVG0.2120.0000.167Hitting_AVG0.1610.000-0.1610.000
predicted_BB0.1600.0000.000Hitting_BB0.1600.000-0.1600.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.6400.0001.000Hitting_H0.5400.000-0.5400.000
predicted_HR0.0600.0000.000Hitting_HR0.0000.0000.0000.000
predicted_OBP0.2390.0000.167Hitting_OBP0.2170.000-0.2170.000
predicted_R0.1600.0000.000Hitting_R0.1600.000-0.1600.000
predicted_RBI0.2600.0000.000Hitting_RBI0.0800.000-0.0800.000
predicted_SLG0.2930.0000.167Hitting_SLG0.2080.000-0.2080.000
predicted_SO1.2402.0002.000Hitting_SO1.2400.0000.7602.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics2
Deboosted Metrics9
Better Metrics1
Worse Metrics10
Biggest Boostpredicted_SO: 1.2400 -> 2.0000 (boost 0.7600, worse)
Biggest Deboostpredicted_H: 0.6400 -> 0.0000 (deboost -0.6400, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend96354predicted_AB: 3.3600 -> 5.6378 (boost 2.2778, better)predicted_AVG: 0.2120 -> 0.1962 (deboost -0.0158, worse)Final model 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_snapshot40404-predicted_H: 1.0106 -> 0.9448 (deboost -0.0658, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling72534predicted_AB: 5.6378 -> 6.0000 (boost 0.3622, better)predicted_2B: 0.3568 -> 0.0000 (deboost -0.3568, worse)AB rounded to 6 (raw=5.64), rates preserved: AVG=0.168 HR/AB=0.009
5consistency_constraints10101-predicted_R: 0.2431 -> 0.0000 (deboost -0.2431, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context20202-predicted_SLG: 0.2579 -> 0.1670 (deboost -0.0909, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference20202-predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final22020predicted_SLG: 0.1670 -> 0.2579 (boost 0.0909, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "666624",
  "player_name": "Christopher Morel",
  "position": "1B",
  "team": "MIA",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.16,
        "predicted_3B": 0.0,
        "predicted_AB": 3.36,
        "predicted_AVG": 0.212,
        "predicted_BB": 0.16,
        "predicted_H": 0.64,
        "predicted_HR": 0.06,
        "predicted_OBP": 0.239,
        "predicted_R": 0.16,
        "predicted_RBI": 0.26,
        "predicted_SLG": 0.293,
        "predicted_SO": 1.24
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.3568,
        "predicted_3B": 0.002,
        "predicted_AB": 5.6378,
        "predicted_AVG": 0.1962,
        "predicted_BB": 0.2474,
        "predicted_H": 1.0106,
        "predicted_HBP": 0.148,
        "predicted_HR": 0.0531,
        "predicted_OBP": 0.2306,
        "predicted_R": 0.2735,
        "predicted_RBI": 0.2784,
        "predicted_SLG": 0.2797,
        "predicted_SO": 2.1029
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.16,
          "after": 0.3568,
          "delta": 0.1968,
          "percent_delta": 1.23,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.002,
          "delta": 0.002,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.36,
          "after": 5.6378,
          "delta": 2.2778,
          "percent_delta": 0.6779,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.212,
          "after": 0.1962,
          "delta": -0.0158,
          "percent_delta": -0.0745,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.16,
          "after": 0.2474,
          "delta": 0.0874,
          "percent_delta": 0.5463,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.64,
          "after": 1.0106,
          "delta": 0.3706,
          "percent_delta": 0.5791,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.06,
          "after": 0.0531,
          "delta": -0.0069,
          "percent_delta": -0.115,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.239,
          "after": 0.2306,
          "delta": -0.0084,
          "percent_delta": -0.0351,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.16,
          "after": 0.2735,
          "delta": 0.1135,
          "percent_delta": 0.7094,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.26,
          "after": 0.2784,
          "delta": 0.0184,
          "percent_delta": 0.0708,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.293,
          "after": 0.2797,
          "delta": -0.0133,
          "percent_delta": -0.0454,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.24,
          "after": 2.1029,
          "delta": 0.8629,
          "percent_delta": 0.6959,
          "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": 3.36,
          "after": 5.6378,
          "delta": 2.2778,
          "percent_delta": 0.6779,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.212,
          "after": 0.1962,
          "delta": -0.0158,
          "percent_delta": -0.0745,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 2,
        "last_10": 5,
        "season": 16
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.3568,
        "predicted_3B": 0.002,
        "predicted_AB": 5.6378,
        "predicted_AVG": 0.1676,
        "predicted_BB": 0.2427,
        "predicted_H": 0.9448,
        "predicted_HBP": 0.148,
        "predicted_HR": 0.0494,
        "predicted_OBP": 0.2019,
        "predicted_R": 0.2431,
        "predicted_RBI": 0.2475,
        "predicted_SLG": 0.2579,
        "predicted_SO": 2.1429
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.3568,
          "after": 0.3568,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.002,
          "after": 0.002,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.6378,
          "after": 5.6378,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1962,
          "after": 0.1676,
          "delta": -0.0286,
          "percent_delta": -0.1458,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2474,
          "after": 0.2427,
          "delta": -0.0047,
          "percent_delta": -0.019,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0106,
          "after": 0.9448,
          "delta": -0.0658,
          "percent_delta": -0.0651,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.148,
          "after": 0.148,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0531,
          "after": 0.0494,
          "delta": -0.0037,
          "percent_delta": -0.0697,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2306,
          "after": 0.2019,
          "delta": -0.0287,
          "percent_delta": -0.1245,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.2735,
          "after": 0.2431,
          "delta": -0.0304,
          "percent_delta": -0.1112,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2784,
          "after": 0.2475,
          "delta": -0.0309,
          "percent_delta": -0.111,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2797,
          "after": 0.2579,
          "delta": -0.0218,
          "percent_delta": -0.0779,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.1029,
          "after": 2.1429,
          "delta": 0.04,
          "percent_delta": 0.019,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0106,
          "after": 0.9448,
          "delta": -0.0658,
          "percent_delta": -0.0651,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 6 (raw=5.64), rates preserved: AVG=0.168 HR/AB=0.009",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.3568,
          "after": 0.0,
          "delta": -0.3568,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.002,
          "after": 0.0,
          "delta": -0.002,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.6378,
          "after": 6.0,
          "delta": 0.3622,
          "percent_delta": 0.0642,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2427,
          "after": 0.0,
          "delta": -0.2427,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9448,
          "after": 1.0,
          "delta": 0.0552,
          "percent_delta": 0.0584,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.148,
          "after": 0.0,
          "delta": -0.148,
          "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_RBI",
          "before": 0.2475,
          "after": 0.0,
          "delta": -0.2475,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.1429,
          "after": 2.0,
          "delta": -0.1429,
          "percent_delta": -0.0667,
          "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": 5.6378,
          "after": 6.0,
          "delta": 0.3622,
          "percent_delta": 0.0642,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.3568,
          "after": 0.0,
          "delta": -0.3568,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.2431,
          "after": 0.0,
          "delta": -0.2431,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 0.2431,
          "after": 0.0,
          "delta": -0.2431,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_AVG": 0.167,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.167,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.167,
        "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": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1676,
          "after": 0.167,
          "delta": -0.0006,
          "percent_delta": -0.0036,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2019,
          "after": 0.167,
          "delta": -0.0349,
          "percent_delta": -0.1729,
          "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.2579,
          "after": 0.167,
          "delta": -0.0909,
          "percent_delta": -0.3525,
          "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.2579,
          "after": 0.167,
          "delta": -0.0909,
          "percent_delta": -0.3525,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 4.0,
          "delta": -2.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 4.0,
          "delta": -2.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.1676,
        "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.2019,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2579,
        "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.167,
          "after": 0.1676,
          "delta": 0.0006,
          "percent_delta": 0.0035,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.167,
          "after": 0.2019,
          "delta": 0.0349,
          "percent_delta": 0.2092,
          "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.167,
          "after": 0.2579,
          "delta": 0.0909,
          "percent_delta": 0.5441,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.167,
          "after": 0.2579,
          "delta": 0.0909,
          "percent_delta": 0.5441,
          "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.16,
        "after": 0.0,
        "delta": -0.16,
        "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.212,
        "after": 0.1676,
        "delta": -0.0444,
        "percent_delta": -0.2094,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.16,
        "after": 0.0,
        "delta": -0.16,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.64,
        "after": 0.0,
        "delta": -0.64,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.06,
        "after": 0.0,
        "delta": -0.06,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.239,
        "after": 0.2019,
        "delta": -0.0371,
        "percent_delta": -0.1552,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.16,
        "after": 0.0,
        "delta": -0.16,
        "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.293,
        "after": 0.2579,
        "delta": -0.0351,
        "percent_delta": -0.1198,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.24,
        "after": 2.0,
        "delta": 0.76,
        "percent_delta": 0.6129,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 2,
      "deboosted_metrics": 9,
      "better_metrics": 1,
      "worse_metrics": 10,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 1.24,
        "after": 2.0,
        "delta": 0.76,
        "percent_delta": 0.6129,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.64,
        "after": 0.0,
        "delta": -0.64,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

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.160-
predicted_3B0.000-
predicted_AB3.360-
predicted_AVG0.212-
predicted_BB0.160-
predicted_H0.640-
predicted_HR0.060-
predicted_OBP0.239-
predicted_R0.160-
predicted_RBI0.260-
predicted_SLG0.293-
predicted_SO1.240-
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.3570.197
predicted_3B0.0020.002
predicted_AB5.6382.278
predicted_AVG0.196-0.016
predicted_BB0.2470.087
predicted_H1.0110.371
predicted_HBP0.148-
predicted_HR0.053-0.007
predicted_OBP0.231-0.008
predicted_R0.2740.114
predicted_RBI0.2780.018
predicted_SLG0.280-0.013
predicted_SO2.1030.863
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.3570.000
predicted_3B0.0020.000
predicted_AB5.6380.000
predicted_AVG0.168-0.029
predicted_BB0.243-0.005
predicted_H0.945-0.066
predicted_HBP0.1480.000
predicted_HR0.049-0.004
predicted_OBP0.202-0.029
predicted_R0.243-0.030
predicted_RBI0.247-0.031
predicted_SLG0.258-0.022
predicted_SO2.1430.040
4. ab_floor_and_scaling

AB rounded to 6 (raw=5.64), rates preserved: AVG=0.168 HR/AB=0.009

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB6.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
6. 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.357
predicted_3B0.000-0.002
predicted_AB6.0000.362
predicted_AVG0.167-0.001
predicted_BB0.000-0.243
predicted_H1.0000.055
predicted_HR0.000-0.049
predicted_OBP0.167-0.035
predicted_R0.000-0.243
predicted_RBI0.000-0.247
predicted_SLG0.167-0.091
predicted_SO2.000-0.143
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.000-2.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.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 50
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-19.0004.0004.0000.0000.0000.0000.0000.00012.0000.21050.21050.42110.21050.00000.00000.00000.6316
last_100.205-32.0004.0004.0000.0000.0000.0000.0000.00013.0000.12500.12500.25000.12500.00000.00000.00000.4062
season0.6016-168.00027.0008.0000.0000.0004.0008.0008.00062.0000.16070.21670.20830.16070.00000.02380.04760.3690
Weighted Prediction From Real Data
MetricValue
predicted_2B0.6420
predicted_3B0.0050
predicted_AB8.9400
predicted_AVG0.1732
predicted_BB0.3740
predicted_H1.5480
predicted_HBP0.1480
predicted_HR0.0430
predicted_OBP0.2183
predicted_R0.4380
predicted_RBI0.3050
predicted_SLG0.2604
predicted_SO3.3540
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16000.64200.3568model_form_blend
predicted_3B0.00000.00500.0020model_form_blend
predicted_AB3.36008.94005.6378model_form_blend
predicted_AVG0.21200.17320.1962model_form_blend
predicted_BB0.16000.37400.2474model_form_blend
predicted_H0.64001.54801.0106model_form_blend
predicted_HBP-0.14800.1480form_only
predicted_HR0.06000.04300.0531model_form_blend
predicted_OBP0.23900.21830.2306model_form_blend
predicted_R0.16000.43800.2735model_form_blend
predicted_RBI0.26000.30500.2784model_form_blend
predicted_SLG0.29300.26040.2797model_form_blend
predicted_SO1.24003.35402.1029model_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 date50
Season rows before report date50
Report year2026
Profile rows used50
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.161

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_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-1B
gameID20260520_ATL@MIA
game_typefull
mlbID666624
playerID666624
playerNameChristopher Morel
pos1B
startedTrue
startingPositionDH
teamMIA
teamID15
game_date2026-05-20
sl_k_percent36.7
sl_bb_percent4.1
sl_woba0.188
sl_xwoba0.207
sl_xba0.173
sl_xslg0.231
sl_sweet_spot_percent25.0
sl_barrel_batted_rate3.6
sl_hard_hit_percent46.4
sl_exit_velocity_avg88.8
sl_launch_angle_avg23.6
sl_whiff_percent33.3
sl_swing_percent52.7
Owen Caissie (683357) · BATTER · RF · Team MIA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 132
All-history rows before 20260521: 132
System season_avg: 0.2150
Data season_avg (2026 season-to-date): 0.2153
Diff (system - data): -0.0003
System opponent_avg: 0.1410

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1832.0000.000Hitting_2B0.1820.0001.8182.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.1914.0006.000Hitting_AB3.1671.0000.8333.000
predicted_AVG0.2400.5000.167Hitting_AVG0.2150.0000.2850.500
predicted_BB0.2210.0000.000Hitting_BB0.2270.000-0.2270.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.6402.0001.000Hitting_H0.6820.0001.3182.000
predicted_HR0.0900.0000.000Hitting_HR0.0680.000-0.0680.000
predicted_OBP0.2890.5000.167Hitting_OBP0.2720.0000.2280.500
predicted_R0.3740.0001.000Hitting_R0.3710.000-0.3710.000
predicted_RBI0.3700.0001.000Hitting_RBI0.5380.000-0.5380.000
predicted_SLG0.3471.0000.167Hitting_SLG0.3370.0000.6631.000
predicted_SO1.4501.0003.000Hitting_SO1.4391.000-0.4390.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_2B: 0.1830 -> 2.0000 (boost 1.8170, better)
Biggest Deboostpredicted_SO: 1.4500 -> 1.0000 (deboost -0.4500, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend107364predicted_AB: 3.1910 -> 6.0173 (boost 2.8263, better)predicted_SLG: 0.3470 -> 0.3334 (deboost -0.0136, worse)Final model 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_snapshot71607predicted_SO: 2.7745 -> 2.8272 (boost 0.0527, worse)predicted_RBI: 0.7734 -> 0.6875 (deboost -0.0859, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling72516predicted_RBI: 0.6875 -> 1.0000 (boost 0.3125, better)predicted_BB: 0.3661 -> 0.0000 (deboost -0.3661, worse)AB rounded to 6 (raw=6.02), rates preserved: AVG=0.197 HR/AB=0.020
5consistency_constraints11010predicted_R: 0.5734 -> 1.0000 (boost 0.4266, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context30303-predicted_SLG: 0.3056 -> 0.1670 (deboost -0.1386, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference62433predicted_2B: 0.0000 -> 2.0000 (boost 2.0000, better)predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final33030predicted_SLG: 0.1670 -> 0.3056 (boost 0.1386, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "683357",
  "player_name": "Owen Caissie",
  "position": "RF",
  "team": "MIA",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.183,
        "predicted_3B": 0.0,
        "predicted_AB": 3.191,
        "predicted_AVG": 0.24,
        "predicted_BB": 0.221,
        "predicted_H": 0.64,
        "predicted_HR": 0.09,
        "predicted_OBP": 0.289,
        "predicted_R": 0.374,
        "predicted_RBI": 0.37,
        "predicted_SLG": 0.347,
        "predicted_SO": 1.45
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2954,
        "predicted_3B": 0.0009,
        "predicted_AB": 6.0173,
        "predicted_AVG": 0.2294,
        "predicted_BB": 0.3732,
        "predicted_H": 1.2705,
        "predicted_HBP": 0.143,
        "predicted_HR": 0.1268,
        "predicted_OBP": 0.2776,
        "predicted_R": 0.6451,
        "predicted_RBI": 0.7734,
        "predicted_SLG": 0.3334,
        "predicted_SO": 2.7745
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.183,
          "after": 0.2954,
          "delta": 0.1124,
          "percent_delta": 0.6142,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.191,
          "after": 6.0173,
          "delta": 2.8263,
          "percent_delta": 0.8857,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.24,
          "after": 0.2294,
          "delta": -0.0106,
          "percent_delta": -0.0442,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.221,
          "after": 0.3732,
          "delta": 0.1522,
          "percent_delta": 0.6887,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.64,
          "after": 1.2705,
          "delta": 0.6305,
          "percent_delta": 0.9852,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.09,
          "after": 0.1268,
          "delta": 0.0368,
          "percent_delta": 0.4089,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.289,
          "after": 0.2776,
          "delta": -0.0114,
          "percent_delta": -0.0394,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.374,
          "after": 0.6451,
          "delta": 0.2711,
          "percent_delta": 0.7249,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.37,
          "after": 0.7734,
          "delta": 0.4034,
          "percent_delta": 1.0903,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.347,
          "after": 0.3334,
          "delta": -0.0136,
          "percent_delta": -0.0392,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.45,
          "after": 2.7745,
          "delta": 1.3245,
          "percent_delta": 0.9134,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 10,
        "boosted_metrics": 7,
        "deboosted_metrics": 3,
        "better_metrics": 6,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.191,
          "after": 6.0173,
          "delta": 2.8263,
          "percent_delta": 0.8857,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.347,
          "after": 0.3334,
          "delta": -0.0136,
          "percent_delta": -0.0392,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 2,
        "last_10": 4,
        "season": 41
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2954,
        "predicted_3B": 0.0009,
        "predicted_AB": 6.0173,
        "predicted_AVG": 0.1974,
        "predicted_BB": 0.3661,
        "predicted_H": 1.1878,
        "predicted_HBP": 0.143,
        "predicted_HR": 0.1179,
        "predicted_OBP": 0.2434,
        "predicted_R": 0.5734,
        "predicted_RBI": 0.6875,
        "predicted_SLG": 0.3056,
        "predicted_SO": 2.8272
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2954,
          "after": 0.2954,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.0173,
          "after": 6.0173,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2294,
          "after": 0.1974,
          "delta": -0.032,
          "percent_delta": -0.1395,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3732,
          "after": 0.3661,
          "delta": -0.0071,
          "percent_delta": -0.019,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.2705,
          "after": 1.1878,
          "delta": -0.0827,
          "percent_delta": -0.0651,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.143,
          "after": 0.143,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1268,
          "after": 0.1179,
          "delta": -0.0089,
          "percent_delta": -0.0702,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2776,
          "after": 0.2434,
          "delta": -0.0342,
          "percent_delta": -0.1232,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6451,
          "after": 0.5734,
          "delta": -0.0717,
          "percent_delta": -0.1111,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7734,
          "after": 0.6875,
          "delta": -0.0859,
          "percent_delta": -0.1111,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3334,
          "after": 0.3056,
          "delta": -0.0278,
          "percent_delta": -0.0834,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.7745,
          "after": 2.8272,
          "delta": 0.0527,
          "percent_delta": 0.019,
          "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": 2.7745,
          "after": 2.8272,
          "delta": 0.0527,
          "percent_delta": 0.019,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.7734,
          "after": 0.6875,
          "delta": -0.0859,
          "percent_delta": -0.1111,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 6 (raw=6.02), rates preserved: AVG=0.197 HR/AB=0.020",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.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": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2954,
          "after": 0.0,
          "delta": -0.2954,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.0173,
          "after": 6.0,
          "delta": -0.0173,
          "percent_delta": -0.0029,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3661,
          "after": 0.0,
          "delta": -0.3661,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.1878,
          "after": 1.0,
          "delta": -0.1878,
          "percent_delta": -0.1581,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.143,
          "after": 0.0,
          "delta": -0.143,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1179,
          "after": 0.0,
          "delta": -0.1179,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6875,
          "after": 1.0,
          "delta": 0.3125,
          "percent_delta": 0.4545,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.8272,
          "after": 3.0,
          "delta": 0.1728,
          "percent_delta": 0.0611,
          "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.6875,
          "after": 1.0,
          "delta": 0.3125,
          "percent_delta": 0.4545,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3661,
          "after": 0.0,
          "delta": -0.3661,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5734,
          "after": 1.0,
          "delta": 0.4266,
          "percent_delta": 0.744,
          "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": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.5734,
          "after": 1.0,
          "delta": 0.4266,
          "percent_delta": 0.744,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_AVG": 0.167,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.167,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.167,
        "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": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1974,
          "after": 0.167,
          "delta": -0.0304,
          "percent_delta": -0.154,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2434,
          "after": 0.167,
          "delta": -0.0764,
          "percent_delta": -0.3139,
          "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.3056,
          "after": 0.167,
          "delta": -0.1386,
          "percent_delta": -0.4535,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3056,
          "after": 0.167,
          "delta": -0.1386,
          "percent_delta": -0.4535,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 2.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 4.0,
          "delta": -2.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 1.0,
          "delta": -2.0,
          "percent_delta": -0.6667,
          "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": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 4.0,
          "delta": -2.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 2.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.1974,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2434,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3056,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.167,
          "after": 0.1974,
          "delta": 0.0304,
          "percent_delta": 0.182,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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.167,
          "after": 0.2434,
          "delta": 0.0764,
          "percent_delta": 0.4577,
          "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.167,
          "after": 0.3056,
          "delta": 0.1386,
          "percent_delta": 0.8299,
          "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.167,
          "after": 0.3056,
          "delta": 0.1386,
          "percent_delta": 0.8299,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.183,
        "after": 2.0,
        "delta": 1.817,
        "percent_delta": 9.929,
        "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.191,
        "after": 4.0,
        "delta": 0.809,
        "percent_delta": 0.2535,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.24,
        "after": 0.1974,
        "delta": -0.0426,
        "percent_delta": -0.1775,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.221,
        "after": 0.0,
        "delta": -0.221,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.64,
        "after": 2.0,
        "delta": 1.36,
        "percent_delta": 2.125,
        "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.289,
        "after": 0.2434,
        "delta": -0.0456,
        "percent_delta": -0.1578,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.374,
        "after": 0.0,
        "delta": -0.374,
        "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.347,
        "after": 0.3056,
        "delta": -0.0414,
        "percent_delta": -0.1193,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.45,
        "after": 1.0,
        "delta": -0.45,
        "percent_delta": -0.3103,
        "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_2B",
        "before": 0.183,
        "after": 2.0,
        "delta": 1.817,
        "percent_delta": 9.929,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.45,
        "after": 1.0,
        "delta": -0.45,
        "percent_delta": -0.3103,
        "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.183-
predicted_3B0.000-
predicted_AB3.191-
predicted_AVG0.240-
predicted_BB0.221-
predicted_H0.640-
predicted_HR0.090-
predicted_OBP0.289-
predicted_R0.374-
predicted_RBI0.370-
predicted_SLG0.347-
predicted_SO1.450-
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.2950.112
predicted_3B0.0010.001
predicted_AB6.0172.826
predicted_AVG0.229-0.011
predicted_BB0.3730.152
predicted_H1.2700.630
predicted_HBP0.143-
predicted_HR0.1270.037
predicted_OBP0.278-0.011
predicted_R0.6450.271
predicted_RBI0.7730.403
predicted_SLG0.333-0.014
predicted_SO2.7751.325
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.2950.000
predicted_3B0.0010.000
predicted_AB6.0170.000
predicted_AVG0.197-0.032
predicted_BB0.366-0.007
predicted_H1.188-0.083
predicted_HBP0.1430.000
predicted_HR0.118-0.009
predicted_OBP0.243-0.034
predicted_R0.573-0.072
predicted_RBI0.688-0.086
predicted_SLG0.306-0.028
predicted_SO2.8270.053
4. ab_floor_and_scaling

AB rounded to 6 (raw=6.02), rates preserved: AVG=0.197 HR/AB=0.020

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB6.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO3.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB6.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-
SO3.0000.000
6. 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.295
predicted_3B0.000-0.001
predicted_AB6.000-0.017
predicted_AVG0.167-0.030
predicted_BB0.000-0.366
predicted_H1.000-0.188
predicted_HR0.000-0.118
predicted_OBP0.167-0.076
predicted_R1.0000.427
predicted_RBI1.0000.312
predicted_SLG0.167-0.139
predicted_SO3.0000.173
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B2.0002.000
3B0.0000.000
AB4.000-2.000
BB0.0000.000
CS0.0000.000
H2.0001.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-1.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO1.000-2.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: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-21.0004.0000.0000.0000.0000.0000.0000.00013.0000.19050.19050.19050.19050.00000.00000.00000.6190
last_100.204-36.0008.0000.0000.0000.0000.0003.0001.00019.0000.22220.24320.22220.22220.00000.00000.02780.5278
season0.6041-418.00090.00024.0000.0009.00071.00049.00029.000190.0000.21530.27080.33730.21530.02150.16990.06940.4546
Weighted Prediction From Real Data
MetricValue
predicted_2B0.4430
predicted_3B0.0020
predicted_AB9.7270
predicted_AVG0.2156
predicted_BB0.5730
predicted_H2.0980
predicted_HBP0.1430
predicted_HR0.1750
predicted_OBP0.2627
predicted_R1.0010
predicted_RBI1.3030
predicted_SLG0.3156
predicted_SO4.5130
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18300.44300.2954model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB3.19109.72706.0173model_form_blend
predicted_AVG0.24000.21560.2294model_form_blend
predicted_BB0.22100.57300.3732model_form_blend
predicted_H0.64002.09801.2705model_form_blend
predicted_HBP-0.14300.1430form_only
predicted_HR0.09000.17500.1268model_form_blend
predicted_OBP0.28900.26270.2776model_form_blend
predicted_R0.37401.00100.6451model_form_blend
predicted_RBI0.37001.30300.7734model_form_blend
predicted_SLG0.34700.31560.3334model_form_blend
predicted_SO1.45004.51302.7745model_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 date132
Season rows before report date132
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
AB4
H2
2B2
3B0
HR0
R0
RBI0
BB0
SO1
SF0
HBP0
season_avg0.215

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB1
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder6
Hitting_substitutionOrder1
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedRF
gameID20260520_ATL@MIA
game_typeshort
mlbID683357
playerID683357
playerNameOwen Caissie
posRF
startedFalse
startingPositionRF
teamMIA
teamID15
game_date2026-05-20
sl_k_percent40.5
sl_bb_percent6.9
sl_woba0.269
sl_xwoba0.293
sl_xba0.213
sl_xslg0.382
sl_sweet_spot_percent50.7
sl_barrel_batted_rate11.9
sl_hard_hit_percent44.8
sl_exit_velocity_avg91.4
sl_launch_angle_avg14.8
sl_whiff_percent34.9
sl_swing_percent45.9
Javier Sanoja (691594) · BATTER · 3B · Team MIA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 108
All-history rows before 20260521: 108
System season_avg: 0.2670
Data season_avg (2026 season-to-date): 0.2674
Diff (system - data): -0.0004
System opponent_avg: 0.3530

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2520.0001.000Hitting_2B0.2410.000-0.2410.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.4854.0007.000Hitting_AB3.3242.0000.6762.000
predicted_AVG0.2500.0000.286Hitting_AVG0.2670.000-0.2670.000
predicted_BB0.2330.0000.000Hitting_BB0.2411.000-0.241-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0460.000-0.0460.000
predicted_H0.6100.0002.000Hitting_H0.8890.000-0.8890.000
predicted_HR0.0700.0000.000Hitting_HR0.0370.000-0.0370.000
predicted_OBP0.2840.0000.286Hitting_OBP0.3170.333-0.317-0.333
predicted_R0.2040.0000.000Hitting_R0.1940.000-0.1940.000
predicted_RBI0.4800.0002.000Hitting_RBI0.6570.000-0.6570.000
predicted_SLG0.3690.0000.429Hitting_SLG0.3730.000-0.3730.000
predicted_SO0.4561.0001.000Hitting_SO0.4350.0000.5651.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.4560 -> 1.0000 (boost 0.5440, worse)
Biggest Deboostpredicted_H: 0.6100 -> 0.0000 (deboost -0.6100, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend11110101predicted_AB: 3.4850 -> 6.6630 (boost 3.1780, 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_snapshot60606-predicted_RBI: 1.6625 -> 1.4778 (deboost -0.1847, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling64242predicted_RBI: 1.4778 -> 2.0000 (boost 0.5222, better)predicted_BB: 0.4255 -> 0.0000 (deboost -0.4255, worse)AB rounded to 7 (raw=6.66), rates preserved: AVG=0.222 HR/AB=0.031
5consistency_constraints10101-predicted_R: 0.4699 -> 0.0000 (deboost -0.4699, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context33030predicted_AVG: 0.2223 -> 0.2860 (boost 0.0637, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference40404-predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final30303-predicted_AVG: 0.2860 -> 0.2223 (deboost -0.0637, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "691594",
  "player_name": "Javier Sanoja",
  "position": "3B",
  "team": "MIA",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.252,
        "predicted_3B": 0.0,
        "predicted_AB": 3.485,
        "predicted_AVG": 0.25,
        "predicted_BB": 0.233,
        "predicted_H": 0.61,
        "predicted_HR": 0.07,
        "predicted_OBP": 0.284,
        "predicted_R": 0.204,
        "predicted_RBI": 0.48,
        "predicted_SLG": 0.369,
        "predicted_SO": 0.456
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.478,
        "predicted_3B": 0.0013,
        "predicted_AB": 6.663,
        "predicted_AVG": 0.2562,
        "predicted_BB": 0.4337,
        "predicted_H": 1.5842,
        "predicted_HBP": 0.007,
        "predicted_HR": 0.2209,
        "predicted_OBP": 0.295,
        "predicted_R": 0.5286,
        "predicted_RBI": 1.6625,
        "predicted_SLG": 0.4049,
        "predicted_SO": 0.9375
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.252,
          "after": 0.478,
          "delta": 0.226,
          "percent_delta": 0.8968,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0013,
          "delta": 0.0013,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.485,
          "after": 6.663,
          "delta": 3.178,
          "percent_delta": 0.9119,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2562,
          "delta": 0.0062,
          "percent_delta": 0.0248,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.233,
          "after": 0.4337,
          "delta": 0.2007,
          "percent_delta": 0.8614,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.61,
          "after": 1.5842,
          "delta": 0.9742,
          "percent_delta": 1.597,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.07,
          "after": 0.2209,
          "delta": 0.1509,
          "percent_delta": 2.1557,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.284,
          "after": 0.295,
          "delta": 0.011,
          "percent_delta": 0.0387,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.204,
          "after": 0.5286,
          "delta": 0.3246,
          "percent_delta": 1.5912,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.48,
          "after": 1.6625,
          "delta": 1.1825,
          "percent_delta": 2.4635,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.369,
          "after": 0.4049,
          "delta": 0.0359,
          "percent_delta": 0.0973,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.456,
          "after": 0.9375,
          "delta": 0.4815,
          "percent_delta": 1.0559,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 11,
        "boosted_metrics": 11,
        "deboosted_metrics": 0,
        "better_metrics": 10,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.485,
          "after": 6.663,
          "delta": 3.178,
          "percent_delta": 0.9119,
          "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": 2,
        "last_10": 3,
        "season": 31
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.478,
        "predicted_3B": 0.0013,
        "predicted_AB": 6.663,
        "predicted_AVG": 0.2223,
        "predicted_BB": 0.4255,
        "predicted_H": 1.4811,
        "predicted_HBP": 0.007,
        "predicted_HR": 0.2055,
        "predicted_OBP": 0.269,
        "predicted_R": 0.4699,
        "predicted_RBI": 1.4778,
        "predicted_SLG": 0.3869,
        "predicted_SO": 0.9553
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.478,
          "after": 0.478,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0013,
          "after": 0.0013,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.663,
          "after": 6.663,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2562,
          "after": 0.2223,
          "delta": -0.0339,
          "percent_delta": -0.1323,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4337,
          "after": 0.4255,
          "delta": -0.0082,
          "percent_delta": -0.0189,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.5842,
          "after": 1.4811,
          "delta": -0.1031,
          "percent_delta": -0.0651,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "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.2209,
          "after": 0.2055,
          "delta": -0.0154,
          "percent_delta": -0.0697,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.295,
          "after": 0.269,
          "delta": -0.026,
          "percent_delta": -0.0881,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5286,
          "after": 0.4699,
          "delta": -0.0587,
          "percent_delta": -0.111,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.6625,
          "after": 1.4778,
          "delta": -0.1847,
          "percent_delta": -0.1111,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4049,
          "after": 0.3869,
          "delta": -0.018,
          "percent_delta": -0.0445,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9375,
          "after": 0.9553,
          "delta": 0.0178,
          "percent_delta": 0.019,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 0,
        "deboosted_metrics": 6,
        "better_metrics": 0,
        "worse_metrics": 6,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.6625,
          "after": 1.4778,
          "delta": -0.1847,
          "percent_delta": -0.1111,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 7 (raw=6.66), rates preserved: AVG=0.222 HR/AB=0.031",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.0,
        "predicted_BB": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.478,
          "after": 1.0,
          "delta": 0.522,
          "percent_delta": 1.0921,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0013,
          "after": 0.0,
          "delta": -0.0013,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.663,
          "after": 7.0,
          "delta": 0.337,
          "percent_delta": 0.0506,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4255,
          "after": 0.0,
          "delta": -0.4255,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.4811,
          "after": 2.0,
          "delta": 0.5189,
          "percent_delta": 0.3503,
          "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.2055,
          "after": 0.0,
          "delta": -0.2055,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.4778,
          "after": 2.0,
          "delta": 0.5222,
          "percent_delta": 0.3534,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9553,
          "after": 1.0,
          "delta": 0.0447,
          "percent_delta": 0.0468,
          "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_RBI",
          "before": 1.4778,
          "after": 2.0,
          "delta": 0.5222,
          "percent_delta": 0.3534,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4255,
          "after": 0.0,
          "delta": -0.4255,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "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": 7.0,
          "after": 7.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4699,
          "after": 0.0,
          "delta": -0.4699,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "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_SO",
          "before": 1.0,
          "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.4699,
          "after": 0.0,
          "delta": -0.4699,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.0,
        "predicted_AVG": 0.286,
        "predicted_BB": 0.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.286,
        "predicted_R": 0.0,
        "predicted_RBI": 2.0,
        "predicted_SLG": 0.429,
        "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": 7.0,
          "after": 7.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2223,
          "after": 0.286,
          "delta": 0.0637,
          "percent_delta": 0.2865,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.269,
          "after": 0.286,
          "delta": 0.017,
          "percent_delta": 0.0632,
          "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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3869,
          "after": 0.429,
          "delta": 0.0421,
          "percent_delta": 0.1088,
          "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.2223,
          "after": 0.286,
          "delta": 0.0637,
          "percent_delta": 0.2865,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 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": 7.0,
          "after": 4.0,
          "delta": -3.0,
          "percent_delta": -0.4286,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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": 0.0,
          "delta": -2.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": 2.0,
          "after": 0.0,
          "delta": -2.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 7.0,
          "after": 4.0,
          "delta": -3.0,
          "percent_delta": -0.4286,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2223,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.269,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3869,
        "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.286,
          "after": 0.2223,
          "delta": -0.0637,
          "percent_delta": -0.2228,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.286,
          "after": 0.269,
          "delta": -0.017,
          "percent_delta": -0.0596,
          "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.429,
          "after": 0.3869,
          "delta": -0.0421,
          "percent_delta": -0.0981,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.286,
          "after": 0.2223,
          "delta": -0.0637,
          "percent_delta": -0.2228,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.252,
        "after": 0.0,
        "delta": -0.252,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.485,
        "after": 4.0,
        "delta": 0.515,
        "percent_delta": 0.1478,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.25,
        "after": 0.2223,
        "delta": -0.0277,
        "percent_delta": -0.1108,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.233,
        "after": 0.0,
        "delta": -0.233,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.61,
        "after": 0.0,
        "delta": -0.61,
        "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.284,
        "after": 0.269,
        "delta": -0.015,
        "percent_delta": -0.0528,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.204,
        "after": 0.0,
        "delta": -0.204,
        "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.369,
        "after": 0.3869,
        "delta": 0.0179,
        "percent_delta": 0.0485,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.456,
        "after": 1.0,
        "delta": 0.544,
        "percent_delta": 1.193,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 3,
      "deboosted_metrics": 8,
      "better_metrics": 2,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.456,
        "after": 1.0,
        "delta": 0.544,
        "percent_delta": 1.193,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.61,
        "after": 0.0,
        "delta": -0.61,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.252-
predicted_3B0.000-
predicted_AB3.485-
predicted_AVG0.250-
predicted_BB0.233-
predicted_H0.610-
predicted_HR0.070-
predicted_OBP0.284-
predicted_R0.204-
predicted_RBI0.480-
predicted_SLG0.369-
predicted_SO0.456-
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.4780.226
predicted_3B0.0010.001
predicted_AB6.6633.178
predicted_AVG0.2560.006
predicted_BB0.4340.201
predicted_H1.5840.974
predicted_HBP0.007-
predicted_HR0.2210.151
predicted_OBP0.2950.011
predicted_R0.5290.325
predicted_RBI1.6631.183
predicted_SLG0.4050.036
predicted_SO0.9380.481
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.4780.000
predicted_3B0.0010.000
predicted_AB6.6630.000
predicted_AVG0.222-0.034
predicted_BB0.425-0.008
predicted_H1.481-0.103
predicted_HBP0.0070.000
predicted_HR0.205-0.015
predicted_OBP0.269-0.026
predicted_R0.470-0.059
predicted_RBI1.478-0.185
predicted_SLG0.387-0.018
predicted_SO0.9550.018
4. ab_floor_and_scaling

AB rounded to 7 (raw=6.66), rates preserved: AVG=0.222 HR/AB=0.031

MetricValueDelta vs Prev Step
2B1.000-
3B0.000-
AB7.000-
BB0.000-
H2.000-
HBP0.000-
HR0.000-
RBI2.000-
SB0.000-
SO1.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB7.0000.000
BB0.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI2.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
6. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B1.0000.522
predicted_3B0.000-0.001
predicted_AB7.0000.337
predicted_AVG0.2860.064
predicted_BB0.000-0.425
predicted_H2.0000.519
predicted_HR0.000-0.205
predicted_OBP0.2860.017
predicted_R0.000-0.470
predicted_RBI2.0000.522
predicted_SLG0.4290.042
predicted_SO1.0000.045
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.000-1.000
3B0.0000.000
AB4.000-3.000
BB0.0000.000
CS0.0000.000
H0.000-2.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.000-2.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.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-18.0004.0000.0000.0004.00016.0004.0001.0004.0000.22220.26320.88890.22220.22220.88890.05560.2222
last_100.203-43.00014.00010.0000.0004.00036.0009.0001.0004.0000.32560.34090.83720.32560.09300.83720.02330.0930
season0.6031-359.00096.00026.0000.0004.00071.00021.00024.00047.0000.26740.31330.37330.26740.01110.19780.06690.1309
Weighted Prediction From Real Data
MetricValue
predicted_2B0.7790
predicted_3B0.0030
predicted_AB10.8970
predicted_AVG0.2645
predicted_BB0.7010
predicted_H2.8820
predicted_HBP0.0070
predicted_HR0.4220
predicted_OBP0.3096
predicted_R0.9610
predicted_RBI3.2380
predicted_SLG0.4528
predicted_SO1.5790
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.25200.77900.4780model_form_blend
predicted_3B0.00000.00300.0013model_form_blend
predicted_AB3.485010.89706.6630model_form_blend
predicted_AVG0.25000.26450.2562model_form_blend
predicted_BB0.23300.70100.4337model_form_blend
predicted_H0.61002.88201.5842model_form_blend
predicted_HBP-0.00700.0070form_only
predicted_HR0.07000.42200.2209model_form_blend
predicted_OBP0.28400.30960.2950model_form_blend
predicted_R0.20400.96100.5286model_form_blend
predicted_RBI0.48003.23801.6625model_form_blend
predicted_SLG0.36900.45280.4049model_form_blend
predicted_SO0.45601.57900.9375model_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 date108
Season rows before report date108
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.267

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB2
Hitting_AVG0.0
Hitting_BB1
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder9
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced4
Pitching_ER0
Pitching_ERA0.00
Pitching_Flyouts2
Pitching_Groundouts0
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches13
Pitching_R0
Pitching_SO1
Pitching_Strikes9
Pitching_Wild Pitch0
Pitching_pitchingOrder3
allPositionsPlayedRF-3B-P
gameID20260520_ATL@MIA
game_typefull
mlbID691594
playerID691594
playerNameJavier Sanoja
pos3B
startedTrue
startingPositionRF
teamMIA
teamID15
game_date2026-05-20
sl_k_percent11.5
sl_bb_percent7.7
sl_woba0.304
sl_xwoba0.26
sl_xba0.224
sl_xslg0.293
sl_sweet_spot_percent28.6
sl_barrel_batted_rate2.4
sl_hard_hit_percent34.5
sl_exit_velocity_avg87.9
sl_launch_angle_avg11.4
sl_whiff_percent13.6
sl_swing_percent49.2
Sandy Alcantara (645261) · PITCHER · Starter · Team MIA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 10
All-history rows before 20260521: 10

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB3.0003.0003.000Pitching_BB2.0000.0001.0003.000
predicted_ER2.0002.0002.000Pitching_ER2.5000.000-0.5002.000
predicted_H6.0006.0006.000Pitching_H6.0007.0000.000-1.000
predicted_IP5.2005.2005.200Pitching_InningsPitched6.3206.000-1.120-0.800
predicted_SO4.0004.0004.000Pitching_SO4.5006.000-0.500-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: 5.6667 -> 5.2000 (deboost -0.4667, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final10101-predicted_IP: 5.6667 -> 5.2000 (deboost -0.4667, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "645261",
  "player_name": "Sandy Alcantara",
  "position": "Starter",
  "team": "MIA",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 3.0,
        "predicted_ER": 2.0,
        "predicted_H": 6.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.6667,
        "predicted_SO": 4.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 3.0,
        "predicted_ER": 2.0,
        "predicted_H": 6.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.2,
        "predicted_R": 2.0,
        "predicted_SO": 4.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 5.6667,
          "after": 5.2,
          "delta": -0.4667,
          "percent_delta": -0.0824,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 5.6667,
          "after": 5.2,
          "delta": -0.4667,
          "percent_delta": -0.0824,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 3.0,
        "after": 3.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 6.0,
        "after": 6.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 5.6667,
        "after": 5.2,
        "delta": -0.4667,
        "percent_delta": -0.0824,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 4.0,
        "after": 4.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 0,
      "deboosted_metrics": 1,
      "better_metrics": 0,
      "worse_metrics": 1,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 5.6667,
        "after": 5.2,
        "delta": -0.4667,
        "percent_delta": -0.0824,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

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_H6.000-
predicted_HR0.000-
predicted_IP5.667-
predicted_SO4.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 10
Reference playing time: 5.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45528.10014.00036.0008.00022.0000.0004.44711.55290.49411.27060.28230.77650.0000
last_100.351063.20025.00060.00020.00045.0004.0003.53401.25650.39270.94240.31410.70680.0628
season0.201063.20025.00060.00020.00045.0004.0003.53401.25650.39270.94240.31410.70680.0628
Weighted Prediction From Real Data
MetricValue
predicted_BB1.8920
predicted_ER2.6770
predicted_ERA4.1113
predicted_H6.2430
predicted_HR0.3620
predicted_IP6.0000
predicted_SO4.7730
predicted_WHIP1.3880
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB3.00001.89202.4358model_form_blend
predicted_ER2.00002.67702.3447model_form_blend
predicted_ERA-4.11134.1113form_only
predicted_H6.00006.24306.1237model_form_blend
predicted_HR0.00000.36200.1843model_form_blend
predicted_IP5.20006.00006.0000model_form_blend
predicted_SO4.00004.77304.3936model_form_blend
predicted_WHIP-1.38801.3880form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP5.2
H6
R2
ER2
BB3
SO4
HR0
BF27
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_BB0
Pitching_Balk0
Pitching_Batters Faced25
Pitching_ER0
Pitching_ERA3.53
Pitching_Flyouts0
Pitching_Groundouts10
Pitching_H7
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched6.0
Pitching_Pitches101
Pitching_R1
Pitching_SO6
Pitching_Strikes69
Pitching_Wild Pitch0
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260516_MIA@TB
game_typefull
mlbID645261
playerID645261
playerNameSandy Alcantara
posP
startedTrue
startingPositionP
teamMIA
teamID15
game_date2026-05-16
game_pk822981.0
sl_k_percent16.9
sl_bb_percent7.5
sl_woba0.298
sl_xwoba0.29
sl_sweet_spot_percent27.4
sl_barrel_batted_rate5.0
sl_hard_hit_percent35.8
sl_whiff_percent23.3
sl_swing_percent50.1
sv_pitch_count101.0
sv_outs_recorded_est18.0
sv_release_speed92.18712871287129
sv_release_spin_rate2235.881188118812
sv_effective_speed91.44752475247526
sv_launch_speed80.74615384615385
sv_launch_angle11.35897435897436
sv_woba_value8.1
sv_woba_denom25.0
sv_delta_run_exp-0.8920000000000001
sv_delta_home_win_exp-0.174
sl_avg_best_speed77.556296061
sl_avg_hyper_speed93.583591667
Anthony Bender (669622) · PITCHER · Middle Reliever · Team MIA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 20
All-history rows before 20260521: 20

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.4000.000-0.4000.000
predicted_ER0.0000.0000.000Pitching_ER0.4001.000-0.400-1.000
predicted_H0.0000.0000.000Pitching_H0.6001.000-0.600-1.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.7751.1000.225-0.100
predicted_SO1.0001.0001.000Pitching_SO1.0001.0000.0000.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": "669622",
  "player_name": "Anthony Bender",
  "position": "Middle Reliever",
  "team": "MIA",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 0,
      "boosted_metrics": 0,
      "deboosted_metrics": 0,
      "better_metrics": 0,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": null,
      "has_material_change": false,
      "dominant_effect": "neutral"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 20
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4556.0001.0001.0000.0004.0000.0001.50000.16670.16670.16670.00000.66670.0000
last_100.351010.2001.0004.0000.0008.0000.0000.84380.37500.09380.37500.00000.75000.0000
season0.202019.0008.00012.0008.00020.0000.0003.78951.05260.42100.63160.42101.05260.0000
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2670
predicted_ER0.3740
predicted_ERA3.1605
predicted_H0.7240
predicted_HR0.0790
predicted_IP1.0000
predicted_SO0.9310
predicted_WHIP0.9306
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.26700.1092model_form_blend
predicted_ER0.00000.37400.1530model_form_blend
predicted_ERA-3.16053.1605form_only
predicted_H0.00000.72400.2961model_form_blend
predicted_HR0.00000.07900.0323model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00000.93100.9718model_form_blend
predicted_WHIP-0.93060.9306form_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 date20
Season rows before report date20
Report year2026
Profile rows used20
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced5
Pitching_ER1
Pitching_ERA3.79
Pitching_Flyouts1
Pitching_Groundouts2
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.1
Pitching_Pitches22
Pitching_R1
Pitching_SO1
Pitching_Strikes15
Pitching_Wild Pitch0
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20260519_ATL@MIA
game_typefull
mlbID669622
playerID669622
playerNameAnthony Bender
posP
startedFalse
startingPositionP
teamMIA
teamID15
game_date2026-05-19
game_pk823865.0
sl_k_percent25.3
sl_bb_percent10.1
sl_woba0.235
sl_xwoba0.271
sl_sweet_spot_percent22.4
sl_barrel_batted_rate6.1
sl_hard_hit_percent32.7
sl_whiff_percent18.5
sl_swing_percent39.3
sv_pitch_count22.0
sv_outs_recorded_est4.0
sv_release_speed88.58636363636364
sv_release_spin_rate2694.0454545454545
sv_effective_speed87.12272727272727
sv_launch_speed79.31428571428572
sv_launch_angle13.571428571428571
sv_woba_value1.25
sv_woba_denom5.0
sv_delta_run_exp-0.3470000000000001
sv_delta_home_win_exp0.035
sl_avg_best_speed78.3069464
sl_avg_hyper_speed93.376977347
Calvin Faucher (676534) · PITCHER · Middle Reliever · Team MIA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 20
All-history rows before 20260521: 20

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.8503.0000.150-2.000
predicted_ER0.0000.0000.000Pitching_ER0.4503.000-0.450-3.000
predicted_H0.0000.0000.000Pitching_H0.7502.000-0.750-2.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.8500.2000.1500.800
predicted_SO2.0002.0002.000Pitching_SO1.0502.0000.9500.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": "676534",
  "player_name": "Calvin Faucher",
  "position": "Middle Reliever",
  "team": "MIA",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 0,
      "boosted_metrics": 0,
      "deboosted_metrics": 0,
      "better_metrics": 0,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": null,
      "has_material_change": false,
      "dominant_effect": "neutral"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 20
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4556.1003.0006.0005.0006.0000.0004.26321.73680.47370.94740.78950.94740.0000
last_100.351011.1005.0009.0009.0009.0000.0003.97061.58820.44120.79410.79410.79410.0000
season0.202019.1009.00015.00017.00021.0000.0004.18971.65520.46550.77590.87931.08620.0000
Weighted Prediction From Real Data
MetricValue
predicted_BB0.6010
predicted_ER0.4970
predicted_ERA4.1986
predicted_H0.9650
predicted_HR0.0790
predicted_IP1.0000
predicted_SO0.9990
predicted_WHIP1.4697
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.60100.8361model_form_blend
predicted_ER0.00000.49700.2042model_form_blend
predicted_ERA-4.19864.1986form_only
predicted_H0.00000.96500.3964model_form_blend
predicted_HR0.00000.07900.0325model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO2.00000.99901.5888model_form_blend
predicted_WHIP-1.46971.4697form_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 date20
Season rows before report date20
Report year2026
Profile rows used20
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
BB1
SO2
HR0
BF4
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_BB3
Pitching_Balk0
Pitching_Batters Faced7
Pitching_ER3
Pitching_ERA4.19
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H2
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.2
Pitching_Pitches33
Pitching_R3
Pitching_SO2
Pitching_Strikes19
Pitching_Wild Pitch1
Pitching_decisionL
Pitching_pitchingOrder5
allPositionsPlayedP
gameID20260519_ATL@MIA
game_typefull
mlbID676534
playerID676534
playerNameCalvin Faucher
posP
startedFalse
startingPositionP
teamMIA
teamID15
game_date2026-05-19
game_pk823865.0
sl_k_percent23.9
sl_bb_percent19.3
sl_woba0.301
sl_xwoba0.332
sl_sweet_spot_percent32.0
sl_barrel_batted_rate6.0
sl_hard_hit_percent46.0
sl_whiff_percent28.5
sl_swing_percent39.4
sv_pitch_count33.0
sv_outs_recorded_est2.0
sv_release_speed91.07272727272728
sv_release_spin_rate2784.4242424242425
sv_effective_speed90.53636363636365
sv_launch_speed81.3
sv_launch_angle25.142857142857142
sv_woba_value3.9
sv_woba_denom7.0
sv_delta_run_exp1.32
sv_delta_home_win_exp-0.428
sl_avg_best_speed78.091214
sl_avg_hyper_speed95.33303449
Pete Fairbanks (664126) · PITCHER · Middle Reliever · Team MIA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 11
All-history rows before 20260521: 11

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.4551.0000.5450.000
predicted_ER1.0001.0001.000Pitching_ER0.9090.0000.0911.000
predicted_H3.0003.0003.000Pitching_H0.9091.0002.0912.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.8451.0000.1550.000
predicted_SO1.0001.0001.000Pitching_SO1.3642.000-0.364-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": "664126",
  "player_name": "Pete Fairbanks",
  "position": "Middle Reliever",
  "team": "MIA",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 1.0,
        "predicted_H": 3.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": 3.0,
        "predicted_HR": 0.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": 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": 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": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 3.0,
        "after": 3.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 0,
      "boosted_metrics": 0,
      "deboosted_metrics": 0,
      "better_metrics": 0,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": null,
      "has_material_change": false,
      "dominant_effect": "neutral"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB1.000-
predicted_ER1.000-
predicted_H3.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: 11
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.0004.0003.0004.0007.0000.0009.00001.75001.00000.75001.00001.75000.0000
last_100.35109.00010.0009.0005.00014.0001.00010.00001.55561.11111.00000.55561.55560.1111
season0.201110.00010.00010.0005.00015.0001.0009.00001.50001.00001.00000.50001.50000.1000
Weighted Prediction From Real Data
MetricValue
predicted_BB0.4600
predicted_ER0.6050
predicted_ERA5.6894
predicted_H0.8870
predicted_HR0.1050
predicted_IP1.0000
predicted_SO1.0960
predicted_WHIP1.4067
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.46000.8124model_form_blend
predicted_ER1.00000.60500.8628model_form_blend
predicted_ERA-5.68945.6894form_only
predicted_H3.00000.88702.2659model_form_blend
predicted_HR0.00000.10500.0365model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00001.09601.0334model_form_blend
predicted_WHIP-1.40671.4067form_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 date11
Season rows before report date11
Report year2026
Profile rows used11
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H3
R1
ER1
BB1
SO1
HR0
BF7
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_BB1
Pitching_Balk0
Pitching_Batters Faced5
Pitching_ER0
Pitching_ERA9.00
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches24
Pitching_R1
Pitching_SO2
Pitching_Strikes12
Pitching_Wild Pitch0
Pitching_decisionW, BS
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260516_MIA@TB
game_typefull
mlbID664126
playerID664126
playerNamePete Fairbanks
posP
startedFalse
startingPositionP
teamMIA
teamID15
game_date2026-05-16
game_pk822981.0
sl_k_percent32.6
sl_bb_percent10.9
sl_woba0.338
sl_xwoba0.284
sl_sweet_spot_percent36.0
sl_barrel_batted_rate16.7
sl_hard_hit_percent44.0
sl_whiff_percent27.1
sl_swing_percent44.3
sv_pitch_count24.0
sv_outs_recorded_est3.0
sv_release_speed93.55416666666667
sv_release_spin_rate2472.083333333333
sv_effective_speed93.15
sv_launch_speed86.18333333333334
sv_launch_angle32.5
sv_woba_value1.6
sv_woba_denom5.0
sv_delta_run_exp0.364
sv_delta_home_win_exp0.296
sl_avg_best_speed84.802355833
sl_avg_hyper_speed96.282253043
Tyler Phillips (663969) · PITCHER · Middle Reliever · Team MIA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 15
All-history rows before 20260521: 15

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB1.0671.000-1.067-1.000
predicted_ER0.0000.0000.000Pitching_ER0.2670.000-0.2670.000
predicted_H0.0000.0000.000Pitching_H1.4672.000-1.467-2.000
predicted_IP0.1000.1000.100Pitching_InningsPitched1.9073.000-1.807-2.900
predicted_SO0.0000.0000.000Pitching_SO1.8002.000-1.800-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: 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": "663969",
  "player_name": "Tyler Phillips",
  "position": "Middle Reliever",
  "team": "MIA",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.3333,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.1,
        "predicted_R": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 0.3333,
          "after": 0.1,
          "delta": -0.2333,
          "percent_delta": -0.7,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 0.3333,
          "after": 0.1,
          "delta": -0.2333,
          "percent_delta": -0.7,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 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": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 0,
      "deboosted_metrics": 1,
      "better_metrics": 0,
      "worse_metrics": 1,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 0.3333,
        "after": 0.1,
        "delta": -0.2333,
        "percent_delta": -0.7,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

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-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 15
Reference playing time: 0.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45511.2001.0009.0004.0008.0000.0000.77141.11430.08570.77140.34290.68570.0000
last_100.351019.1003.00016.00011.00015.0001.0001.39661.39660.15520.82760.56900.77590.0517
season0.201530.0004.00022.00016.00027.0001.0001.20001.26670.13330.73330.53330.90000.0333
Weighted Prediction From Real Data
MetricValue
predicted_BB0.5570
predicted_ER0.3700
predicted_ERA2.5211
predicted_H1.1290
predicted_HR0.0960
predicted_IP1.1000
predicted_SO1.1190
predicted_WHIP1.2773
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.55700.2545model_form_blend
predicted_ER0.00000.37000.1691model_form_blend
predicted_ERA-2.52112.5211form_only
predicted_H0.00001.12900.5159model_form_blend
predicted_HR0.00000.09600.0439model_form_blend
predicted_IP0.10001.10000.2000model_form_blend
predicted_SO0.00001.11900.5113model_form_blend
predicted_WHIP-1.27731.2773form_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 date15
Season rows before report date15
Report year2026
Profile rows used15
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
SO0
HR0
BF1
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_BB1
Pitching_Balk0
Pitching_Batters Faced12
Pitching_ER0
Pitching_ERA1.20
Pitching_Flyouts1
Pitching_Groundouts6
Pitching_H2
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched3.0
Pitching_Pitches43
Pitching_R1
Pitching_SO2
Pitching_Strikes28
Pitching_Wild Pitch0
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20260520_ATL@MIA
game_typefull
mlbID663969
playerID663969
playerNameTyler Phillips
posP
startedFalse
startingPositionP
teamMIA
teamID15
game_date2026-05-20
sl_k_percent21.6
sl_bb_percent12.9
sl_woba0.276
sl_xwoba0.304
sl_sweet_spot_percent32.0
sl_barrel_batted_rate6.7
sl_hard_hit_percent36.0
sl_whiff_percent30.7
sl_swing_percent44.5
sl_avg_best_speed79.343353421
sl_avg_hyper_speed93.084640267

20260521_CLE@DET

Prediction Method: enhanced_ml_savant_pitcher_quality
Team Recent Window (Home): 50 games
Team Recent Window (Away): 51 games
Team Recent Period: Latest 10 games from dataset
Enhanced Prediction Target: {"away_runs": 3, "home_runs": 2, "confidence": 0.520239, "home_win_probability": 0.479761, "away_win_probability": 0.520239, "predicted_score_text": "CLE 3 - 2 DET", "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": "CLE", "original_runs": 2, "run_delta": -0.0762, "adjusted_runs": 2, "lineup": {"players_used": 9, "total_weight": 68.0, "quality": 0.12358992306861584, "contact": 0.2352630340169274, "power": -0.145853887731947, "discipline": 0.7661706842982783, "xwoba": 0.3341176470588235, "recent_xwoba": 0.3341176470588235, "barrel": 6.482352941176471, "ab_hard_contact": 0.055199556285425645, "ab_bat_speed": 68.48479146446432, "ab_strikeout_rate": 0.17688603839079736, "available_players": 9, "top_players": [{"player_id": "608070", "player_name": "José Ramírez", "position": "DH", "weight": 9.0, "quality": 1.0355877731442273, "contact": 1.2301359406578953, "power": 0.7304188175339519, "discipline": 1.5916972789115644, "xwoba": 0.385, "recent_xwoba": 0.385, "barrel": 9.2, "ab_hard_contact": 0.719804922107613, "ab_bat_speed": 69.07628911564626, "ab_strikeout_rate": 0.13180272108843538, "available": 1.0}, {"player_id": "680757", "player_name": "Steven Kwan", "position": "CF", "weight": 8.0, "quality": -0.6646441234691569, "contact": -0.719331602492265, "power": -1.644476413494609, "discipline": 1.743148629148629, "xwoba": 0.295, "recent_xwoba": 0.295, "barrel": 0.7, "ab_hard_contact": -0.8447663651302817, "ab_bat_speed": 61.74184501262626, "ab_strikeout_rate": 0.10656565656565657, "available": 1.0}, {"player_id": "800050", "player_name": "Chase DeLauter", "position": "RF", "weight": 9.0, "quality": 0.5500165183368149, "contact": 0.9353654315273331, "power": 0.2575396670501151, "discipline": 1.1604806201550386, "xwoba": 0.357, "recent_xwoba": 0.357, "barrel": 6.900000000000001, "ab_hard_contact": 0.9717457219546838, "ab_bat_speed": 70.20217377260983, "ab_strikeout_rate": 0.10251937984496123, "available": 1.0}, {"player_id": "677587", "player_name": "Brayan Rocchio", "position": "SS", "weight": 7.0, "quality": -0.21320786256969956, "contact": 0.001642657900416001, "power": -0.7877211057786352, "discipline": 0.6534148936170212, "xwoba": 0.325, "recent_xwoba": 0.325, "barrel": 2.9, "ab_hard_contact": -0.30185068700127815, "ab_bat_speed": 68.9790011820331, "ab_strikeout_rate": 0.09665653495440729, "available": 1.0}, {"player_id": "683953", "player_name": "Travis Bazzana", "position": "2B", "weight": 8.0, "quality": 0.11037406196092388, "contact": 0.7082419212982721, "power": -0.28794399694271566, "discipline": 1.2607681704260651, "xwoba": 0.362, "recent_xwoba": 0.362, "barrel": 3.7999999999999994, "ab_hard_contact": -0.384022795997173, "ab_bat_speed": 67.2296081871345, "ab_strikeout_rate": 0.15701754385964914, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "663554", "player_name": "Casey Mize", "quality": 0.18879895853832043, "contact": 0.42090011563189555, "command": 0.48368584796845676, "movement": 0.16193704888451602, "xwoba": 0.276, "whiff": 27.5, "faced_est_woba": 0.30333548674681593, "faced_launch_speed": 83.6702753042117, "faced_strikeout_rate": 0.27111879666227495, "faced_run_exp": -0.023359160238513508}}, "home": {"team": "DET", "original_runs": 1, "run_delta": 0.5266, "adjusted_runs": 2, "lineup": {"players_used": 9, "total_weight": 56.0, "quality": 0.4103918983089428, "contact": 0.3712932025973517, "power": 0.5532027435531719, "discipline": 0.2964973225120428, "xwoba": 0.34403571428571433, "recent_xwoba": 0.34403571428571433, "barrel": 10.726785714285715, "ab_hard_contact": 0.47345283024710455, "ab_bat_speed": 70.64310669821074, "ab_strikeout_rate": 0.22586492238591638, "available_players": 9, "top_players": [{"player_id": "693307", "player_name": "Dillon Dingler", "position": "C", "weight": 8.0, "quality": 0.9456637621873613, "contact": 1.3542260544509213, "power": 1.3943707329233939, "discipline": 0.04080897009966767, "xwoba": 0.391, "recent_xwoba": 0.391, "barrel": 13.3, "ab_hard_contact": 0.8253194203726333, "ab_bat_speed": 70.79391740494647, "ab_strikeout_rate": 0.20697674418604653, "available": 1.0}, {"player_id": "682985", "player_name": "Riley Greene", "position": "LF", "weight": 8.0, "quality": 0.9008284803087222, "contact": 1.134187775448955, "power": 1.2464380297950475, "discipline": 0.2956122448979592, "xwoba": 0.39, "recent_xwoba": 0.39, "barrel": 13.4, "ab_hard_contact": 0.7881891673295109, "ab_bat_speed": 73.88367549400714, "ab_strikeout_rate": 0.26224489795918365, "available": 1.0}, {"player_id": "805808", "player_name": "Kevin McGonigle", "position": "3B", "weight": 9.0, "quality": 0.7214592891283657, "contact": 0.8815420575964648, "power": 0.5550174242787778, "discipline": 1.2843632218844983, "xwoba": 0.374, "recent_xwoba": 0.374, "barrel": 10.0, "ab_hard_contact": 0.6211103903374575, "ab_bat_speed": 70.37967662951705, "ab_strikeout_rate": 0.13085106382978723, "available": 1.0}, {"player_id": "663330", "player_name": "Jahmai Jones", "position": "DH", "weight": 3.0, "quality": 0.2088271694903709, "contact": 0.6429704068600622, "power": 1.3412841295731994, "discipline": -0.7287397372742199, "xwoba": 0.347, "recent_xwoba": 0.347, "barrel": 14.7, "ab_hard_contact": 1.4340635438449376, "ab_bat_speed": 70.62710727969349, "ab_strikeout_rate": 0.34195402298850575, "available": 1.0}, {"player_id": "670097", "player_name": "Zack Short", "position": "SS", "weight": 3.0, "quality": -0.05979241165319332, "contact": -1.109066314012226, "power": -1.4694236102816185, "discipline": 0.8116349206349208, "xwoba": 0.312, "recent_xwoba": 0.312, "barrel": 0.0, "ab_hard_contact": -1.6720912532514194, "ab_bat_speed": 63.46951058201059, "ab_strikeout_rate": 0.34722222222222215, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "676282", "player_name": "Joey Cantillo", "quality": -0.16098535564716593, "contact": -0.3112724370232363, "command": -0.019290154290154363, "movement": -0.6960550168422065, "xwoba": 0.313, "whiff": 28.0, "faced_est_woba": 0.3136985420864873, "faced_launch_speed": 84.57248714581232, "faced_strikeout_rate": 0.21708353375020042, "faced_run_exp": -0.016919889967958762}}}, "tie_break_resolution": {"applied": true, "reason": "MLB prediction target cannot remain tied before inning simulation", "winner_side": "away", "winner_team": "CLE", "home_win_probability": 0.4798, "away_win_probability": 0.5202}, "confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Production confidence governor cap enforced.", "pre_simulation_target": {"away_runs": 3, "home_runs": 2, "predicted_score_text": "CLE 3 - 2 DET", "confidence": 0.520239, "source": "enhanced_prediction_before_inning_simulation"}, "score_source": "enhanced_prediction.pre_simulation_target", "final_prediction_synced": true, "final_prediction_source": "pre_simulation_target", "simulation_usage": "advisory_box_score_draw", "simulation_score_matches_prediction": false, "simulation_reconciliation": {"pre_simulation_score": {"away_runs": 3, "home_runs": 2, "score_text": "CLE 3 - 2 DET", "winner": "CLE"}, "final_simulation_score": {"away_runs": 5, "home_runs": 0, "score_text": "CLE 5 - 0 DET", "winner": "CLE"}, "winner_flipped_by_simulation": false, "away_run_delta": 2, "home_run_delta": -2, "total_run_delta": 0, "score_source": "enhanced_prediction.pre_simulation_target", "simulation_usage": "advisory_box_score_draw", "final_prediction_source": "pre_simulation_target"}}
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, 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 predictionCLE 3 - 2 DETCLE0.520enhanced_prediction.pre_simulation_targetTrue
Simulation drawCLE 5 - 0 DETCLE-advisory_box_score_drawFalse

The shipped score is the pre-simulation model target. The inning simulation is a separate box-score realization used for player lines and stress testing.

Full Prediction Process

Process LayerWhat It DoesStored FieldObserved Value
1. Historical modelStarts from trained game model output.score_evolution.steps[historical_ml]-
2. Variance layerApplies bounded game variance before enhanced corrections.score_evolution.steps[variance_applied]-
3. Recent/team formUses latest team form, recent scoring, prevention, and streak state.enhanced_prediction_analysis.recent_formTrue
4. Season qualityUses season run differential and record quality guardrails.season_run_differential_adjustment, season_quality_guardrailTrue
5. Savant hittersApplies lineup-level Statcast xwOBA, xBA, xSLG, barrel, hard-hit, sweet-spot, EV, launch-angle, whiff, K and BB quality.savant_batter_quality_adjustmentTrue
6. Savant pitchersApplies starter run prevention, strikeout, walk, HR and regression factors from xwOBA, wOBA, contact quality and whiff/command.savant_pitcher_quality_adjustmentTrue
7. Low-score analysisControls unrealistic totals and preserves the pre-sync low-score expected total.low_score_analysis6.4000
8. Probability/governorsApplies win probability calibration, matchup guardrails, margin governor and confidence governor.win_probability_calibration, margin_governor, confidence_governor0.5202
9. Simulation reconciliationKeeps final shipped score and simulation box score auditable side by side.simulation_reconciliationadvisory_box_score_draw
10. Score evolution rendered7 stored score steps are rendered below.game.score_evolution.stepstrue

Score Evolution Steps

StepLayerAway RunsHome RunsConfidenceDescription
1historical_ml2.5644.437-Base ML historical model prediction
2variance_applied34-Random variance applied (0.9-1.1)
3enhanced_prediction210.5202Enhanced ML with recent form, H2H, low-score analysis
4embedded_savant_run_environment22-Target score adjusted by temporal Savant lineup quality versus opposing starter quality
5target_tie_break32-Resolved tied pre-simulation target using calibrated winner probability
6capped_target32-Capped at max 12 realistic runs
7simulation_result50-Final inning-by-inning simulation result

Governors, Guardrails, and Reconciliation

Low Score Analysis
{
  "low_score_probability": 0.7117878240000002,
  "base_low_score_probability": 0.4238095238095238,
  "low_score_signal_threshold": 0.5038095238095238,
  "low_score_signal_strength": 0.2879783001904764,
  "confidence": 0.9,
  "factors": {
    "environmental": 1.1566800000000002,
    "pitcher_form": 1.4520000000000002,
    "team_form": 1.0,
    "situational": 1.0,
    "combined": 1.6794993600000003
  },
  "prediction": "low_scoring",
  "expected_total_runs": 5,
  "pre_simulation_expected_total_runs": 6.4,
  "low_score_model_expected_total_runs": 6.4,
  "final_simulation_total_runs": 5,
  "score_source": "enhanced_prediction.pre_simulation_target"
}
Win Probability Calibration
{
  "method": "historical_slate_bin_shrinkage",
  "sample_size": 144,
  "near_bucket_sample_size": 144,
  "medium_bucket_sample_size": 165,
  "wide_bucket_sample_size": 182,
  "global_sample_size": 205,
  "bucket_scope": "near_0.05",
  "sparse_bucket": false,
  "empirical_hit_rate": 0.5139,
  "bayesian_hit_rate": 0.5123,
  "sample_weight": 0.6,
  "prior_strength": 18.0,
  "reliability": 0.8889,
  "confidence_cap": 0.78,
  "raw_pick_probability": 0.5377,
  "calibrated_pick_probability": 0.5202,
  "predicted_side": "away"
}
Season Run Differential Adjustment
{
  "applied": true,
  "home": {
    "team": "DET",
    "games": 50,
    "wins": 20,
    "losses": 30,
    "win_pct": 0.4,
    "runs_scored": 195,
    "runs_allowed": 216,
    "run_differential": -21,
    "run_differential_per_game": -0.42,
    "available": true
  },
  "away": {
    "team": "CLE",
    "games": 51,
    "wins": 29,
    "losses": 22,
    "win_pct": 0.5686274509803921,
    "runs_scored": 225,
    "runs_allowed": 204,
    "run_differential": 21,
    "run_differential_per_game": 0.4117647058823529,
    "available": true
  },
  "run_differential_edge_per_game": -0.8318,
  "win_pct_edge": -0.1686,
  "quality_edge": -1.0847,
  "margin_adjustment": -0.4556,
  "reason": "season-to-date run differential and record moved the score toward the stronger team",
  "adjusted_score": {
    "away_runs": 1.24,
    "home_runs": 0.797,
    "home_win_probability": 0.4623
  }
}
Matchup Recency Guardrail
{
  "applied": false,
  "confidence_cap": null,
  "winner_flipped": false,
  "reasons": [],
  "signals": {
    "predicted_team": "CLE",
    "guardrail_predicted_team": "CLE",
    "guardrail_opponent_team": null,
    "output_pre_simulation_winner": "CLE",
    "output_opponent_team": "DET",
    "final_score_winner": "CLE",
    "pre_simulation_winner": "CLE",
    "winner_flipped_by_simulation": false
  },
  "final_prediction_sync": {
    "pre_simulation_score": {
      "away_runs": 3,
      "home_runs": 2,
      "score_text": "CLE 3 - 2 DET",
      "winner": "CLE"
    },
    "final_simulation_score": {
      "away_runs": 5,
      "home_runs": 0,
      "score_text": "CLE 5 - 0 DET",
      "winner": "CLE"
    },
    "winner_flipped_by_simulation": false,
    "away_run_delta": 2,
    "home_run_delta": -2,
    "total_run_delta": 0,
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_usage": "advisory_box_score_draw",
    "final_prediction_source": "pre_simulation_target"
  }
}
Season Quality Guardrail
{
  "applied": false,
  "confidence_cap": null,
  "winner_flipped": false,
  "reasons": [],
  "signals": {
    "home": {
      "team": "DET",
      "games": 50,
      "wins": 20,
      "losses": 30,
      "win_pct": 0.4,
      "runs_scored": 195,
      "runs_allowed": 216,
      "run_differential": -21,
      "run_differential_per_game": -0.42,
      "available": true
    },
    "away": {
      "team": "CLE",
      "games": 51,
      "wins": 29,
      "losses": 22,
      "win_pct": 0.5686274509803921,
      "runs_scored": 225,
      "runs_allowed": 204,
      "run_differential": 21,
      "run_differential_per_game": 0.4117647058823529,
      "available": true
    }
  }
}
Margin Governor
{
  "applied": false,
  "raw_margin": -0.4435,
  "final_margin": -0.4435,
  "margin_cap": 2.0,
  "season_quality_edge": 1.0847,
  "reason": "raw target margin within supported range"
}
Confidence Governor
{
  "applied": false,
  "raw_confidence": 0.520239,
  "final_confidence": 0.520239,
  "confidence_cap": 0.66,
  "score_gap": 0.4435,
  "calibration_sample_size": 144,
  "calibration_empirical_hit_rate": 0.5139,
  "calibration_bayesian_hit_rate": 0.5123,
  "calibration_sparse_bucket": false,
  "season_quality_edge": 1.0847,
  "reasons": [
    "unvalidated probabilities are capped for production display",
    "projected score gap is close",
    "local calibration sample has at least 30 games",
    "local calibration sample has at least 60 games",
    "win-probability calibration cap enforced"
  ]
}
Simulation Reconciliation
{
  "pre_simulation_score": {
    "away_runs": 3,
    "home_runs": 2,
    "score_text": "CLE 3 - 2 DET",
    "winner": "CLE"
  },
  "final_simulation_score": {
    "away_runs": 5,
    "home_runs": 0,
    "score_text": "CLE 5 - 0 DET",
    "winner": "CLE"
  },
  "winner_flipped_by_simulation": false,
  "away_run_delta": 2,
  "home_run_delta": -2,
  "total_run_delta": 0,
  "score_source": "enhanced_prediction.pre_simulation_target",
  "simulation_usage": "advisory_box_score_draw",
  "final_prediction_source": "pre_simulation_target"
}
Enhanced Prediction Target
{
  "away_runs": 3,
  "home_runs": 2,
  "confidence": 0.520239,
  "home_win_probability": 0.479761,
  "away_win_probability": 0.520239,
  "predicted_score_text": "CLE 3 - 2 DET",
  "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": "CLE",
      "original_runs": 2,
      "run_delta": -0.0762,
      "adjusted_runs": 2,
      "lineup": {
        "players_used": 9,
        "total_weight": 68.0,
        "quality": 0.12358992306861584,
        "contact": 0.2352630340169274,
        "power": -0.145853887731947,
        "discipline": 0.7661706842982783,
        "xwoba": 0.3341176470588235,
        "recent_xwoba": 0.3341176470588235,
        "barrel": 6.482352941176471,
        "ab_hard_contact": 0.055199556285425645,
        "ab_bat_speed": 68.48479146446432,
        "ab_strikeout_rate": 0.17688603839079736,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "608070",
            "player_name": "José Ramírez",
            "position": "DH",
            "weight": 9.0,
            "quality": 1.0355877731442273,
            "contact": 1.2301359406578953,
            "power": 0.7304188175339519,
            "discipline": 1.5916972789115644,
            "xwoba": 0.385,
            "recent_xwoba": 0.385,
            "barrel": 9.2,
            "ab_hard_contact": 0.719804922107613,
            "ab_bat_speed": 69.07628911564626,
            "ab_strikeout_rate": 0.13180272108843538,
            "available": 1.0
          },
          {
            "player_id": "680757",
            "player_name": "Steven Kwan",
            "position": "CF",
            "weight": 8.0,
            "quality": -0.6646441234691569,
            "contact": -0.719331602492265,
            "power": -1.644476413494609,
            "discipline": 1.743148629148629,
            "xwoba": 0.295,
            "recent_xwoba": 0.295,
            "barrel": 0.7,
            "ab_hard_contact": -0.8447663651302817,
            "ab_bat_speed": 61.74184501262626,
            "ab_strikeout_rate": 0.10656565656565657,
            "available": 1.0
          },
          {
            "player_id": "800050",
            "player_name": "Chase DeLauter",
            "position": "RF",
            "weight": 9.0,
            "quality": 0.5500165183368149,
            "contact": 0.9353654315273331,
            "power": 0.2575396670501151,
            "discipline": 1.1604806201550386,
            "xwoba": 0.357,
            "recent_xwoba": 0.357,
            "barrel": 6.900000000000001,
            "ab_hard_contact": 0.9717457219546838,
            "ab_bat_speed": 70.20217377260983,
            "ab_strikeout_rate": 0.10251937984496123,
            "available": 1.0
          },
          {
            "player_id": "677587",
            "player_name": "Brayan Rocchio",
            "position": "SS",
            "weight": 7.0,
            "quality": -0.21320786256969956,
            "contact": 0.001642657900416001,
            "power": -0.7877211057786352,
            "discipline": 0.6534148936170212,
            "xwoba": 0.325,
            "recent_xwoba": 0.325,
            "barrel": 2.9,
            "ab_hard_contact": -0.30185068700127815,
            "ab_bat_speed": 68.9790011820331,
            "ab_strikeout_rate": 0.09665653495440729,
            "available": 1.0
          },
          {
            "player_id": "683953",
            "player_name": "Travis Bazzana",
            "position": "2B",
            "weight": 8.0,
            "quality": 0.11037406196092388,
            "contact": 0.7082419212982721,
            "power": -0.28794399694271566,
            "discipline": 1.2607681704260651,
            "xwoba": 0.362,
            "recent_xwoba": 0.362,
            "barrel": 3.7999999999999994,
            "ab_hard_contact": -0.384022795997173,
            "ab_bat_speed": 67.2296081871345,
            "ab_strikeout_rate": 0.15701754385964914,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "663554",
        "player_name": "Casey Mize",
        "quality": 0.18879895853832043,
        "contact": 0.42090011563189555,
        "command": 0.48368584796845676,
        "movement": 0.16193704888451602,
        "xwoba": 0.276,
        "whiff": 27.5,
        "faced_est_woba": 0.30333548674681593,
        "faced_launch_speed": 83.6702753042117,
        "faced_strikeout_rate": 0.27111879666227495,
        "faced_run_exp": -0.023359160238513508
      }
    },
    "home": {
      "team": "DET",
      "original_runs": 1,
      "run_delta": 0.5266,
      "adjusted_runs": 2,
      "lineup": {
        "players_used": 9,
        "total_weight": 56.0,
        "quality": 0.4103918983089428,
        "contact": 0.3712932025973517,
        "power": 0.5532027435531719,
        "discipline": 0.2964973225120428,
        "xwoba": 0.34403571428571433,
        "recent_xwoba": 0.34403571428571433,
        "barrel": 10.726785714285715,
        "ab_hard_contact": 0.47345283024710455,
        "ab_bat_speed": 70.64310669821074,
        "ab_strikeout_rate": 0.22586492238591638,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "693307",
            "player_name": "Dillon Dingler",
            "position": "C",
            "weight": 8.0,
            "quality": 0.9456637621873613,
            "contact": 1.3542260544509213,
            "power": 1.3943707329233939,
            "discipline": 0.04080897009966767,
            "xwoba": 0.391,
            "recent_xwoba": 0.391,
            "barrel": 13.3,
            "ab_hard_contact": 0.8253194203726333,
            "ab_bat_speed": 70.79391740494647,
            "ab_strikeout_rate": 0.20697674418604653,
            "available": 1.0
          },
          {
            "player_id": "682985",
            "player_name": "Riley Greene",
            "position": "LF",
            "weight": 8.0,
            "quality": 0.9008284803087222,
            "contact": 1.134187775448955,
            "power": 1.2464380297950475,
            "discipline": 0.2956122448979592,
            "xwoba": 0.39,
            "recent_xwoba": 0.39,
            "barrel": 13.4,
            "ab_hard_contact": 0.7881891673295109,
            "ab_bat_speed": 73.88367549400714,
            "ab_strikeout_rate": 0.26224489795918365,
            "available": 1.0
          },
          {
            "player_id": "805808",
            "player_name": "Kevin McGonigle",
            "position": "3B",
            "weight": 9.0,
            "quality": 0.7214592891283657,
            "contact": 0.8815420575964648,
            "power": 0.5550174242787778,
            "discipline": 1.2843632218844983,
            "xwoba": 0.374,
            "recent_xwoba": 0.374,
            "barrel": 10.0,
            "ab_hard_contact": 0.6211103903374575,
            "ab_bat_speed": 70.37967662951705,
            "ab_strikeout_rate": 0.13085106382978723,
            "available": 1.0
          },
          {
            "player_id": "663330",
            "player_name": "Jahmai Jones",
            "position": "DH",
            "weight": 3.0,
            "quality": 0.2088271694903709,
            "contact": 0.6429704068600622,
            "power": 1.3412841295731994,
            "discipline": -0.7287397372742199,
            "xwoba": 0.347,
            "recent_xwoba": 0.347,
            "barrel": 14.7,
            "ab_hard_contact": 1.4340635438449376,
            "ab_bat_speed": 70.62710727969349,
            "ab_strikeout_rate": 0.34195402298850575,
            "available": 1.0
          },
          {
            "player_id": "670097",
            "player_name": "Zack Short",
            "position": "SS",
            "weight": 3.0,
            "quality": -0.05979241165319332,
            "contact": -1.109066314012226,
            "power": -1.4694236102816185,
            "discipline": 0.8116349206349208,
            "xwoba": 0.312,
            "recent_xwoba": 0.312,
            "barrel": 0.0,
            "ab_hard_contact": -1.6720912532514194,
            "ab_bat_speed": 63.46951058201059,
            "ab_strikeout_rate": 0.34722222222222215,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "676282",
        "player_name": "Joey Cantillo",
        "quality": -0.16098535564716593,
        "contact": -0.3112724370232363,
        "command": -0.019290154290154363,
        "movement": -0.6960550168422065,
        "xwoba": 0.313,
        "whiff": 28.0,
        "faced_est_woba": 0.3136985420864873,
        "faced_launch_speed": 84.57248714581232,
        "faced_strikeout_rate": 0.21708353375020042,
        "faced_run_exp": -0.016919889967958762
      }
    }
  },
  "tie_break_resolution": {
    "applied": true,
    "reason": "MLB prediction target cannot remain tied before inning simulation",
    "winner_side": "away",
    "winner_team": "CLE",
    "home_win_probability": 0.4798,
    "away_win_probability": 0.5202
  },
  "confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Production confidence governor cap enforced.",
  "pre_simulation_target": {
    "away_runs": 3,
    "home_runs": 2,
    "predicted_score_text": "CLE 3 - 2 DET",
    "confidence": 0.520239,
    "source": "enhanced_prediction_before_inning_simulation"
  },
  "score_source": "enhanced_prediction.pre_simulation_target",
  "final_prediction_synced": true,
  "final_prediction_source": "pre_simulation_target",
  "simulation_usage": "advisory_box_score_draw",
  "simulation_score_matches_prediction": false,
  "simulation_reconciliation": {
    "pre_simulation_score": {
      "away_runs": 3,
      "home_runs": 2,
      "score_text": "CLE 3 - 2 DET",
      "winner": "CLE"
    },
    "final_simulation_score": {
      "away_runs": 5,
      "home_runs": 0,
      "score_text": "CLE 5 - 0 DET",
      "winner": "CLE"
    },
    "winner_flipped_by_simulation": false,
    "away_run_delta": 2,
    "home_run_delta": -2,
    "total_run_delta": 0,
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_usage": "advisory_box_score_draw",
    "final_prediction_source": "pre_simulation_target"
  }
}

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 CLETrue1.01591.0159190
Home DETTrue1.03941.0394190

Away Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
3BDaniel Schneemann-1.01560.2084neutral0.32700.24700.41408.2038.1088.9013.5032.1029.1010.60-0.0286
1BRhys Hoskins-1.00520.0694neutral0.32200.18500.329011.4048.6089.4021.502926.3020.30-0.3143
DHJosé Ramírez-1.10151.3536positive_batter_regression0.38500.28700.48309.2043.1090.1020.1015.8013.1016.701.0571
RFChase DeLauter-1.04620.6164neutral0.35700.27800.42806.9040.7090.1014.8014.7010.6012.20-0.1714
2BTravis Bazzana-1.01740.2325neutral0.36200.28000.39003.8036.5089.8010.8019.7015.9015.90-0.4857
LFAngel Martínez-1.01340.1783neutral0.32400.26400.43709.8036.9088.6014.3017.4019.903.60-0.7714
CFSteven Kwan-0.9539-0.6144neutral0.29500.22300.28100.7010.2082.3015811.3015.200.3143
CPatrick Bailey-0.9990-0.0138positive_batter_regression0.28300.22200.35605.9039.109011.3026.4023.807.902
SSBrayan Rocchio-0.9908-0.1222neutral0.32500.26300.36702.9030.2085.5010.6021.809.909.90-0.7143

Home Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
3BKevin McGonigle-1.07511.0017neutral0.37400.27400.47501037.3088.7021.1013.201313.500.2571
CFMatt Vierling-1.01840.2460neutral0.32800.26800.40706.1037.4087.4015.301615.809.800.8286
LFRiley Greene-1.09481.2642neutral0.39000.28300.505013.4049.6090.9015.1029.1026.6013.80-0.6571
CDillon Dingler-1.10401.3871positive_batter_regression0.39100.29600.544013.3048.8090.2013.8020.5019.507.501.4857
DHJahmai Jones-1.04280.5704positive_batter_regression0.34700.26100.481014.705092.7013.8030.30358.302
1BSpencer Torkelson-1.03460.4607neutral0.32300.20600.406014.4043.9090.7018.802933.5013.300.3143
RFWenceel Pérez-0.9875-0.1661positive_batter_regression0.26800.20700.3520737.2087.9015.1015.3013.906.501.4857
2BHao-Yu Lee-1.01300.1730positive_batter_regression0.30200.21700.427013.5037.8090.4021.8033.7029.306.901.0571
SSZack Short-0.9844-0.2083positive_batter_regression0.31200.12500.244002590.5021.2028.9027.8022.202
Raw Savant Batter Quality JSON
{
  "home": {
    "applied": true,
    "offense_factor": 1.0394,
    "raw_average_factor": 1.0394,
    "team_espn_average_rank": null,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "3B",
        "player_id": "805808",
        "player_name": "Kevin McGonigle",
        "offense_factor": 1.0751,
        "quality_score": 1.0017,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "805808",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 207.0,
          "k_percent": 13.0,
          "bb_percent": 13.5,
          "woba": 0.365,
          "xwoba": 0.374,
          "xba": 0.274,
          "xslg": 0.475,
          "sweet_spot_percent": 41.3,
          "barrel_batted_rate": 10.0,
          "hard_hit_percent": 37.3,
          "exit_velocity_avg": 88.7,
          "launch_angle_avg": 21.1,
          "whiff_percent": 13.2,
          "swing_percent": 41.7
        },
        "components": {
          "expected_quality": 1.196,
          "regression_edge": 0.2571,
          "xwoba_edge": 1.8857,
          "xba_edge": 0.9714,
          "xslg_edge": 1.4143,
          "barrel_edge": 0.6889,
          "hard_hit_edge": -0.3071,
          "exit_velocity_edge": -0.12,
          "sweet_spot_edge": 1.3333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "CF",
        "player_id": "663837",
        "player_name": "Matt Vierling",
        "offense_factor": 1.0184,
        "quality_score": 0.246,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "663837",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 132.0,
          "k_percent": 15.8,
          "bb_percent": 9.8,
          "woba": 0.299,
          "xwoba": 0.328,
          "xba": 0.268,
          "xslg": 0.407,
          "sweet_spot_percent": 36.4,
          "barrel_batted_rate": 6.1,
          "hard_hit_percent": 37.4,
          "exit_velocity_avg": 87.4,
          "launch_angle_avg": 15.3,
          "whiff_percent": 16.0,
          "swing_percent": 45.5
        },
        "components": {
          "expected_quality": 0.3419,
          "regression_edge": 0.8286,
          "xwoba_edge": 0.5714,
          "xba_edge": 0.8,
          "xslg_edge": 0.4429,
          "barrel_edge": -0.1778,
          "hard_hit_edge": -0.2929,
          "exit_velocity_edge": -0.64,
          "sweet_spot_edge": 0.5167,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "LF",
        "player_id": "682985",
        "player_name": "Riley Greene",
        "offense_factor": 1.0948,
        "quality_score": 1.2642,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "682985",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 203.0,
          "k_percent": 26.6,
          "bb_percent": 13.8,
          "woba": 0.413,
          "xwoba": 0.39,
          "xba": 0.283,
          "xslg": 0.505,
          "sweet_spot_percent": 41.2,
          "barrel_batted_rate": 13.4,
          "hard_hit_percent": 49.6,
          "exit_velocity_avg": 90.9,
          "launch_angle_avg": 15.1,
          "whiff_percent": 29.1,
          "swing_percent": 43.3
        },
        "components": {
          "expected_quality": 1.7,
          "regression_edge": -0.6571,
          "xwoba_edge": 2.3429,
          "xba_edge": 1.2286,
          "xslg_edge": 1.8429,
          "barrel_edge": 1.4444,
          "hard_hit_edge": 1.45,
          "exit_velocity_edge": 0.76,
          "sweet_spot_edge": 1.3167,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "C",
        "player_id": "693307",
        "player_name": "Dillon Dingler",
        "offense_factor": 1.104,
        "quality_score": 1.3871,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "693307",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 173.0,
          "k_percent": 19.5,
          "bb_percent": 7.5,
          "woba": 0.339,
          "xwoba": 0.391,
          "xba": 0.296,
          "xslg": 0.544,
          "sweet_spot_percent": 42.1,
          "barrel_batted_rate": 13.3,
          "hard_hit_percent": 48.8,
          "exit_velocity_avg": 90.2,
          "launch_angle_avg": 13.8,
          "whiff_percent": 20.5,
          "swing_percent": 48.8
        },
        "components": {
          "expected_quality": 1.8093,
          "regression_edge": 1.4857,
          "xwoba_edge": 2.3714,
          "xba_edge": 1.6,
          "xslg_edge": 2.4,
          "barrel_edge": 1.4222,
          "hard_hit_edge": 1.3357,
          "exit_velocity_edge": 0.48,
          "sweet_spot_edge": 1.4667,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "DH",
        "player_id": "663330",
        "player_name": "Jahmai Jones",
        "offense_factor": 1.0428,
        "quality_score": 0.5704,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "663330",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 55.0,
          "k_percent": 35.0,
          "bb_percent": 8.3,
          "woba": 0.261,
          "xwoba": 0.347,
          "xba": 0.261,
          "xslg": 0.481,
          "sweet_spot_percent": 38.2,
          "barrel_batted_rate": 14.7,
          "hard_hit_percent": 50.0,
          "exit_velocity_avg": 92.7,
          "launch_angle_avg": 13.8,
          "whiff_percent": 30.3,
          "swing_percent": 51.4
        },
        "components": {
          "expected_quality": 1.1483,
          "regression_edge": 2.0,
          "xwoba_edge": 1.1143,
          "xba_edge": 0.6,
          "xslg_edge": 1.5,
          "barrel_edge": 1.7333,
          "hard_hit_edge": 1.5071,
          "exit_velocity_edge": 1.48,
          "sweet_spot_edge": 0.8167,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "1B",
        "player_id": "679529",
        "player_name": "Spencer Torkelson",
        "offense_factor": 1.0346,
        "quality_score": 0.4607,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "679529",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 187.0,
          "k_percent": 33.5,
          "bb_percent": 13.3,
          "woba": 0.312,
          "xwoba": 0.323,
          "xba": 0.206,
          "xslg": 0.406,
          "sweet_spot_percent": 48.0,
          "barrel_batted_rate": 14.4,
          "hard_hit_percent": 43.9,
          "exit_velocity_avg": 90.7,
          "launch_angle_avg": 18.8,
          "whiff_percent": 29.0,
          "swing_percent": 41.5
        },
        "components": {
          "expected_quality": 0.579,
          "regression_edge": 0.3143,
          "xwoba_edge": 0.4286,
          "xba_edge": -0.9714,
          "xslg_edge": 0.4286,
          "barrel_edge": 1.6667,
          "hard_hit_edge": 0.6357,
          "exit_velocity_edge": 0.68,
          "sweet_spot_edge": 2.45,
          "launch_angle_hr_bonus": 0.45
        }
      },
      {
        "position": "RF",
        "player_id": "672761",
        "player_name": "Wenceel Pérez",
        "offense_factor": 0.9875,
        "quality_score": -0.1661,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "672761",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 107.0,
          "k_percent": 13.9,
          "bb_percent": 6.5,
          "woba": 0.216,
          "xwoba": 0.268,
          "xba": 0.207,
          "xslg": 0.352,
          "sweet_spot_percent": 25.6,
          "barrel_batted_rate": 7.0,
          "hard_hit_percent": 37.2,
          "exit_velocity_avg": 87.9,
          "launch_angle_avg": 15.1,
          "whiff_percent": 15.3,
          "swing_percent": 47.2
        },
        "components": {
          "expected_quality": -0.6389,
          "regression_edge": 1.4857,
          "xwoba_edge": -1.1429,
          "xba_edge": -0.9429,
          "xslg_edge": -0.3429,
          "barrel_edge": 0.0222,
          "hard_hit_edge": -0.3214,
          "exit_velocity_edge": -0.44,
          "sweet_spot_edge": -1.2833,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "2B",
        "player_id": "701678",
        "player_name": "Hao-Yu  Lee",
        "offense_factor": 1.013,
        "quality_score": 0.173,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "701678",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 58.0,
          "k_percent": 29.3,
          "bb_percent": 6.9,
          "woba": 0.265,
          "xwoba": 0.302,
          "xba": 0.217,
          "xslg": 0.427,
          "sweet_spot_percent": 43.2,
          "barrel_batted_rate": 13.5,
          "hard_hit_percent": 37.8,
          "exit_velocity_avg": 90.4,
          "launch_angle_avg": 21.8,
          "whiff_percent": 33.7,
          "swing_percent": 48.6
        },
        "components": {
          "expected_quality": 0.275,
          "regression_edge": 1.0571,
          "xwoba_edge": -0.1714,
          "xba_edge": -0.6571,
          "xslg_edge": 0.7286,
          "barrel_edge": 1.4667,
          "hard_hit_edge": -0.2357,
          "exit_velocity_edge": 0.56,
          "sweet_spot_edge": 1.65,
          "launch_angle_hr_bonus": 0.45
        }
      },
      {
        "position": "SS",
        "player_id": "670097",
        "player_name": "Zack Short",
        "offense_factor": 0.9844,
        "quality_score": -0.2083,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "670097",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 15.0,
          "k_percent": 27.8,
          "bb_percent": 22.2,
          "woba": 0.197,
          "xwoba": 0.312,
          "xba": 0.125,
          "xslg": 0.244,
          "sweet_spot_percent": 25.0,
          "barrel_batted_rate": 0.0,
          "hard_hit_percent": 25.0,
          "exit_velocity_avg": 90.5,
          "launch_angle_avg": 21.2,
          "whiff_percent": 28.9,
          "swing_percent": 45.2
        },
        "components": {
          "expected_quality": -0.8639,
          "regression_edge": 2.0,
          "xwoba_edge": 0.1143,
          "xba_edge": -2.5,
          "xslg_edge": -1.8857,
          "barrel_edge": -1.5333,
          "hard_hit_edge": -2.0643,
          "exit_velocity_edge": 0.6,
          "sweet_spot_edge": -1.3833,
          "launch_angle_hr_bonus": 0.45
        }
      }
    ],
    "source": "all_players_stats.csv embedded Savant batter features"
  },
  "away": {
    "applied": true,
    "offense_factor": 1.0159,
    "raw_average_factor": 1.0159,
    "team_espn_average_rank": null,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "3B",
        "player_id": "682177",
        "player_name": "Daniel Schneemann",
        "offense_factor": 1.0156,
        "quality_score": 0.2084,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "682177",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 141.0,
          "k_percent": 29.1,
          "bb_percent": 10.6,
          "woba": 0.328,
          "xwoba": 0.327,
          "xba": 0.247,
          "xslg": 0.414,
          "sweet_spot_percent": 42.4,
          "barrel_batted_rate": 8.2,
          "hard_hit_percent": 38.1,
          "exit_velocity_avg": 88.9,
          "launch_angle_avg": 13.5,
          "whiff_percent": 32.1,
          "swing_percent": 46.5
        },
        "components": {
          "expected_quality": 0.3828,
          "regression_edge": -0.0286,
          "xwoba_edge": 0.5429,
          "xba_edge": 0.2,
          "xslg_edge": 0.5429,
          "barrel_edge": 0.2889,
          "hard_hit_edge": -0.1929,
          "exit_velocity_edge": -0.04,
          "sweet_spot_edge": 1.5167,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "1B",
        "player_id": "656555",
        "player_name": "Rhys Hoskins",
        "offense_factor": 1.0052,
        "quality_score": 0.0694,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "656555",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 130.0,
          "k_percent": 26.3,
          "bb_percent": 20.3,
          "woba": 0.333,
          "xwoba": 0.322,
          "xba": 0.185,
          "xslg": 0.329,
          "sweet_spot_percent": 35.7,
          "barrel_batted_rate": 11.4,
          "hard_hit_percent": 48.6,
          "exit_velocity_avg": 89.4,
          "launch_angle_avg": 21.5,
          "whiff_percent": 29.0,
          "swing_percent": 40.0
        },
        "components": {
          "expected_quality": 0.1877,
          "regression_edge": -0.3143,
          "xwoba_edge": 0.4,
          "xba_edge": -1.5714,
          "xslg_edge": -0.6714,
          "barrel_edge": 1.0,
          "hard_hit_edge": 1.3071,
          "exit_velocity_edge": 0.16,
          "sweet_spot_edge": 0.4,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "DH",
        "player_id": "608070",
        "player_name": "José Ramírez",
        "offense_factor": 1.1015,
        "quality_score": 1.3536,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "608070",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 215.0,
          "k_percent": 13.1,
          "bb_percent": 16.7,
          "woba": 0.348,
          "xwoba": 0.385,
          "xba": 0.287,
          "xslg": 0.483,
          "sweet_spot_percent": 34.4,
          "barrel_batted_rate": 9.2,
          "hard_hit_percent": 43.1,
          "exit_velocity_avg": 90.1,
          "launch_angle_avg": 20.1,
          "whiff_percent": 15.8,
          "swing_percent": 46.2
        },
        "components": {
          "expected_quality": 1.4384,
          "regression_edge": 1.0571,
          "xwoba_edge": 2.2,
          "xba_edge": 1.3429,
          "xslg_edge": 1.5286,
          "barrel_edge": 0.5111,
          "hard_hit_edge": 0.5214,
          "exit_velocity_edge": 0.44,
          "sweet_spot_edge": 0.1833,
          "launch_angle_hr_bonus": 0.45
        }
      },
      {
        "position": "RF",
        "player_id": "800050",
        "player_name": "Chase DeLauter",
        "offense_factor": 1.0462,
        "quality_score": 0.6164,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "800050",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 186.0,
          "k_percent": 10.6,
          "bb_percent": 12.2,
          "woba": 0.363,
          "xwoba": 0.357,
          "xba": 0.278,
          "xslg": 0.428,
          "sweet_spot_percent": 35.6,
          "barrel_batted_rate": 6.9,
          "hard_hit_percent": 40.7,
          "exit_velocity_avg": 90.1,
          "launch_angle_avg": 14.8,
          "whiff_percent": 14.7,
          "swing_percent": 41.3
        },
        "components": {
          "expected_quality": 0.8757,
          "regression_edge": -0.1714,
          "xwoba_edge": 1.4,
          "xba_edge": 1.0857,
          "xslg_edge": 0.7429,
          "barrel_edge": 0.0,
          "hard_hit_edge": 0.1786,
          "exit_velocity_edge": 0.44,
          "sweet_spot_edge": 0.3833,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "2B",
        "player_id": "683953",
        "player_name": "Travis Bazzana",
        "offense_factor": 1.0174,
        "quality_score": 0.2325,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "683953",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 80.0,
          "k_percent": 15.9,
          "bb_percent": 15.9,
          "woba": 0.379,
          "xwoba": 0.362,
          "xba": 0.28,
          "xslg": 0.39,
          "sweet_spot_percent": 33.3,
          "barrel_batted_rate": 3.8,
          "hard_hit_percent": 36.5,
          "exit_velocity_avg": 89.8,
          "launch_angle_avg": 10.8,
          "whiff_percent": 19.7,
          "swing_percent": 41.6
        },
        "components": {
          "expected_quality": 0.6798,
          "regression_edge": -0.4857,
          "xwoba_edge": 1.5429,
          "xba_edge": 1.1429,
          "xslg_edge": 0.2,
          "barrel_edge": -0.6889,
          "hard_hit_edge": -0.4214,
          "exit_velocity_edge": 0.32,
          "sweet_spot_edge": 0.0,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "LF",
        "player_id": "682657",
        "player_name": "Angel Martínez",
        "offense_factor": 1.0134,
        "quality_score": 0.1783,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "682657",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 162.0,
          "k_percent": 19.9,
          "bb_percent": 3.6,
          "woba": 0.351,
          "xwoba": 0.324,
          "xba": 0.264,
          "xslg": 0.437,
          "sweet_spot_percent": 33.3,
          "barrel_batted_rate": 9.8,
          "hard_hit_percent": 36.9,
          "exit_velocity_avg": 88.6,
          "launch_angle_avg": 14.3,
          "whiff_percent": 17.4,
          "swing_percent": 52.6
        },
        "components": {
          "expected_quality": 0.4072,
          "regression_edge": -0.7714,
          "xwoba_edge": 0.4571,
          "xba_edge": 0.6857,
          "xslg_edge": 0.8714,
          "barrel_edge": 0.6444,
          "hard_hit_edge": -0.3643,
          "exit_velocity_edge": -0.16,
          "sweet_spot_edge": 0.0,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "CF",
        "player_id": "680757",
        "player_name": "Steven Kwan",
        "offense_factor": 0.9539,
        "quality_score": -0.6144,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "680757",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 201.0,
          "k_percent": 11.3,
          "bb_percent": 15.2,
          "woba": 0.284,
          "xwoba": 0.295,
          "xba": 0.223,
          "xslg": 0.281,
          "sweet_spot_percent": 33.1,
          "barrel_batted_rate": 0.7,
          "hard_hit_percent": 10.2,
          "exit_velocity_avg": 82.3,
          "launch_angle_avg": 15.0,
          "whiff_percent": 8.0,
          "swing_percent": 34.2
        },
        "components": {
          "expected_quality": -0.8332,
          "regression_edge": 0.3143,
          "xwoba_edge": -0.3714,
          "xba_edge": -0.4857,
          "xslg_edge": -1.3571,
          "barrel_edge": -1.3778,
          "hard_hit_edge": -2.5,
          "exit_velocity_edge": -2.5,
          "sweet_spot_edge": -0.0333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "C",
        "player_id": "672275",
        "player_name": "Patrick Bailey",
        "offense_factor": 0.999,
        "quality_score": -0.0138,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "672275",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 95.0,
          "k_percent": 23.8,
          "bb_percent": 7.9,
          "woba": 0.187,
          "xwoba": 0.283,
          "xba": 0.222,
          "xslg": 0.356,
          "sweet_spot_percent": 31.9,
          "barrel_batted_rate": 5.9,
          "hard_hit_percent": 39.1,
          "exit_velocity_avg": 90.0,
          "launch_angle_avg": 11.3,
          "whiff_percent": 26.4,
          "swing_percent": 48.2
        },
        "components": {
          "expected_quality": -0.3611,
          "regression_edge": 2.0,
          "xwoba_edge": -0.7143,
          "xba_edge": -0.5143,
          "xslg_edge": -0.2857,
          "barrel_edge": -0.2222,
          "hard_hit_edge": -0.05,
          "exit_velocity_edge": 0.4,
          "sweet_spot_edge": -0.2333,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "SS",
        "player_id": "677587",
        "player_name": "Brayan Rocchio",
        "offense_factor": 0.9908,
        "quality_score": -0.1222,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "677587",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 177.0,
          "k_percent": 9.9,
          "bb_percent": 9.9,
          "woba": 0.35,
          "xwoba": 0.325,
          "xba": 0.263,
          "xslg": 0.367,
          "sweet_spot_percent": 30.5,
          "barrel_batted_rate": 2.9,
          "hard_hit_percent": 30.2,
          "exit_velocity_avg": 85.5,
          "launch_angle_avg": 10.6,
          "whiff_percent": 21.8,
          "swing_percent": 48.1
        },
        "components": {
          "expected_quality": -0.0603,
          "regression_edge": -0.7143,
          "xwoba_edge": 0.4857,
          "xba_edge": 0.6571,
          "xslg_edge": -0.1286,
          "barrel_edge": -0.8889,
          "hard_hit_edge": -1.3214,
          "exit_velocity_edge": -1.4,
          "sweet_spot_edge": -0.4667,
          "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 CLETrue--0.03090.74801.00261.00431.02991.0215neutral0.31300.330021.4011.40287.9041.40
Home DETTrue-0.23190.51200.98031.01640.98050.9936neutral0.27600.274026.507.5027.508.3038.50

Pitch Movement And Arsenal

TeamPitcherMovement AvailablePrimary PitchPitchesVeloSpinAxisHBIVBDropRel XRel ZExtensionArm AngleMovement Score
Away CLETrueNone8285.63194200000000-0.2267
Home DETTrueNone7689.62198000000000-0.0038
Run FactorValue
away_runs_vs_home_pitcher0.9899
home_runs_vs_away_pitcher1.0019
home_pitcher_quality_edge0.2628
Raw Savant Pitcher Quality JSON
{
  "applied": true,
  "home_pitcher": {
    "available": true,
    "pitcher_id": "663554",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 128.0,
      "k_percent": 26.5,
      "bb_percent": 7.5,
      "woba": 0.274,
      "xwoba": 0.276,
      "sweet_spot_percent": 28.1,
      "barrel_batted_rate": 8.3,
      "hard_hit_percent": 38.5,
      "avg_best_speed": 76.9686,
      "avg_hyper_speed": 94.1313,
      "whiff_percent": 27.5,
      "swing_percent": 48.2
    },
    "league_medians": {
      "pa": 69.0,
      "k_percent": 22.7,
      "bb_percent": 9.4,
      "woba": 0.308,
      "xwoba": 0.312,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.2,
      "hard_hit_percent": 38.7,
      "avg_best_speed": 78.2751,
      "avg_hyper_speed": 94.07,
      "whiff_percent": 25.7,
      "swing_percent": 46.9
    },
    "components": {
      "contact_quality": 0.6203,
      "command_and_miss": 0.4293,
      "regression_edge": -0.0571,
      "xwoba_edge": 1.0286,
      "barrel_edge": -0.2444,
      "hard_hit_edge": 0.0286,
      "whiff_edge": 0.2571,
      "bb_edge": 0.475,
      "pitch_design_score": -0.0038
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "663554",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 76,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 76,
        "pitch_usage": 0.0,
        "release_speed": 89.61640771751091,
        "release_spin_rate": 1980.1766092325095,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 76,
          "pitch_usage": 0.0,
          "release_speed": 89.61640771751091,
          "release_spin_rate": 1980.1766092325095,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.6164,
        "release_spin_rate": 1980.1766,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": -0.0038,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": -0.0268,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -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.2319,
    "sample_weight": 0.512,
    "run_prevention_factor": 0.9803,
    "strikeout_factor": 1.0164,
    "walk_factor": 0.9805,
    "homer_factor": 0.9936,
    "woba_minus_xwoba": -0.002,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": false,
      "player_id": "663554",
      "reason": "player_not_in_espn_rankings"
    }
  },
  "away_pitcher": {
    "available": true,
    "pitcher_id": "676282",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 187.0,
      "k_percent": 21.4,
      "bb_percent": 11.4,
      "woba": 0.33,
      "xwoba": 0.313,
      "sweet_spot_percent": 27.9,
      "barrel_batted_rate": 7.9,
      "hard_hit_percent": 41.4,
      "avg_best_speed": 77.5117,
      "avg_hyper_speed": 94.2906,
      "whiff_percent": 28.0,
      "swing_percent": 44.3
    },
    "league_medians": {
      "pa": 69.0,
      "k_percent": 22.7,
      "bb_percent": 9.4,
      "woba": 0.308,
      "xwoba": 0.312,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.2,
      "hard_hit_percent": 38.7,
      "avg_best_speed": 78.2751,
      "avg_hyper_speed": 94.07,
      "whiff_percent": 25.7,
      "swing_percent": 46.9
    },
    "components": {
      "contact_quality": -0.0962,
      "command_and_miss": -0.0686,
      "regression_edge": 0.4857,
      "xwoba_edge": -0.0286,
      "barrel_edge": -0.1556,
      "hard_hit_edge": -0.3857,
      "whiff_edge": 0.3286,
      "bb_edge": -0.5,
      "pitch_design_score": -0.2267
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "676282",
      "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": 85.63481561654541,
        "release_spin_rate": 1941.8401851660076,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_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": 85.63481561654541,
          "release_spin_rate": 1941.8401851660076,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        }
      ],
      "summary": {
        "release_speed": 85.6348,
        "release_spin_rate": 1941.8402,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": -0.2267,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": -1.6195,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -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.0309,
    "sample_weight": 0.748,
    "run_prevention_factor": 1.0026,
    "strikeout_factor": 1.0043,
    "walk_factor": 1.0299,
    "homer_factor": 1.0215,
    "woba_minus_xwoba": 0.017,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": false,
      "player_id": "676282",
      "reason": "player_not_in_espn_rankings"
    }
  },
  "run_factors": {
    "away_runs_vs_home_pitcher": 0.9899,
    "home_runs_vs_away_pitcher": 1.0019,
    "home_pitcher_quality_edge": 0.2628
  },
  "score_before": {
    "away_runs": 1.0,
    "home_runs": 1.0
  },
  "score_after": {
    "away_runs": 0.9899,
    "home_runs": 1.0019,
    "home_win_probability": 0.5058
  },
  "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 CLE23-280.4511.503-77coldstrong
Home DET12-380.24013.30-117coldstrong

Season Run Differential

TeamRecordWin %Run DiffRD/GameAvailable
Away CLE29-220.569210.412True
Home DET20-300.400-21-0.420True
Signal---0.832-1.085applied=True

Recent Head-to-Head

DateMatchupScoreWinnerMarginType
------

Player/Game Reconciliation

LayerABHRHRRBIBBSO
Game target CLE--3----
Game target DET--2----
Player finalized CLE681791101012
Player finalized DET5611705714
Player model fractional CLE68.0916.5310.712.2510.4610.7312.99
Player model fractional DET56.8011.946.101.485.527.6915.24
Simulation box CLE3811505314
Simulation box DET31400005

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 CLEStarterJoey Cantillo504403.751.36True
Away CLEMiddle RelieverCade Smith101002.591.08True
Away CLEMiddle RelieverHunter Gaddis1.1000003.991.31True
Away CLEMiddle RelieverShawn Armstrong100003.171.26True
Away CLEMiddle RelieverErik Sabrowski0.2000002.471.29True
Home DETStarterCasey Mize5.1017532.701.08True
Home DETMiddle RelieverKenley Jansen1.2002103.141.07True
Home DETMiddle RelieverKyle Finnegan103002.881.42True
Home DETMiddle RelieverWill Vest142505.071.37True
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
awayCLEbatter1BRhys Hoskinsworse116556predicted_AB1.9240boostbetter
homeDETbatterCFMatt Vierlingworse113829predicted_H1.7000boostbetter
awayCLEbatterSSBrayan Rocchioworse115647predicted_SO1.5850boostworse
awayCLEbatter3BDaniel Schneemannbetter108273predicted_AB1.4200boostbetter
awayCLEbatter2BTravis Bazzanaboosted106455predicted_SO1.3010boostworse
awayCLEbatterCPatrick Baileyworse92718predicted_SO1.2680boostworse
awayCLEbatterCFSteven Kwanbetter117465predicted_H1.2100boostbetter
awayCLEbatterLFAngel Martínezworse115647predicted_SO1.1900boostworse
homeDETbatterLFRiley Greenedeboosted104655predicted_SO-1.1370deboostbetter
awayCLEbatterDHJosé Ramírezbetter105564predicted_H1.0000boostbetter
homeDETbatter3BKevin McGonigleworse1111029predicted_H-1.0000deboostworse
homeDETbatterDHJahmai Jonesworse101928predicted_SO-0.9850deboostbetter
homeDETbatter2BHao-Yu Leeworse101928predicted_SO-0.9660deboostbetter
homeDETbatterSSZack Shortworse82617predicted_BB-0.9030deboostworse
homeDETbatterCDillon Dinglerworse1129110predicted_H-0.8800deboostworse
awayCLEbatterRFChase DeLauterbetter109182predicted_2B0.7570boostbetter
homeDETbatter1BSpencer Torkelsonworse112938predicted_H-0.7000deboostworse
homeDETbatterRFWenceel Pérezworse11110011predicted_H-0.6400deboostworse
awayCLEpitcherMiddle RelieverErik Sabrowskiworse10101predicted_IP-0.4667deboostworse
homeDETpitcherStarterCasey Mizeworse10101predicted_IP-0.2333deboostworse
homeDETpitcherMiddle RelieverKenley Jansenbetter11010predicted_IP0.2000boostbetter
awayCLEpitcherMiddle RelieverHunter Gaddisbetter11010predicted_IP0.1000boostbetter

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

Away Team: CLE

Away Pitcher Deep Analysis

FieldValue
PitcherJoey Cantillo
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.0309
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.2267
Avg Velo85.6348
Avg Spin1941.8402
HB Inches0
IVB Inches0
Release Extension0
Pre IP5
Pre ER0
Pre H4
Pre BB0
Pre SO4
Season ERA3.3974
Season WHIP1.3510
Role Avg IP5.0330
Recent Avg IP5
Last Start IP5
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "CLE",
    "games": 58,
    "wins": 33,
    "losses": 25,
    "win_pct": 0.569,
    "runs_scored": 271.0,
    "runs_allowed": 246.0,
    "run_differential": 25.0,
    "run_differential_per_game": 0.431,
    "avg_runs_scored": 4.6724,
    "avg_runs_allowed": 4.2414,
    "offense_index": 1.0433,
    "defense_index": 1.0559,
    "current_streak": "W5",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 5.6,
      "avg_runs_allowed": 3.2,
      "run_differential": 24.0
    },
    "available": true,
    "quality_score": 0.2166
  },
  "opponent": {
    "team": "DET",
    "games": 55,
    "wins": 22,
    "losses": 33,
    "win_pct": 0.4,
    "runs_scored": 219.0,
    "runs_allowed": 238.0,
    "run_differential": -19.0,
    "run_differential_per_game": -0.3455,
    "avg_runs_scored": 3.9818,
    "avg_runs_allowed": 4.3273,
    "offense_index": 0.8891,
    "defense_index": 1.035,
    "current_streak": "L5",
    "recent": {
      "games": 10,
      "wins": 2,
      "losses": 8,
      "win_pct": 0.2,
      "avg_runs_scored": 2.6,
      "avg_runs_allowed": 4.8,
      "run_differential": -22.0
    },
    "available": true,
    "quality_score": -0.2324
  },
  "edges": {
    "quality_edge": 0.449,
    "offense_edge": 0.0433,
    "opponent_offense_edge": -0.1109,
    "defense_strength": 0.0559,
    "opponent_defense_weakness": -0.035,
    "recent_win_pct_edge": 0.6
  },
  "player_factors": {
    "ip": 1.0241,
    "run_prevention": 0.9542,
    "strikeout": 1.0223
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "676282",
    "profile": {
      "available": true,
      "pitcher_id": "676282",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 187.0,
        "k_percent": 21.4,
        "bb_percent": 11.4,
        "woba": 0.33,
        "xwoba": 0.313,
        "sweet_spot_percent": 27.9,
        "barrel_batted_rate": 7.9,
        "hard_hit_percent": 41.4,
        "avg_best_speed": 77.5117,
        "avg_hyper_speed": 94.2906,
        "whiff_percent": 28.0,
        "swing_percent": 44.3
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": -0.0962,
        "command_and_miss": -0.0686,
        "regression_edge": 0.4857,
        "xwoba_edge": -0.0286,
        "barrel_edge": -0.1556,
        "hard_hit_edge": -0.3857,
        "whiff_edge": 0.3286,
        "bb_edge": -0.5,
        "pitch_design_score": -0.2267
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "676282",
        "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": 85.63481561654541,
          "release_spin_rate": 1941.8401851660076,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 85.63481561654541,
            "release_spin_rate": 1941.8401851660076,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 85.6348,
          "release_spin_rate": 1941.8402,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.2267,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -1.6195,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.0309,
      "sample_weight": 0.748,
      "run_prevention_factor": 1.0026,
      "strikeout_factor": 1.0043,
      "walk_factor": 1.0299,
      "homer_factor": 1.0215,
      "woba_minus_xwoba": 0.017,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "676282",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 2.0,
        "factor": 1.0019,
        "adjusted": 2
      },
      "predicted_H": {
        "original": 5.0,
        "factor": 1.0019,
        "adjusted": 5
      },
      "predicted_BB": {
        "original": 2.0,
        "factor": 1.0224,
        "adjusted": 2
      },
      "predicted_HR": {
        "original": 1.0,
        "factor": 1.0161,
        "adjusted": 1
      },
      "predicted_SO": {
        "original": 4.0,
        "factor": 1.0032,
        "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": 50.1,
    "ER": 19,
    "H": 44,
    "BB": 24,
    "SO": 45,
    "HR": 6,
    "ERA": 3.3973509933774833,
    "WHIP": 1.3509933774834437,
    "K9": 8.04635761589404,
    "HR9": 1.0728476821192052,
    "games_pitched": 10,
    "quality_starts": 2,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-05-16T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "676282",
  "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": 85.63481561654541,
    "release_spin_rate": 1941.8401851660076,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 85.63481561654541,
      "release_spin_rate": 1941.8401851660076,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 85.6348,
    "release_spin_rate": 1941.8402,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.2267,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -1.6195,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.5625,
    "last_10": 0.43749999999999994
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6667,
    "prior_weight": 0.3333
  },
  "role": "pitcher",
  "player_id": "676282",
  "report_date": "20260521_C",
  "season_year": 2026,
  "rows_used": 10,
  "reference_playing_time": 5.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 25.0,
        "ER": 10.0,
        "R": 12.0,
        "H": 23.0,
        "BB": 12.0,
        "SO": 15.0,
        "HR": 3.0,
        "BF": 107.0,
        "Pitches": 408.0
      },
      "per_game": {
        "IP": 5.0,
        "ER": 2.0,
        "R": 2.4,
        "H": 4.6,
        "BB": 2.4,
        "SO": 3.0,
        "HR": 0.6,
        "BF": 21.4,
        "Pitches": 81.6
      },
      "rates": {
        "ERA": 3.6,
        "WHIP": 1.4,
        "ER_per_IP": 0.4,
        "H_per_IP": 0.92,
        "BB_per_IP": 0.48,
        "SO_per_IP": 0.6,
        "HR_per_IP": 0.12
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 50.1,
        "ER": 19.0,
        "R": 23.0,
        "H": 44.0,
        "BB": 24.0,
        "SO": 45.0,
        "HR": 6.0,
        "BF": 210.0,
        "Pitches": 840.0
      },
      "per_game": {
        "IP": 5.0,
        "ER": 1.9,
        "R": 2.3,
        "H": 4.4,
        "BB": 2.4,
        "SO": 4.5,
        "HR": 0.6,
        "BF": 21.0,
        "Pitches": 84.0
      },
      "rates": {
        "ERA": 3.3974,
        "WHIP": 1.351,
        "ER_per_IP": 0.37748,
        "H_per_IP": 0.87417,
        "BB_per_IP": 0.47682,
        "SO_per_IP": 0.89404,
        "HR_per_IP": 0.11921
      }
    },
    "season": {
      "games": 10,
      "totals": {
        "IP": 50.1,
        "ER": 19.0,
        "R": 23.0,
        "H": 44.0,
        "BB": 24.0,
        "SO": 45.0,
        "HR": 6.0,
        "BF": 210.0,
        "Pitches": 840.0
      },
      "per_game": {
        "IP": 5.0,
        "ER": 1.9,
        "R": 2.3,
        "H": 4.4,
        "BB": 2.4,
        "SO": 4.5,
        "HR": 0.6,
        "BF": 21.0,
        "Pitches": 84.0
      },
      "rates": {
        "ERA": 3.3974,
        "WHIP": 1.351,
        "ER_per_IP": 0.37748,
        "H_per_IP": 0.87417,
        "BB_per_IP": 0.47682,
        "SO_per_IP": 0.89404,
        "HR_per_IP": 0.11921
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 5.0,
    "predicted_ER": 2.085,
    "predicted_H": 4.569,
    "predicted_BB": 2.222,
    "predicted_SO": 4.014,
    "predicted_HR": 0.616,
    "predicted_ERA": 3.7538,
    "predicted_WHIP": 1.3582
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4908,
  "form_weight": 0.5092,
  "form_reliability": 0.6667,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6667,
    "prior_weight": 0.3333
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 5.0,
      "form": 5.0,
      "final": 5.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 2.085,
      "final": 1.0616,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 4.0,
      "form": 4.569,
      "final": 4.2897,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 2.222,
      "final": 1.1314,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 4.0,
      "form": 4.014,
      "final": 4.0071,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.616,
      "final": 0.3137,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.7538,
      "final": 3.7538,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.3582,
      "final": 1.3582,
      "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
RoleMiddle Reliever
Projection Source-
Savant Quality Score0.3244
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.1546
Avg Velo92.4445
Avg Spin1866.0466
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO1
Season ERA2.6620
Season WHIP1.1408
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "CLE",
    "games": 58,
    "wins": 33,
    "losses": 25,
    "win_pct": 0.569,
    "runs_scored": 271.0,
    "runs_allowed": 246.0,
    "run_differential": 25.0,
    "run_differential_per_game": 0.431,
    "avg_runs_scored": 4.6724,
    "avg_runs_allowed": 4.2414,
    "offense_index": 1.0433,
    "defense_index": 1.0559,
    "current_streak": "W5",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 5.6,
      "avg_runs_allowed": 3.2,
      "run_differential": 24.0
    },
    "available": true,
    "quality_score": 0.2166
  },
  "opponent": {
    "team": "DET",
    "games": 55,
    "wins": 22,
    "losses": 33,
    "win_pct": 0.4,
    "runs_scored": 219.0,
    "runs_allowed": 238.0,
    "run_differential": -19.0,
    "run_differential_per_game": -0.3455,
    "avg_runs_scored": 3.9818,
    "avg_runs_allowed": 4.3273,
    "offense_index": 0.8891,
    "defense_index": 1.035,
    "current_streak": "L5",
    "recent": {
      "games": 10,
      "wins": 2,
      "losses": 8,
      "win_pct": 0.2,
      "avg_runs_scored": 2.6,
      "avg_runs_allowed": 4.8,
      "run_differential": -22.0
    },
    "available": true,
    "quality_score": -0.2324
  },
  "edges": {
    "quality_edge": 0.449,
    "offense_edge": 0.0433,
    "opponent_offense_edge": -0.1109,
    "defense_strength": 0.0559,
    "opponent_defense_weakness": -0.035,
    "recent_win_pct_edge": 0.6
  },
  "player_factors": {
    "ip": 1.0241,
    "run_prevention": 0.9542,
    "strikeout": 1.0223
  },
  "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": 91.0,
        "k_percent": 37.0,
        "bb_percent": 5.4,
        "woba": 0.281,
        "xwoba": 0.258,
        "sweet_spot_percent": 37.7,
        "barrel_batted_rate": 9.4,
        "hard_hit_percent": 49.0,
        "avg_best_speed": 81.4006,
        "avg_hyper_speed": 95.5494,
        "whiff_percent": 37.5,
        "swing_percent": 50.7
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": 0.3542,
        "command_and_miss": 1.7093,
        "regression_edge": 0.6571,
        "xwoba_edge": 1.5429,
        "barrel_edge": -0.4889,
        "hard_hit_edge": -1.4714,
        "whiff_edge": 1.6857,
        "bb_edge": 1.0,
        "pitch_design_score": 0.1546
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "671922",
        "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": 92.44445819740204,
          "release_spin_rate": 1866.0465971621334,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 92.44445819740204,
            "release_spin_rate": 1866.0465971621334,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.4445,
          "release_spin_rate": 1866.0466,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.1546,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.1044,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.3244,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9724,
      "strikeout_factor": 1.0671,
      "walk_factor": 0.964,
      "homer_factor": 1.0233,
      "woba_minus_xwoba": 0.023,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "671922",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9876,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9876,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9838,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0105,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 3.0,
        "factor": 1.0302,
        "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": 1,
    "H": 7,
    "BB": 1,
    "SO": 20,
    "HR": 0,
    "ERA": 0.84375,
    "WHIP": 0.75,
    "K9": 16.875,
    "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-05-20T00: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": 17,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 17,
    "pitch_usage": 0.0,
    "release_speed": 92.44445819740204,
    "release_spin_rate": 1866.0465971621334,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 92.44445819740204,
      "release_spin_rate": 1866.0465971621334,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.4445,
    "release_spin_rate": 1866.0466,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1546,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.1044,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.689,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4839,
    "prior_weight": 0.5161
  },
  "role": "pitcher",
  "player_id": "671922",
  "report_date": "20260521_C",
  "season_year": 2026,
  "rows_used": 23,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.1,
        "ER": 0.0,
        "R": 1.0,
        "H": 3.0,
        "BB": 1.0,
        "SO": 11.0,
        "HR": 0.0,
        "BF": 20.0,
        "Pitches": 85.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.2,
        "H": 0.6,
        "BB": 0.2,
        "SO": 2.2,
        "HR": 0.0,
        "BF": 4.0,
        "Pitches": 17.0
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.75,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.5625,
        "BB_per_IP": 0.1875,
        "SO_per_IP": 2.0625,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.2,
        "ER": 1.0,
        "R": 2.0,
        "H": 7.0,
        "BB": 1.0,
        "SO": 20.0,
        "HR": 0.0,
        "BF": 39.0,
        "Pitches": 166.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.1,
        "R": 0.2,
        "H": 0.7,
        "BB": 0.1,
        "SO": 2.0,
        "HR": 0.0,
        "BF": 3.9,
        "Pitches": 16.6
      },
      "rates": {
        "ERA": 0.8438,
        "WHIP": 0.75,
        "ER_per_IP": 0.09375,
        "H_per_IP": 0.65625,
        "BB_per_IP": 0.09375,
        "SO_per_IP": 1.875,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 23,
      "totals": {
        "IP": 23.2,
        "ER": 7.0,
        "R": 9.0,
        "H": 22.0,
        "BB": 5.0,
        "SO": 35.0,
        "HR": 1.0,
        "BF": 96.0,
        "Pitches": 424.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3043,
        "R": 0.3913,
        "H": 0.9565,
        "BB": 0.2174,
        "SO": 1.5217,
        "HR": 0.0435,
        "BF": 4.1739,
        "Pitches": 18.4348
      },
      "rates": {
        "ERA": 2.662,
        "WHIP": 1.1408,
        "ER_per_IP": 0.29577,
        "H_per_IP": 0.92958,
        "BB_per_IP": 0.21127,
        "SO_per_IP": 1.47887,
        "HR_per_IP": 0.04225
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.288,
    "predicted_H": 0.809,
    "predicted_BB": 0.271,
    "predicted_SO": 1.401,
    "predicted_HR": 0.071,
    "predicted_ERA": 2.5882,
    "predicted_WHIP": 1.0807
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5681,
  "form_weight": 0.4319,
  "form_reliability": 0.4839,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.689,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4839,
    "prior_weight": 0.5161
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.288,
      "final": 0.1244,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.809,
      "final": 0.3494,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.271,
      "final": 0.1171,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.401,
      "final": 1.1732,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.071,
      "final": 0.0307,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.5882,
      "final": 2.5882,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.0807,
      "final": 1.0807,
      "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
RoleMiddle Reliever
Projection Source-
Savant Quality Score-0.0627
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0264
Avg Velo89.2115
Avg Spin2235.1786
HB Inches0
IVB Inches0
Release Extension0
Pre IP1.1000
Pre ER0
Pre H0
Pre BB0
Pre SO0
Season ERA4.9091
Season WHIP1.4545
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "CLE",
    "games": 58,
    "wins": 33,
    "losses": 25,
    "win_pct": 0.569,
    "runs_scored": 271.0,
    "runs_allowed": 246.0,
    "run_differential": 25.0,
    "run_differential_per_game": 0.431,
    "avg_runs_scored": 4.6724,
    "avg_runs_allowed": 4.2414,
    "offense_index": 1.0433,
    "defense_index": 1.0559,
    "current_streak": "W5",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 5.6,
      "avg_runs_allowed": 3.2,
      "run_differential": 24.0
    },
    "available": true,
    "quality_score": 0.2166
  },
  "opponent": {
    "team": "DET",
    "games": 55,
    "wins": 22,
    "losses": 33,
    "win_pct": 0.4,
    "runs_scored": 219.0,
    "runs_allowed": 238.0,
    "run_differential": -19.0,
    "run_differential_per_game": -0.3455,
    "avg_runs_scored": 3.9818,
    "avg_runs_allowed": 4.3273,
    "offense_index": 0.8891,
    "defense_index": 1.035,
    "current_streak": "L5",
    "recent": {
      "games": 10,
      "wins": 2,
      "losses": 8,
      "win_pct": 0.2,
      "avg_runs_scored": 2.6,
      "avg_runs_allowed": 4.8,
      "run_differential": -22.0
    },
    "available": true,
    "quality_score": -0.2324
  },
  "edges": {
    "quality_edge": 0.449,
    "offense_edge": 0.0433,
    "opponent_offense_edge": -0.1109,
    "defense_strength": 0.0559,
    "opponent_defense_weakness": -0.035,
    "recent_win_pct_edge": 0.6
  },
  "player_factors": {
    "ip": 1.0241,
    "run_prevention": 0.9542,
    "strikeout": 1.0223
  },
  "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": 50.0,
        "k_percent": 15.1,
        "bb_percent": 11.3,
        "woba": 0.377,
        "xwoba": 0.321,
        "sweet_spot_percent": 25.6,
        "barrel_batted_rate": 10.3,
        "hard_hit_percent": 35.9,
        "avg_best_speed": 80.2873,
        "avg_hyper_speed": 93.6798,
        "whiff_percent": 33.3,
        "swing_percent": 46.2
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": -0.4362,
        "command_and_miss": -0.2036,
        "regression_edge": 1.6,
        "xwoba_edge": -0.2571,
        "barrel_edge": -0.6889,
        "hard_hit_edge": 0.4,
        "whiff_edge": 1.0857,
        "bb_edge": -0.475,
        "pitch_design_score": -0.0264
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "683769",
        "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": 89.21146986560449,
          "release_spin_rate": 2235.1786221257375,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 89.21146986560449,
            "release_spin_rate": 2235.1786221257375,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.2115,
          "release_spin_rate": 2235.1786,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.0264,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.1888,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.0627,
      "sample_weight": 0.45,
      "run_prevention_factor": 1.0053,
      "strikeout_factor": 1.0,
      "walk_factor": 1.0171,
      "homer_factor": 1.0211,
      "woba_minus_xwoba": 0.056,
      "regression_flag": "positive_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "683769",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 1.0024,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 1.0024,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0077,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0095,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0,
        "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.0,
    "ER": 4,
    "H": 9,
    "BB": 3,
    "SO": 2,
    "HR": 1,
    "ERA": 5.142857142857143,
    "WHIP": 1.7142857142857142,
    "K9": 2.5714285714285716,
    "HR9": 1.2857142857142858,
    "games_pitched": 9,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": true
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-05-19T00: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": 12,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 12,
    "pitch_usage": 0.0,
    "release_speed": 89.21146986560449,
    "release_spin_rate": 2235.1786221257375,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 89.21146986560449,
      "release_spin_rate": 2235.1786221257375,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.2115,
    "release_spin_rate": 2235.1786,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0264,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.1888,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 2.179,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.3035,
    "prior_weight": 0.6965
  },
  "role": "pitcher",
  "player_id": "683769",
  "report_date": "20260521_C",
  "season_year": 2026,
  "rows_used": 13,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.2,
        "ER": 1.0,
        "R": 1.0,
        "H": 4.0,
        "BB": 1.0,
        "SO": 1.0,
        "HR": 0.0,
        "BF": 19.0,
        "Pitches": 65.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.8,
        "BB": 0.2,
        "SO": 0.2,
        "HR": 0.0,
        "BF": 3.8,
        "Pitches": 13.0
      },
      "rates": {
        "ERA": 1.9286,
        "WHIP": 1.0714,
        "ER_per_IP": 0.21429,
        "H_per_IP": 0.85714,
        "BB_per_IP": 0.21429,
        "SO_per_IP": 0.21429,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 8.0,
        "ER": 4.0,
        "R": 4.0,
        "H": 9.0,
        "BB": 3.0,
        "SO": 2.0,
        "HR": 1.0,
        "BF": 36.0,
        "Pitches": 122.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.4,
        "R": 0.4,
        "H": 0.9,
        "BB": 0.3,
        "SO": 0.2,
        "HR": 0.1,
        "BF": 3.6,
        "Pitches": 12.2
      },
      "rates": {
        "ERA": 4.5,
        "WHIP": 1.5,
        "ER_per_IP": 0.5,
        "H_per_IP": 1.125,
        "BB_per_IP": 0.375,
        "SO_per_IP": 0.25,
        "HR_per_IP": 0.125
      }
    },
    "season": {
      "games": 13,
      "totals": {
        "IP": 11.0,
        "ER": 6.0,
        "R": 6.0,
        "H": 12.0,
        "BB": 4.0,
        "SO": 8.0,
        "HR": 2.0,
        "BF": 49.0,
        "Pitches": 179.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4615,
        "R": 0.4615,
        "H": 0.9231,
        "BB": 0.3077,
        "SO": 0.6154,
        "HR": 0.1538,
        "BF": 3.7692,
        "Pitches": 13.7692
      },
      "rates": {
        "ERA": 4.9091,
        "WHIP": 1.4545,
        "ER_per_IP": 0.54545,
        "H_per_IP": 1.09091,
        "BB_per_IP": 0.36364,
        "SO_per_IP": 0.72727,
        "HR_per_IP": 0.18182
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.428,
    "predicted_H": 0.924,
    "predicted_BB": 0.341,
    "predicted_SO": 0.736,
    "predicted_HR": 0.111,
    "predicted_ERA": 3.9917,
    "predicted_WHIP": 1.3115
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.6443,
  "form_weight": 0.3557,
  "form_reliability": 0.3035,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 2.179,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.3035,
    "prior_weight": 0.6965
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.428,
      "final": 0.1523,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.924,
      "final": 0.3287,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.341,
      "final": 0.1213,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 0.736,
      "final": 0.2618,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.111,
      "final": 0.0395,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.9917,
      "final": 3.9917,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.3115,
      "final": 1.3115,
      "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
PitcherShawn Armstrong
RoleMiddle Reliever
Projection Source-
Savant Quality Score-0.2214
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.0212
Avg Velo90.0619
Avg Spin2319.6785
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO0
Season ERA1.6875
Season WHIP1.2188
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "CLE",
    "games": 58,
    "wins": 33,
    "losses": 25,
    "win_pct": 0.569,
    "runs_scored": 271.0,
    "runs_allowed": 246.0,
    "run_differential": 25.0,
    "run_differential_per_game": 0.431,
    "avg_runs_scored": 4.6724,
    "avg_runs_allowed": 4.2414,
    "offense_index": 1.0433,
    "defense_index": 1.0559,
    "current_streak": "W5",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 5.6,
      "avg_runs_allowed": 3.2,
      "run_differential": 24.0
    },
    "available": true,
    "quality_score": 0.2166
  },
  "opponent": {
    "team": "DET",
    "games": 55,
    "wins": 22,
    "losses": 33,
    "win_pct": 0.4,
    "runs_scored": 219.0,
    "runs_allowed": 238.0,
    "run_differential": -19.0,
    "run_differential_per_game": -0.3455,
    "avg_runs_scored": 3.9818,
    "avg_runs_allowed": 4.3273,
    "offense_index": 0.8891,
    "defense_index": 1.035,
    "current_streak": "L5",
    "recent": {
      "games": 10,
      "wins": 2,
      "losses": 8,
      "win_pct": 0.2,
      "avg_runs_scored": 2.6,
      "avg_runs_allowed": 4.8,
      "run_differential": -22.0
    },
    "available": true,
    "quality_score": -0.2324
  },
  "edges": {
    "quality_edge": 0.449,
    "offense_edge": 0.0433,
    "opponent_offense_edge": -0.1109,
    "defense_strength": 0.0559,
    "opponent_defense_weakness": -0.035,
    "recent_win_pct_edge": 0.6
  },
  "player_factors": {
    "ip": 1.0241,
    "run_prevention": 0.9542,
    "strikeout": 1.0223
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "542888",
    "profile": {
      "available": true,
      "pitcher_id": "542888",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 44.0,
        "k_percent": 27.7,
        "bb_percent": 14.9,
        "woba": 0.34,
        "xwoba": 0.343,
        "sweet_spot_percent": 34.6,
        "barrel_batted_rate": 11.5,
        "hard_hit_percent": 50.0,
        "avg_best_speed": 80.7026,
        "avg_hyper_speed": 94.9691,
        "whiff_percent": 26.5,
        "swing_percent": 41.5
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": -0.9064,
        "command_and_miss": 0.0864,
        "regression_edge": -0.0857,
        "xwoba_edge": -0.8857,
        "barrel_edge": -0.9556,
        "hard_hit_edge": -1.6143,
        "whiff_edge": 0.1143,
        "bb_edge": -1.375,
        "pitch_design_score": 0.0212
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "542888",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 17,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 17,
          "pitch_usage": 0.0,
          "release_speed": 90.06185027638038,
          "release_spin_rate": 2319.6785296323874,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 17,
            "pitch_usage": 0.0,
            "release_speed": 90.06185027638038,
            "release_spin_rate": 2319.6785296323874,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.0619,
          "release_spin_rate": 2319.6785,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.0212,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.1513,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.2214,
      "sample_weight": 0.45,
      "run_prevention_factor": 1.0188,
      "strikeout_factor": 1.0149,
      "walk_factor": 1.0495,
      "homer_factor": 1.0754,
      "woba_minus_xwoba": -0.003,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "542888",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 1.0085,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 1.0085,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0223,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0339,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0067,
        "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": 1,
    "H": 7,
    "BB": 4,
    "SO": 10,
    "HR": 1,
    "ERA": 1.0384615384615385,
    "WHIP": 1.2692307692307694,
    "K9": 10.384615384615385,
    "HR9": 1.0384615384615385,
    "games_pitched": 9,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-04-21T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "542888",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 17,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 17,
    "pitch_usage": 0.0,
    "release_speed": 90.06185027638038,
    "release_spin_rate": 2319.6785296323874,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 17,
      "pitch_usage": 0.0,
      "release_speed": 90.06185027638038,
      "release_spin_rate": 2319.6785296323874,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.0619,
    "release_spin_rate": 2319.6785,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.0212,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.1513,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 2.113,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.2971,
    "prior_weight": 0.7029
  },
  "role": "pitcher",
  "player_id": "542888",
  "report_date": "20260521_C",
  "season_year": 2026,
  "rows_used": 11,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 2.0,
        "BB": 3.0,
        "SO": 6.0,
        "HR": 0.0,
        "BF": 20.0,
        "Pitches": 85.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.4,
        "BB": 0.6,
        "SO": 1.2,
        "HR": 0.0,
        "BF": 4.0,
        "Pitches": 17.0
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 1.0,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.4,
        "BB_per_IP": 0.6,
        "SO_per_IP": 1.2,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.0,
        "ER": 1.0,
        "R": 1.0,
        "H": 7.0,
        "BB": 5.0,
        "SO": 11.0,
        "HR": 1.0,
        "BF": 41.0,
        "Pitches": 177.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.1,
        "R": 0.1,
        "H": 0.7,
        "BB": 0.5,
        "SO": 1.1,
        "HR": 0.1,
        "BF": 4.1,
        "Pitches": 17.7
      },
      "rates": {
        "ERA": 0.9,
        "WHIP": 1.2,
        "ER_per_IP": 0.1,
        "H_per_IP": 0.7,
        "BB_per_IP": 0.5,
        "SO_per_IP": 1.1,
        "HR_per_IP": 0.1
      }
    },
    "season": {
      "games": 11,
      "totals": {
        "IP": 10.2,
        "ER": 2.0,
        "R": 2.0,
        "H": 8.0,
        "BB": 5.0,
        "SO": 13.0,
        "HR": 2.0,
        "BF": 44.0,
        "Pitches": 187.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.1818,
        "R": 0.1818,
        "H": 0.7273,
        "BB": 0.4545,
        "SO": 1.1818,
        "HR": 0.1818,
        "BF": 4.0,
        "Pitches": 17.0
      },
      "rates": {
        "ERA": 1.6875,
        "WHIP": 1.2188,
        "ER_per_IP": 0.1875,
        "H_per_IP": 0.75,
        "BB_per_IP": 0.46875,
        "SO_per_IP": 1.21875,
        "HR_per_IP": 0.1875
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.353,
    "predicted_H": 0.832,
    "predicted_BB": 0.424,
    "predicted_SO": 1.016,
    "predicted_HR": 0.113,
    "predicted_ERA": 3.1733,
    "predicted_WHIP": 1.2569
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.647,
  "form_weight": 0.353,
  "form_reliability": 0.2971,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 2.113,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.2971,
    "prior_weight": 0.7029
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.353,
      "final": 0.1246,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.832,
      "final": 0.2937,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.424,
      "final": 0.1497,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 1.016,
      "final": 0.3587,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.113,
      "final": 0.0399,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.1733,
      "final": 3.1733,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2569,
      "final": 1.2569,
      "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
Projection Source-
Savant Quality Score0.3332
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.0198
Avg Velo90.0377
Avg Spin2567.8816
HB Inches0
IVB Inches0
Release Extension0
Pre IP0.2000
Pre ER0
Pre H0
Pre BB0
Pre SO0
Season ERA1.7143
Season WHIP0.9524
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "CLE",
    "games": 58,
    "wins": 33,
    "losses": 25,
    "win_pct": 0.569,
    "runs_scored": 271.0,
    "runs_allowed": 246.0,
    "run_differential": 25.0,
    "run_differential_per_game": 0.431,
    "avg_runs_scored": 4.6724,
    "avg_runs_allowed": 4.2414,
    "offense_index": 1.0433,
    "defense_index": 1.0559,
    "current_streak": "W5",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 5.6,
      "avg_runs_allowed": 3.2,
      "run_differential": 24.0
    },
    "available": true,
    "quality_score": 0.2166
  },
  "opponent": {
    "team": "DET",
    "games": 55,
    "wins": 22,
    "losses": 33,
    "win_pct": 0.4,
    "runs_scored": 219.0,
    "runs_allowed": 238.0,
    "run_differential": -19.0,
    "run_differential_per_game": -0.3455,
    "avg_runs_scored": 3.9818,
    "avg_runs_allowed": 4.3273,
    "offense_index": 0.8891,
    "defense_index": 1.035,
    "current_streak": "L5",
    "recent": {
      "games": 10,
      "wins": 2,
      "losses": 8,
      "win_pct": 0.2,
      "avg_runs_scored": 2.6,
      "avg_runs_allowed": 4.8,
      "run_differential": -22.0
    },
    "available": true,
    "quality_score": -0.2324
  },
  "edges": {
    "quality_edge": 0.449,
    "offense_edge": 0.0433,
    "opponent_offense_edge": -0.1109,
    "defense_strength": 0.0559,
    "opponent_defense_weakness": -0.035,
    "recent_win_pct_edge": 0.6
  },
  "player_factors": {
    "ip": 1.0241,
    "run_prevention": 0.9542,
    "strikeout": 1.0223
  },
  "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": 80.0,
        "k_percent": 47.5,
        "bb_percent": 13.8,
        "woba": 0.2,
        "xwoba": 0.241,
        "sweet_spot_percent": 58.1,
        "barrel_batted_rate": 9.7,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 87.0151,
        "avg_hyper_speed": 94.7027,
        "whiff_percent": 36.4,
        "swing_percent": 47.1
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": 0.8599,
        "command_and_miss": 1.44,
        "regression_edge": -1.1714,
        "xwoba_edge": 2.0286,
        "barrel_edge": -0.5556,
        "hard_hit_edge": 0.0,
        "whiff_edge": 1.5286,
        "bb_edge": -1.1,
        "pitch_design_score": 0.0198
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "681870",
        "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": 90.03769975220116,
          "release_spin_rate": 2567.8815711983943,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 90.03769975220116,
            "release_spin_rate": 2567.8815711983943,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.0377,
          "release_spin_rate": 2567.8816,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.0198,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.1417,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.3332,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9717,
      "strikeout_factor": 1.0725,
      "walk_factor": 1.0396,
      "homer_factor": 0.9926,
      "woba_minus_xwoba": -0.041,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "681870",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9873,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9873,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0178,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9967,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0326,
        "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": 0,
    "BB": 7,
    "SO": 18,
    "HR": 0,
    "ERA": 0.0,
    "WHIP": 0.9130434782608696,
    "K9": 21.1304347826087,
    "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-05-20T00: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": 15,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 15,
    "pitch_usage": 0.0,
    "release_speed": 90.03769975220116,
    "release_spin_rate": 2567.8815711983943,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 90.03769975220116,
      "release_spin_rate": 2567.8815711983943,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.0377,
    "release_spin_rate": 2567.8816,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.0198,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.1417,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.16,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4542,
    "prior_weight": 0.5458
  },
  "role": "pitcher",
  "player_id": "681870",
  "report_date": "20260521_C",
  "season_year": 2026,
  "rows_used": 25,
  "reference_playing_time": 0.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 3.2,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.0,
        "BB": 6.0,
        "SO": 10.0,
        "HR": 0.0,
        "BF": 17.0,
        "Pitches": 78.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.0,
        "BB": 1.2,
        "SO": 2.0,
        "HR": 0.0,
        "BF": 3.4,
        "Pitches": 15.6
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 1.6364,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.0,
        "BB_per_IP": 1.63636,
        "SO_per_IP": 2.72727,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 7.2,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.0,
        "BB": 7.0,
        "SO": 18.0,
        "HR": 0.0,
        "BF": 30.0,
        "Pitches": 131.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.0,
        "BB": 0.7,
        "SO": 1.8,
        "HR": 0.0,
        "BF": 3.0,
        "Pitches": 13.1
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.913,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.0,
        "BB_per_IP": 0.91304,
        "SO_per_IP": 2.34783,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 25,
      "totals": {
        "IP": 21.0,
        "ER": 4.0,
        "R": 4.0,
        "H": 7.0,
        "BB": 13.0,
        "SO": 39.0,
        "HR": 1.0,
        "BF": 83.0,
        "Pitches": 363.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.16,
        "R": 0.16,
        "H": 0.28,
        "BB": 0.52,
        "SO": 1.56,
        "HR": 0.04,
        "BF": 3.32,
        "Pitches": 14.52
      },
      "rates": {
        "ERA": 1.7143,
        "WHIP": 0.9524,
        "ER_per_IP": 0.19048,
        "H_per_IP": 0.33333,
        "BB_per_IP": 0.61905,
        "SO_per_IP": 1.85714,
        "HR_per_IP": 0.04762
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 0.2,
    "predicted_ER": 0.191,
    "predicted_H": 0.379,
    "predicted_BB": 0.517,
    "predicted_SO": 1.128,
    "predicted_HR": 0.053,
    "predicted_ERA": 2.4693,
    "predicted_WHIP": 1.2852
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5806,
  "form_weight": 0.4194,
  "form_reliability": 0.4542,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.16,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4542,
    "prior_weight": 0.5458
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.2,
      "form": 0.2,
      "final": 0.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.191,
      "final": 0.0801,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.379,
      "final": 0.159,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.517,
      "final": 0.2168,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 1.128,
      "final": 0.4731,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.053,
      "final": 0.0222,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.4693,
      "final": 2.4693,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2852,
      "final": 1.2852,
      "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."
}
Daniel Schneemann (682177) · BATTER · 3B · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 143
All-history rows before 20260521: 143
System season_avg: 0.2450
Data season_avg (2026 season-to-date): 0.2450
Diff (system - data): 0.0000
System opponent_avg: 0.1490

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2181.0000.000Hitting_2B0.2170.0000.7831.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.5805.0007.000Hitting_AB3.4835.0001.5170.000
predicted_AVG0.2230.4000.286Hitting_AVG0.2450.2000.1550.200
predicted_BB0.4370.0001.000Hitting_BB0.4340.000-0.4340.000
predicted_CS-0.0000.000BaseRunning_CS0.0490.000-0.0490.000
predicted_H0.8002.0002.000Hitting_H0.8531.0001.1471.000
predicted_HR0.0900.0000.000Hitting_HR0.1190.000-0.1190.000
predicted_OBP0.2810.4000.375Hitting_OBP0.3290.2000.0710.200
predicted_R0.4231.0001.000Hitting_R0.4201.0000.5800.000
predicted_RBI0.4101.0001.000Hitting_RBI0.5100.0000.4901.000
predicted_SLG0.3390.6000.286Hitting_SLG0.4100.2000.1900.400
predicted_SO1.1342.0002.000Hitting_SO1.1261.0000.8741.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics10
Boosted Metrics8
Deboosted Metrics2
Better Metrics7
Worse Metrics3
Biggest Boostpredicted_AB: 3.5800 -> 5.0000 (boost 1.4200, better)
Biggest Deboostpredicted_BB: 0.4370 -> 0.0000 (deboost -0.4370, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend99081predicted_AB: 3.5800 -> 7.2269 (boost 3.6469, 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_snapshot66060predicted_RBI: 0.8699 -> 0.9296 (boost 0.0597, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling73443predicted_H: 1.6174 -> 2.0000 (boost 0.3826, better)predicted_2B: 0.3925 -> 0.0000 (deboost -0.3925, worse)AB rounded to 7 (raw=7.23), rates preserved: AVG=0.224 HR/AB=0.028
5bvp_blend00000--Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125)
6consistency_constraints11010predicted_R: 0.8561 -> 1.0000 (boost 0.1439, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context32121predicted_OBP: 0.3005 -> 0.3750 (boost 0.0745, better)predicted_SLG: 0.3634 -> 0.2860 (deboost -0.0774, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference31212predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 7.0000 -> 5.0000 (deboost -2.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final31212predicted_SLG: 0.2860 -> 0.3634 (boost 0.0774, better)predicted_OBP: 0.3750 -> 0.3005 (deboost -0.0745, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "682177",
  "player_name": "Daniel Schneemann",
  "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.218,
        "predicted_3B": 0.0,
        "predicted_AB": 3.58,
        "predicted_AVG": 0.223,
        "predicted_BB": 0.437,
        "predicted_H": 0.8,
        "predicted_HR": 0.09,
        "predicted_OBP": 0.281,
        "predicted_R": 0.423,
        "predicted_RBI": 0.41,
        "predicted_SLG": 0.339,
        "predicted_SO": 1.134
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.3925,
        "predicted_3B": 0.0009,
        "predicted_AB": 7.2269,
        "predicted_AVG": 0.2185,
        "predicted_BB": 0.7803,
        "predicted_H": 1.5589,
        "predicted_HBP": 0.005,
        "predicted_HR": 0.2001,
        "predicted_OBP": 0.2815,
        "predicted_R": 0.8011,
        "predicted_RBI": 0.8699,
        "predicted_SLG": 0.3442,
        "predicted_SO": 2.1514
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.218,
          "after": 0.3925,
          "delta": 0.1745,
          "percent_delta": 0.8005,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.58,
          "after": 7.2269,
          "delta": 3.6469,
          "percent_delta": 1.0187,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.223,
          "after": 0.2185,
          "delta": -0.0045,
          "percent_delta": -0.0202,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.437,
          "after": 0.7803,
          "delta": 0.3433,
          "percent_delta": 0.7856,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8,
          "after": 1.5589,
          "delta": 0.7589,
          "percent_delta": 0.9486,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.09,
          "after": 0.2001,
          "delta": 0.1101,
          "percent_delta": 1.2233,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.281,
          "after": 0.2815,
          "delta": 0.0005,
          "percent_delta": 0.0018,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.423,
          "after": 0.8011,
          "delta": 0.3781,
          "percent_delta": 0.8939,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.41,
          "after": 0.8699,
          "delta": 0.4599,
          "percent_delta": 1.1217,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.339,
          "after": 0.3442,
          "delta": 0.0052,
          "percent_delta": 0.0153,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.134,
          "after": 2.1514,
          "delta": 1.0174,
          "percent_delta": 0.8972,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 9,
        "deboosted_metrics": 0,
        "better_metrics": 8,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.58,
          "after": 7.2269,
          "delta": 3.6469,
          "percent_delta": 1.0187,
          "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": 2,
        "last_10": 3,
        "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.3925,
        "predicted_3B": 0.0009,
        "predicted_AB": 7.2269,
        "predicted_AVG": 0.2238,
        "predicted_BB": 0.7922,
        "predicted_H": 1.6174,
        "predicted_HBP": 0.005,
        "predicted_HR": 0.2049,
        "predicted_OBP": 0.3005,
        "predicted_R": 0.8561,
        "predicted_RBI": 0.9296,
        "predicted_SLG": 0.3634,
        "predicted_SO": 2.1187
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.3925,
          "after": 0.3925,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.2269,
          "after": 7.2269,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2185,
          "after": 0.2238,
          "delta": 0.0053,
          "percent_delta": 0.0243,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.7803,
          "after": 0.7922,
          "delta": 0.0119,
          "percent_delta": 0.0153,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.5589,
          "after": 1.6174,
          "delta": 0.0585,
          "percent_delta": 0.0375,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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.2001,
          "after": 0.2049,
          "delta": 0.0048,
          "percent_delta": 0.024,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2815,
          "after": 0.3005,
          "delta": 0.019,
          "percent_delta": 0.0675,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.8011,
          "after": 0.8561,
          "delta": 0.055,
          "percent_delta": 0.0687,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.8699,
          "after": 0.9296,
          "delta": 0.0597,
          "percent_delta": 0.0686,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3442,
          "after": 0.3634,
          "delta": 0.0192,
          "percent_delta": 0.0558,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.1514,
          "after": 2.1187,
          "delta": -0.0327,
          "percent_delta": -0.0152,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 6,
        "deboosted_metrics": 0,
        "better_metrics": 6,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.8699,
          "after": 0.9296,
          "delta": 0.0597,
          "percent_delta": 0.0686,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 7 (raw=7.23), rates preserved: AVG=0.224 HR/AB=0.028",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.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.3925,
          "after": 0.0,
          "delta": -0.3925,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.2269,
          "after": 7.0,
          "delta": -0.2269,
          "percent_delta": -0.0314,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.7922,
          "after": 1.0,
          "delta": 0.2078,
          "percent_delta": 0.2623,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.6174,
          "after": 2.0,
          "delta": 0.3826,
          "percent_delta": 0.2366,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.005,
          "after": 0.0,
          "delta": -0.005,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2049,
          "after": 0.0,
          "delta": -0.2049,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.9296,
          "after": 1.0,
          "delta": 0.0704,
          "percent_delta": 0.0757,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.1187,
          "after": 2.0,
          "delta": -0.1187,
          "percent_delta": -0.056,
          "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_H",
          "before": 1.6174,
          "after": 2.0,
          "delta": 0.3826,
          "percent_delta": 0.2366,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.3925,
          "after": 0.0,
          "delta": -0.3925,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.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": 7.0,
          "after": 7.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": 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_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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9158,
        "bvp": 0.0842
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.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": 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": 7.0,
          "after": 7.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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.8561,
          "after": 1.0,
          "delta": 0.1439,
          "percent_delta": 0.1681,
          "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.8561,
          "after": 1.0,
          "delta": 0.1439,
          "percent_delta": 0.1681,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.0,
        "predicted_AVG": 0.286,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.375,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.286,
        "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": 7.0,
          "after": 7.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2238,
          "after": 0.286,
          "delta": 0.0622,
          "percent_delta": 0.2779,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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.3005,
          "after": 0.375,
          "delta": 0.0745,
          "percent_delta": 0.2479,
          "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.3634,
          "after": 0.286,
          "delta": -0.0774,
          "percent_delta": -0.213,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.3005,
          "after": 0.375,
          "delta": 0.0745,
          "percent_delta": 0.2479,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3634,
          "after": 0.286,
          "delta": -0.0774,
          "percent_delta": -0.213,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.0,
          "after": 5.0,
          "delta": -2.0,
          "percent_delta": -0.2857,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_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": 7.0,
          "after": 5.0,
          "delta": -2.0,
          "percent_delta": -0.2857,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.2238,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3005,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3634,
        "predicted_SO": 2.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.286,
          "after": 0.2238,
          "delta": -0.0622,
          "percent_delta": -0.2175,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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.375,
          "after": 0.3005,
          "delta": -0.0745,
          "percent_delta": -0.1987,
          "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.286,
          "after": 0.3634,
          "delta": 0.0774,
          "percent_delta": 0.2707,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.286,
          "after": 0.3634,
          "delta": 0.0774,
          "percent_delta": 0.2707,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.375,
          "after": 0.3005,
          "delta": -0.0745,
          "percent_delta": -0.1987,
          "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.218,
        "after": 1.0,
        "delta": 0.782,
        "percent_delta": 3.5872,
        "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.58,
        "after": 5.0,
        "delta": 1.42,
        "percent_delta": 0.3966,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.223,
        "after": 0.2238,
        "delta": 0.0008,
        "percent_delta": 0.0036,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.437,
        "after": 0.0,
        "delta": -0.437,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.8,
        "after": 2.0,
        "delta": 1.2,
        "percent_delta": 1.5,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.09,
        "after": 0.0,
        "delta": -0.09,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.281,
        "after": 0.3005,
        "delta": 0.0195,
        "percent_delta": 0.0694,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.423,
        "after": 1.0,
        "delta": 0.577,
        "percent_delta": 1.3641,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.41,
        "after": 1.0,
        "delta": 0.59,
        "percent_delta": 1.439,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.339,
        "after": 0.3634,
        "delta": 0.0244,
        "percent_delta": 0.072,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.134,
        "after": 2.0,
        "delta": 0.866,
        "percent_delta": 0.7637,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 8,
      "deboosted_metrics": 2,
      "better_metrics": 7,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.58,
        "after": 5.0,
        "delta": 1.42,
        "percent_delta": 0.3966,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.437,
        "after": 0.0,
        "delta": -0.437,
        "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.218-
predicted_3B0.000-
predicted_AB3.580-
predicted_AVG0.223-
predicted_BB0.437-
predicted_H0.800-
predicted_HR0.090-
predicted_OBP0.281-
predicted_R0.423-
predicted_RBI0.410-
predicted_SLG0.339-
predicted_SO1.134-
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.3930.175
predicted_3B0.0010.001
predicted_AB7.2273.647
predicted_AVG0.218-0.005
predicted_BB0.7800.343
predicted_H1.5590.759
predicted_HBP0.005-
predicted_HR0.2000.110
predicted_OBP0.2810.000
predicted_R0.8010.378
predicted_RBI0.8700.460
predicted_SLG0.3440.005
predicted_SO2.1511.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.3930.000
predicted_3B0.0010.000
predicted_AB7.2270.000
predicted_AVG0.2240.005
predicted_BB0.7920.012
predicted_H1.6170.058
predicted_HBP0.0050.000
predicted_HR0.2050.005
predicted_OBP0.3000.019
predicted_R0.8560.055
predicted_RBI0.9300.060
predicted_SLG0.3630.019
predicted_SO2.119-0.033
4. ab_floor_and_scaling

AB rounded to 7 (raw=7.23), rates preserved: AVG=0.224 HR/AB=0.028

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB7.000-
BB1.000-
H2.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO2.000-
5. 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
AB7.0000.000
BB1.0000.000
H2.0000.000
HR0.0000.000
RBI1.0000.000
SO2.0000.000
6. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB7.0000.000
BB1.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
7. 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.393
predicted_3B0.000-0.001
predicted_AB7.000-0.227
predicted_AVG0.2860.062
predicted_BB1.0000.208
predicted_H2.0000.383
predicted_HR0.000-0.205
predicted_OBP0.3750.075
predicted_R1.0000.144
predicted_RBI1.0000.070
predicted_SLG0.286-0.077
predicted_SO2.000-0.119
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB5.000-2.000
BB0.000-1.000
CS0.0000.000
H2.0000.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R1.0000.000
RBI1.0000.000
SB0.0000.000
SF0.0000.000
SO2.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 142
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-21.0001.0000.0000.0000.0000.0001.0000.0001.0000.04760.04760.04760.04760.00000.00000.00000.0476
last_100.203-46.0001.0000.0000.0000.0000.0001.0000.00016.0000.02170.02170.02170.02170.00000.00000.00000.3478
season0.6040-498.000122.00031.0000.00017.00073.00060.00062.000161.0000.24500.32860.40960.24500.03410.14660.12450.3233
Weighted Prediction From Real Data
MetricValue
predicted_2B0.6190
predicted_3B0.0020
predicted_AB11.9610
predicted_AVG0.2127
predicted_BB1.2260
predicted_H2.5440
predicted_HBP0.0050
predicted_HR0.3430
predicted_OBP0.2821
predicted_R1.2920
predicted_RBI1.4670
predicted_SLG0.3509
predicted_SO3.4720
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.21800.61900.3925model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB3.580011.96107.2269model_form_blend
predicted_AVG0.22300.21270.2185model_form_blend
predicted_BB0.43701.22600.7803model_form_blend
predicted_H0.80002.54401.5589model_form_blend
predicted_HBP-0.00500.0050form_only
predicted_HR0.09000.34300.2001model_form_blend
predicted_OBP0.28100.28210.2815model_form_blend
predicted_R0.42301.29200.8011model_form_blend
predicted_RBI0.41001.46700.8699model_form_blend
predicted_SLG0.33900.35090.3442model_form_blend
predicted_SO1.13403.47202.1514model_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 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
PA5
AB5
H2
2B1
3B0
HR0
R1
RBI1
BB0
SO2
SF0
HBP0
season_avg0.245

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_SO1
Hitting_TB1
Hitting_battingOrder5
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed2B-CF
gameID20260520_CLE@DET
game_typefull
mlbID682177
playerID682177
playerNameDaniel Schneemann
posCF
startedTrue
startingPosition2B
teamCLE
teamID8
game_date2026-05-20
sl_k_percent29.1
sl_bb_percent10.6
sl_woba0.328
sl_xwoba0.327
sl_xba0.247
sl_xslg0.414
sl_sweet_spot_percent42.4
sl_barrel_batted_rate8.2
sl_hard_hit_percent38.1
sl_exit_velocity_avg88.9
sl_launch_angle_avg13.5
sl_whiff_percent32.1
sl_swing_percent46.5
Rhys Hoskins (656555) · BATTER · 1B · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 135
All-history rows before 20260521: 135
System season_avg: 0.2070
Data season_avg (2026 season-to-date): 0.2069
Diff (system - data): 0.0001
System opponent_avg: 0.2610

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2271.0001.000Hitting_2B0.2220.0000.7781.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.0765.0006.000Hitting_AB3.0073.0001.9932.000
predicted_AVG0.2320.2000.167Hitting_AVG0.2070.333-0.007-0.133
predicted_BB0.7650.0001.000Hitting_BB0.7630.000-0.7630.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.6601.0001.000Hitting_H0.6221.0000.3780.000
predicted_HR0.1300.0000.000Hitting_HR0.1330.000-0.1330.000
predicted_OBP0.3420.2000.286Hitting_OBP0.3620.333-0.162-0.133
predicted_R0.5980.0001.000Hitting_R0.5850.000-0.5850.000
predicted_RBI0.4800.0001.000Hitting_RBI0.5480.000-0.5480.000
predicted_SLG0.3950.4000.333Hitting_SLG0.4140.333-0.0140.067
predicted_SO1.0232.0002.000Hitting_SO1.0001.0001.0001.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics6
Deboosted Metrics5
Better Metrics5
Worse Metrics6
Biggest Boostpredicted_AB: 3.0760 -> 5.0000 (boost 1.9240, better)
Biggest Deboostpredicted_BB: 0.7650 -> 0.0000 (deboost -0.7650, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend109182predicted_AB: 3.0760 -> 6.3903 (boost 3.3143, better)predicted_AVG: 0.2320 -> 0.2265 (deboost -0.0055, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot55050predicted_RBI: 1.2671 -> 1.3540 (boost 0.0869, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling71616predicted_2B: 0.5496 -> 1.0000 (boost 0.4504, better)predicted_H: 1.4455 -> 1.0000 (deboost -0.4455, worse)AB rounded to 6 (raw=6.39), rates preserved: AVG=0.226 HR/AB=0.044
5consistency_constraints10101-predicted_R: 1.2180 -> 1.0000 (deboost -0.2180, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context30303-predicted_SLG: 0.4435 -> 0.3330 (deboost -0.1105, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference40404-predicted_AB: 6.0000 -> 5.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final33030predicted_SLG: 0.3330 -> 0.4435 (boost 0.1105, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "656555",
  "player_name": "Rhys Hoskins",
  "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.227,
        "predicted_3B": 0.0,
        "predicted_AB": 3.076,
        "predicted_AVG": 0.232,
        "predicted_BB": 0.765,
        "predicted_H": 0.66,
        "predicted_HR": 0.13,
        "predicted_OBP": 0.342,
        "predicted_R": 0.598,
        "predicted_RBI": 0.48,
        "predicted_SLG": 0.395,
        "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.5496,
        "predicted_3B": 0.0009,
        "predicted_AB": 6.3903,
        "predicted_AVG": 0.2265,
        "predicted_BB": 1.4201,
        "predicted_H": 1.3933,
        "predicted_HBP": 0.088,
        "predicted_HR": 0.2724,
        "predicted_OBP": 0.3449,
        "predicted_R": 1.1398,
        "predicted_RBI": 1.2671,
        "predicted_SLG": 0.4139,
        "predicted_SO": 2.0515
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.227,
          "after": 0.5496,
          "delta": 0.3226,
          "percent_delta": 1.4211,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.076,
          "after": 6.3903,
          "delta": 3.3143,
          "percent_delta": 1.0775,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.232,
          "after": 0.2265,
          "delta": -0.0055,
          "percent_delta": -0.0237,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.765,
          "after": 1.4201,
          "delta": 0.6551,
          "percent_delta": 0.8563,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.66,
          "after": 1.3933,
          "delta": 0.7333,
          "percent_delta": 1.1111,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.13,
          "after": 0.2724,
          "delta": 0.1424,
          "percent_delta": 1.0954,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.342,
          "after": 0.3449,
          "delta": 0.0029,
          "percent_delta": 0.0085,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.598,
          "after": 1.1398,
          "delta": 0.5418,
          "percent_delta": 0.906,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.48,
          "after": 1.2671,
          "delta": 0.7871,
          "percent_delta": 1.6398,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.395,
          "after": 0.4139,
          "delta": 0.0189,
          "percent_delta": 0.0478,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.023,
          "after": 2.0515,
          "delta": 1.0285,
          "percent_delta": 1.0054,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 10,
        "boosted_metrics": 9,
        "deboosted_metrics": 1,
        "better_metrics": 8,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.076,
          "after": 6.3903,
          "delta": 3.3143,
          "percent_delta": 1.0775,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.232,
          "after": 0.2265,
          "delta": -0.0055,
          "percent_delta": -0.0237,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 2,
        "last_10": 3,
        "season": 36
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.5496,
        "predicted_3B": 0.0009,
        "predicted_AB": 6.3903,
        "predicted_AVG": 0.2262,
        "predicted_BB": 1.4417,
        "predicted_H": 1.4455,
        "predicted_HBP": 0.088,
        "predicted_HR": 0.279,
        "predicted_OBP": 0.3686,
        "predicted_R": 1.218,
        "predicted_RBI": 1.354,
        "predicted_SLG": 0.4435,
        "predicted_SO": 2.0203
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.5496,
          "after": 0.5496,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.3903,
          "after": 6.3903,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2265,
          "after": 0.2262,
          "delta": -0.0003,
          "percent_delta": -0.0013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.4201,
          "after": 1.4417,
          "delta": 0.0216,
          "percent_delta": 0.0152,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.3933,
          "after": 1.4455,
          "delta": 0.0522,
          "percent_delta": 0.0375,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.088,
          "after": 0.088,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2724,
          "after": 0.279,
          "delta": 0.0066,
          "percent_delta": 0.0242,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3449,
          "after": 0.3686,
          "delta": 0.0237,
          "percent_delta": 0.0687,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.1398,
          "after": 1.218,
          "delta": 0.0782,
          "percent_delta": 0.0686,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.2671,
          "after": 1.354,
          "delta": 0.0869,
          "percent_delta": 0.0686,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4139,
          "after": 0.4435,
          "delta": 0.0296,
          "percent_delta": 0.0715,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0515,
          "after": 2.0203,
          "delta": -0.0312,
          "percent_delta": -0.0152,
          "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_RBI",
          "before": 1.2671,
          "after": 1.354,
          "delta": 0.0869,
          "percent_delta": 0.0686,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 6 (raw=6.39), rates preserved: AVG=0.226 HR/AB=0.044",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.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.5496,
          "after": 1.0,
          "delta": 0.4504,
          "percent_delta": 0.8195,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.3903,
          "after": 6.0,
          "delta": -0.3903,
          "percent_delta": -0.0611,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.4417,
          "after": 1.0,
          "delta": -0.4417,
          "percent_delta": -0.3064,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.4455,
          "after": 1.0,
          "delta": -0.4455,
          "percent_delta": -0.3082,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.088,
          "after": 0.0,
          "delta": -0.088,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.279,
          "after": 0.0,
          "delta": -0.279,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.354,
          "after": 1.0,
          "delta": -0.354,
          "percent_delta": -0.2614,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0203,
          "after": 2.0,
          "delta": -0.0203,
          "percent_delta": -0.01,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 1,
        "deboosted_metrics": 6,
        "better_metrics": 1,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.5496,
          "after": 1.0,
          "delta": 0.4504,
          "percent_delta": 0.8195,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.4455,
          "after": 1.0,
          "delta": -0.4455,
          "percent_delta": -0.3082,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.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": 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": 6.0,
          "after": 6.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": 1.218,
          "after": 1.0,
          "delta": -0.218,
          "percent_delta": -0.179,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.218,
          "after": 1.0,
          "delta": -0.218,
          "percent_delta": -0.179,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_AVG": 0.167,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.286,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.333,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2262,
          "after": 0.167,
          "delta": -0.0592,
          "percent_delta": -0.2617,
          "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.3686,
          "after": 0.286,
          "delta": -0.0826,
          "percent_delta": -0.2241,
          "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.4435,
          "after": 0.333,
          "delta": -0.1105,
          "percent_delta": -0.2492,
          "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.4435,
          "after": 0.333,
          "delta": -0.1105,
          "percent_delta": -0.2492,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 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": 6.0,
          "after": 5.0,
          "delta": -1.0,
          "percent_delta": -0.1667,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 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": 2.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_AB",
          "before": 6.0,
          "after": 5.0,
          "delta": -1.0,
          "percent_delta": -0.1667,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.2262,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_FB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3686,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4435,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.167,
          "after": 0.2262,
          "delta": 0.0592,
          "percent_delta": 0.3545,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.286,
          "after": 0.3686,
          "delta": 0.0826,
          "percent_delta": 0.289,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.333,
          "after": 0.4435,
          "delta": 0.1105,
          "percent_delta": 0.3317,
          "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.333,
          "after": 0.4435,
          "delta": 0.1105,
          "percent_delta": 0.3317,
          "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.227,
        "after": 1.0,
        "delta": 0.773,
        "percent_delta": 3.4053,
        "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.076,
        "after": 5.0,
        "delta": 1.924,
        "percent_delta": 0.6255,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.232,
        "after": 0.2262,
        "delta": -0.0058,
        "percent_delta": -0.025,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.765,
        "after": 0.0,
        "delta": -0.765,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.66,
        "after": 1.0,
        "delta": 0.34,
        "percent_delta": 0.5152,
        "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.342,
        "after": 0.3686,
        "delta": 0.0266,
        "percent_delta": 0.0778,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.598,
        "after": 0.0,
        "delta": -0.598,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.48,
        "after": 0.0,
        "delta": -0.48,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.395,
        "after": 0.4435,
        "delta": 0.0485,
        "percent_delta": 0.1228,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.023,
        "after": 2.0,
        "delta": 0.977,
        "percent_delta": 0.955,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 6,
      "deboosted_metrics": 5,
      "better_metrics": 5,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.076,
        "after": 5.0,
        "delta": 1.924,
        "percent_delta": 0.6255,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.765,
        "after": 0.0,
        "delta": -0.765,
        "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.227-
predicted_3B0.000-
predicted_AB3.076-
predicted_AVG0.232-
predicted_BB0.765-
predicted_H0.660-
predicted_HR0.130-
predicted_OBP0.342-
predicted_R0.598-
predicted_RBI0.480-
predicted_SLG0.395-
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.5500.323
predicted_3B0.0010.001
predicted_AB6.3903.314
predicted_AVG0.227-0.006
predicted_BB1.4200.655
predicted_H1.3930.733
predicted_HBP0.088-
predicted_HR0.2720.142
predicted_OBP0.3450.003
predicted_R1.1400.542
predicted_RBI1.2670.787
predicted_SLG0.4140.019
predicted_SO2.0511.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.5500.000
predicted_3B0.0010.000
predicted_AB6.3900.000
predicted_AVG0.226-0.000
predicted_BB1.4420.022
predicted_H1.4460.052
predicted_HBP0.0880.000
predicted_HR0.2790.007
predicted_OBP0.3690.024
predicted_R1.2180.078
predicted_RBI1.3540.087
predicted_SLG0.4440.030
predicted_SO2.020-0.031
4. ab_floor_and_scaling

AB rounded to 6 (raw=6.39), rates preserved: AVG=0.226 HR/AB=0.044

MetricValueDelta vs Prev Step
2B1.000-
3B0.000-
AB6.000-
BB1.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO2.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB6.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
6. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B1.0000.450
predicted_3B0.000-0.001
predicted_AB6.000-0.390
predicted_AVG0.167-0.059
predicted_BB1.000-0.442
predicted_H1.000-0.446
predicted_HR0.000-0.279
predicted_OBP0.286-0.083
predicted_R1.000-0.218
predicted_RBI1.000-0.354
predicted_SLG0.333-0.110
predicted_SO2.000-0.020
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB5.000-1.000
BB0.000-1.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
SO2.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 132
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-19.0005.0004.0000.0000.0008.0000.0000.0005.0000.26320.26320.47370.26320.00000.42100.00000.2632
last_100.203-35.00010.0005.0000.0004.00014.0008.0008.00010.0000.28570.37500.77140.28570.11430.40000.22860.2857
season0.6036-406.00084.00030.0000.00018.00073.00079.000101.000135.0000.20690.36070.41380.20690.04430.17980.24880.3325
Weighted Prediction From Real Data
MetricValue
predicted_2B0.9700
predicted_3B0.0020
predicted_AB10.7100
predicted_AVG0.2193
predicted_BB2.2740
predicted_H2.3490
predicted_HBP0.0880
predicted_HR0.4580
predicted_OBP0.3487
predicted_R1.8460
predicted_RBI2.2930
predicted_SLG0.4386
predicted_SO3.3920
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.22700.97000.5496model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB3.076010.71006.3903model_form_blend
predicted_AVG0.23200.21930.2265model_form_blend
predicted_BB0.76502.27401.4201model_form_blend
predicted_H0.66002.34901.3933model_form_blend
predicted_HBP-0.08800.0880form_only
predicted_HR0.13000.45800.2724model_form_blend
predicted_OBP0.34200.34870.3449model_form_blend
predicted_R0.59801.84601.1398model_form_blend
predicted_RBI0.48002.29301.2671model_form_blend
predicted_SLG0.39500.43860.4139model_form_blend
predicted_SO1.02303.39202.0515model_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 date135
Season rows before report date135
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
PA5
AB5
H1
2B1
3B0
HR0
R0
RBI0
BB0
SO2
SF0
HBP0
season_avg0.207

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_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
allPositionsPlayed1B
gameID20260520_CLE@DET
game_typefull
mlbID656555
playerID656555
playerNameRhys Hoskins
pos1B
startedTrue
startingPosition1B
teamCLE
teamID8
game_date2026-05-20
sl_k_percent26.3
sl_bb_percent20.3
sl_woba0.333
sl_xwoba0.322
sl_xba0.185
sl_xslg0.329
sl_sweet_spot_percent35.7
sl_barrel_batted_rate11.4
sl_hard_hit_percent48.6
sl_exit_velocity_avg89.4
sl_launch_angle_avg21.5
sl_whiff_percent29.0
sl_swing_percent40.0
José Ramírez (608070) · BATTER · DH · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 222
All-history rows before 20260521: 222
System season_avg: 0.2440
Data season_avg (2026 season-to-date): 0.2436
Diff (system - data): 0.0004
System opponent_avg: 0.4550

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2250.0001.000Hitting_2B0.2251.000-0.225-1.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.0605.0009.000Hitting_AB3.7165.0001.2840.000
predicted_AVG0.2450.4000.222Hitting_AVG0.2440.2000.1560.200
predicted_BB0.7480.0002.000Hitting_BB0.7480.000-0.7480.000
predicted_CS-0.0000.000BaseRunning_CS0.0410.000-0.0410.000
predicted_H1.0002.0002.000Hitting_H0.9051.0001.0951.000
predicted_HR0.1800.0001.000Hitting_HR0.1620.000-0.1620.000
predicted_OBP0.3650.4000.364Hitting_OBP0.3710.2000.0290.200
predicted_R0.6351.0001.000Hitting_R0.6350.0000.3651.000
predicted_RBI0.6101.0001.000Hitting_RBI0.4771.0000.5230.000
predicted_SLG0.4650.4000.667Hitting_SLG0.4350.400-0.0350.000
predicted_SO0.5860.0001.000Hitting_SO0.5863.000-0.586-3.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: 1.0000 -> 2.0000 (boost 1.0000, better)
Biggest Deboostpredicted_BB: 0.7480 -> 0.0000 (deboost -0.7480, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend98172predicted_AB: 4.0600 -> 8.9097 (boost 4.8497, better)predicted_SLG: 0.4650 -> 0.4498 (deboost -0.0152, worse)Final model 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_snapshot65151predicted_R: 1.3462 -> 1.4385 (boost 0.0923, better)predicted_SLG: 0.4498 -> 0.4438 (deboost -0.0060, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling83544predicted_2B: 0.5610 -> 1.0000 (boost 0.4390, better)predicted_HR: 0.3995 -> 0.0000 (deboost -0.3995, worse)AB rounded to 9 (raw=8.91), rates preserved: AVG=0.246 HR/AB=0.045
5bvp_blend11010predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better)-Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.455)
6consistency_constraints10101-predicted_R: 1.4385 -> 1.0000 (deboost -0.4385, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context31212predicted_SLG: 0.4438 -> 0.6670 (boost 0.2232, better)predicted_AVG: 0.2461 -> 0.2220 (deboost -0.0241, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference50514-predicted_AB: 9.0000 -> 5.0000 (deboost -4.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final32121predicted_AVG: 0.2220 -> 0.2461 (boost 0.0241, better)predicted_SLG: 0.6670 -> 0.4438 (deboost -0.2232, 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": "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.225,
        "predicted_3B": 0.0,
        "predicted_AB": 4.06,
        "predicted_AVG": 0.245,
        "predicted_BB": 0.748,
        "predicted_H": 1.0,
        "predicted_HR": 0.18,
        "predicted_OBP": 0.365,
        "predicted_R": 0.635,
        "predicted_RBI": 0.61,
        "predicted_SLG": 0.465,
        "predicted_SO": 0.586
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.561,
        "predicted_3B": 0.0009,
        "predicted_AB": 8.9097,
        "predicted_AVG": 0.2401,
        "predicted_BB": 1.77,
        "predicted_H": 2.1134,
        "predicted_HBP": 0.063,
        "predicted_HR": 0.3901,
        "predicted_OBP": 0.3647,
        "predicted_R": 1.3462,
        "predicted_RBI": 1.2537,
        "predicted_SLG": 0.4498,
        "predicted_SO": 1.3723
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.225,
          "after": 0.561,
          "delta": 0.336,
          "percent_delta": 1.4933,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.06,
          "after": 8.9097,
          "delta": 4.8497,
          "percent_delta": 1.1945,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.245,
          "after": 0.2401,
          "delta": -0.0049,
          "percent_delta": -0.02,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.748,
          "after": 1.77,
          "delta": 1.022,
          "percent_delta": 1.3663,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.1134,
          "delta": 1.1134,
          "percent_delta": 1.1134,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.18,
          "after": 0.3901,
          "delta": 0.2101,
          "percent_delta": 1.1672,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.365,
          "after": 0.3647,
          "delta": -0.0003,
          "percent_delta": -0.0008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.635,
          "after": 1.3462,
          "delta": 0.7112,
          "percent_delta": 1.12,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.61,
          "after": 1.2537,
          "delta": 0.6437,
          "percent_delta": 1.0552,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.465,
          "after": 0.4498,
          "delta": -0.0152,
          "percent_delta": -0.0327,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.586,
          "after": 1.3723,
          "delta": 0.7863,
          "percent_delta": 1.3418,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 8,
        "deboosted_metrics": 1,
        "better_metrics": 7,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.06,
          "after": 8.9097,
          "delta": 4.8497,
          "percent_delta": 1.1945,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.465,
          "after": 0.4498,
          "delta": -0.0152,
          "percent_delta": -0.0327,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 2,
        "last_10": 3,
        "season": 50
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.561,
        "predicted_3B": 0.0009,
        "predicted_AB": 8.9097,
        "predicted_AVG": 0.2461,
        "predicted_BB": 1.7969,
        "predicted_H": 2.1927,
        "predicted_HBP": 0.063,
        "predicted_HR": 0.3995,
        "predicted_OBP": 0.3726,
        "predicted_R": 1.4385,
        "predicted_RBI": 1.3397,
        "predicted_SLG": 0.4438,
        "predicted_SO": 1.3514
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.561,
          "after": 0.561,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.9097,
          "after": 8.9097,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2401,
          "after": 0.2461,
          "delta": 0.006,
          "percent_delta": 0.025,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.77,
          "after": 1.7969,
          "delta": 0.0269,
          "percent_delta": 0.0152,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.1134,
          "after": 2.1927,
          "delta": 0.0793,
          "percent_delta": 0.0375,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.063,
          "after": 0.063,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.3901,
          "after": 0.3995,
          "delta": 0.0094,
          "percent_delta": 0.0241,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3647,
          "after": 0.3726,
          "delta": 0.0079,
          "percent_delta": 0.0217,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.3462,
          "after": 1.4385,
          "delta": 0.0923,
          "percent_delta": 0.0686,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.2537,
          "after": 1.3397,
          "delta": 0.086,
          "percent_delta": 0.0686,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4498,
          "after": 0.4438,
          "delta": -0.006,
          "percent_delta": -0.0133,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.3723,
          "after": 1.3514,
          "delta": -0.0209,
          "percent_delta": -0.0152,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 5,
        "deboosted_metrics": 1,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 1.3462,
          "after": 1.4385,
          "delta": 0.0923,
          "percent_delta": 0.0686,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4498,
          "after": 0.4438,
          "delta": -0.006,
          "percent_delta": -0.0133,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 9 (raw=8.91), rates preserved: AVG=0.246 HR/AB=0.045",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 2.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.561,
          "after": 1.0,
          "delta": 0.439,
          "percent_delta": 0.7825,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.9097,
          "after": 9.0,
          "delta": 0.0903,
          "percent_delta": 0.0101,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.7969,
          "after": 2.0,
          "delta": 0.2031,
          "percent_delta": 0.113,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.1927,
          "after": 2.0,
          "delta": -0.1927,
          "percent_delta": -0.0879,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.063,
          "after": 0.0,
          "delta": -0.063,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.3995,
          "after": 0.0,
          "delta": -0.3995,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.3397,
          "after": 1.0,
          "delta": -0.3397,
          "percent_delta": -0.2536,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.3514,
          "after": 1.0,
          "delta": -0.3514,
          "percent_delta": -0.26,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 3,
        "deboosted_metrics": 5,
        "better_metrics": 4,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.561,
          "after": 1.0,
          "delta": 0.439,
          "percent_delta": 0.7825,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.3995,
          "after": 0.0,
          "delta": -0.3995,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.455)",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 2.0,
        "predicted_H": 2.0,
        "predicted_HR": 1.0,
        "predicted_RBI": 1.0,
        "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": 9.0,
          "after": 9.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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_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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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_HR",
          "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.8927,
        "bvp": 0.1073
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 2.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": 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": 9.0,
          "after": 9.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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_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_R",
          "before": 1.4385,
          "after": 1.0,
          "delta": -0.4385,
          "percent_delta": -0.3048,
          "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": 1.4385,
          "after": 1.0,
          "delta": -0.4385,
          "percent_delta": -0.3048,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_AVG": 0.222,
        "predicted_BB": 2.0,
        "predicted_H": 2.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.364,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.667,
        "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": 9.0,
          "after": 9.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2461,
          "after": 0.222,
          "delta": -0.0241,
          "percent_delta": -0.0979,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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_OBP",
          "before": 0.3726,
          "after": 0.364,
          "delta": -0.0086,
          "percent_delta": -0.0231,
          "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.4438,
          "after": 0.667,
          "delta": 0.2232,
          "percent_delta": 0.5029,
          "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.4438,
          "after": 0.667,
          "delta": 0.2232,
          "percent_delta": 0.5029,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.2461,
          "after": 0.222,
          "delta": -0.0241,
          "percent_delta": -0.0979,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 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": 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": 9.0,
          "after": 5.0,
          "delta": -4.0,
          "percent_delta": -0.4444,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.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": 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": 0.0,
          "delta": -1.0,
          "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": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 5.0,
          "delta": -4.0,
          "percent_delta": -0.4444,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.2461,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_DH": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3726,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4438,
        "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.222,
          "after": 0.2461,
          "delta": 0.0241,
          "percent_delta": 0.1085,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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.364,
          "after": 0.3726,
          "delta": 0.0086,
          "percent_delta": 0.0237,
          "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.667,
          "after": 0.4438,
          "delta": -0.2232,
          "percent_delta": -0.3347,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.222,
          "after": 0.2461,
          "delta": 0.0241,
          "percent_delta": 0.1085,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.667,
          "after": 0.4438,
          "delta": -0.2232,
          "percent_delta": -0.3347,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.225,
        "after": 0.0,
        "delta": -0.225,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.06,
        "after": 5.0,
        "delta": 0.94,
        "percent_delta": 0.2315,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.245,
        "after": 0.2461,
        "delta": 0.0011,
        "percent_delta": 0.0045,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.748,
        "after": 0.0,
        "delta": -0.748,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "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_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.365,
        "after": 0.3726,
        "delta": 0.0076,
        "percent_delta": 0.0208,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.635,
        "after": 1.0,
        "delta": 0.365,
        "percent_delta": 0.5748,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.61,
        "after": 1.0,
        "delta": 0.39,
        "percent_delta": 0.6393,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.465,
        "after": 0.4438,
        "delta": -0.0212,
        "percent_delta": -0.0456,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.586,
        "after": 0.0,
        "delta": -0.586,
        "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": 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": 0.748,
        "after": 0.0,
        "delta": -0.748,
        "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.225-
predicted_3B0.000-
predicted_AB4.060-
predicted_AVG0.245-
predicted_BB0.748-
predicted_H1.000-
predicted_HR0.180-
predicted_OBP0.365-
predicted_R0.635-
predicted_RBI0.610-
predicted_SLG0.465-
predicted_SO0.586-
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.5610.336
predicted_3B0.0010.001
predicted_AB8.9104.850
predicted_AVG0.240-0.005
predicted_BB1.7701.022
predicted_H2.1131.113
predicted_HBP0.063-
predicted_HR0.3900.210
predicted_OBP0.365-0.000
predicted_R1.3460.711
predicted_RBI1.2540.644
predicted_SLG0.450-0.015
predicted_SO1.3720.786
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.5610.000
predicted_3B0.0010.000
predicted_AB8.9100.000
predicted_AVG0.2460.006
predicted_BB1.7970.027
predicted_H2.1930.079
predicted_HBP0.0630.000
predicted_HR0.4000.009
predicted_OBP0.3730.008
predicted_R1.4380.092
predicted_RBI1.3400.086
predicted_SLG0.444-0.006
predicted_SO1.351-0.021
4. ab_floor_and_scaling

AB rounded to 9 (raw=8.91), rates preserved: AVG=0.246 HR/AB=0.045

MetricValueDelta vs Prev Step
2B1.000-
3B0.000-
AB9.000-
BB2.000-
H2.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
5. bvp_blend

Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.455)

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB9.0000.000
BB2.0000.000
H2.0000.000
HR1.0001.000
RBI1.0000.000
SO1.0000.000
6. consistency_constraints

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

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB9.0000.000
BB2.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR1.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B1.0000.439
predicted_3B0.000-0.001
predicted_AB9.0000.090
predicted_AVG0.222-0.024
predicted_BB2.0000.203
predicted_H2.000-0.193
predicted_HR1.0000.601
predicted_OBP0.364-0.009
predicted_R1.000-0.438
predicted_RBI1.000-0.340
predicted_SLG0.6670.223
predicted_SO1.000-0.351
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.000-1.000
3B0.0000.000
AB5.000-4.000
BB0.000-2.000
CS0.0000.000
H2.0000.000
HBP0.0000.000
HR0.000-1.000
PA5.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: 222
Reference playing time: 4.060
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-17.0001.0001.0000.0000.0001.0000.0004.0003.0000.05880.23810.11760.05880.00000.05880.23530.1765
last_100.203-37.00016.0006.0000.0005.00016.0005.0009.0003.0000.43240.54351.00000.43240.13510.43240.24320.0811
season0.6050-825.000201.00050.0000.00036.000106.000141.000166.000130.0000.24360.37100.43520.24360.04360.12850.20120.1576
Weighted Prediction From Real Data
MetricValue
predicted_2B0.9860
predicted_3B0.0020
predicted_AB15.0450
predicted_AVG0.2340
predicted_BB3.0630
predicted_H3.5220
predicted_HBP0.0630
predicted_HR0.6560
predicted_OBP0.3643
predicted_R2.2460
predicted_RBI2.0680
predicted_SLG0.4306
predicted_SO2.3670
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.22500.98600.5610model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB4.060015.04508.9097model_form_blend
predicted_AVG0.24500.23400.2401model_form_blend
predicted_BB0.74803.06301.7700model_form_blend
predicted_H1.00003.52202.1134model_form_blend
predicted_HBP-0.06300.0630form_only
predicted_HR0.18000.65600.3901model_form_blend
predicted_OBP0.36500.36430.3647model_form_blend
predicted_R0.63502.24601.3462model_form_blend
predicted_RBI0.61002.06801.2537model_form_blend
predicted_SLG0.46500.43060.4498model_form_blend
predicted_SO0.58602.36701.3723model_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 date222
Season rows before report date222
Report year2026
Profile rows used222
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA5
AB5
H2
2B0
3B0
HR0
R1
RBI1
BB0
SO0
SF0
HBP0
season_avg0.244

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_R0
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
allPositionsPlayed3B
gameID20260520_CLE@DET
game_typefull
mlbID608070
playerID608070
playerNameJosé Ramírez
pos3B
startedTrue
startingPosition3B
teamCLE
teamID8
game_date2026-05-20
sl_k_percent13.1
sl_bb_percent16.7
sl_woba0.348
sl_xwoba0.385
sl_xba0.287
sl_xslg0.483
sl_sweet_spot_percent34.4
sl_barrel_batted_rate9.2
sl_hard_hit_percent43.1
sl_exit_velocity_avg90.1
sl_launch_angle_avg20.1
sl_whiff_percent15.8
sl_swing_percent46.2
Chase DeLauter (800050) · BATTER · RF · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 190
All-history rows before 20260521: 190
System season_avg: 0.2670
Data season_avg (2026 season-to-date): 0.2667
Diff (system - data): 0.0003
System opponent_avg: 0.0500

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2431.0000.000Hitting_2B0.2420.0000.7581.000
predicted_3B0.0260.0000.000Hitting_3B0.0260.000-0.0260.000
predicted_AB3.9704.0009.000Hitting_AB3.8684.0000.1320.000
predicted_AVG0.2370.2500.222Hitting_AVG0.2670.500-0.017-0.250
predicted_BB0.5191.0001.000Hitting_BB0.5211.0000.4790.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.9401.0002.000Hitting_H1.0322.000-0.032-1.000
predicted_HR0.1400.0000.000Hitting_HR0.1680.000-0.1680.000
predicted_OBP0.3250.4000.300Hitting_OBP0.3490.6000.051-0.200
predicted_R0.4921.0001.000Hitting_R0.4890.0000.5111.000
predicted_RBI0.6101.0002.000Hitting_RBI0.7530.0000.2471.000
predicted_SLG0.4030.5000.222Hitting_SLG0.4730.5000.0270.000
predicted_SO0.5031.0001.000Hitting_SO0.5001.0000.5000.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics10
Boosted Metrics9
Deboosted Metrics1
Better Metrics8
Worse Metrics2
Biggest Boostpredicted_2B: 0.2430 -> 1.0000 (boost 0.7570, better)
Biggest Deboostpredicted_HR: 0.1400 -> 0.0000 (deboost -0.1400, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend88071predicted_AB: 3.9700 -> 8.9830 (boost 5.0130, 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_snapshot66060predicted_RBI: 1.5212 -> 1.6256 (boost 0.1044, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling71625predicted_RBI: 1.6256 -> 2.0000 (boost 0.3744, better)predicted_2B: 0.4881 -> 0.0000 (deboost -0.4881, worse)AB rounded to 9 (raw=8.98), rates preserved: AVG=0.246 HR/AB=0.037
5consistency_constraints10101-predicted_R: 1.1102 -> 1.0000 (deboost -0.1102, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context30303-predicted_SLG: 0.4220 -> 0.2220 (deboost -0.2000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference41313predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 9.0000 -> 4.0000 (deboost -5.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final33030predicted_SLG: 0.2220 -> 0.4220 (boost 0.2000, 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.243,
        "predicted_3B": 0.026,
        "predicted_AB": 3.97,
        "predicted_AVG": 0.237,
        "predicted_BB": 0.519,
        "predicted_H": 0.94,
        "predicted_HR": 0.14,
        "predicted_OBP": 0.325,
        "predicted_R": 0.492,
        "predicted_RBI": 0.61,
        "predicted_SLG": 0.403,
        "predicted_SO": 0.503
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.4881,
        "predicted_3B": 0.0524,
        "predicted_AB": 8.983,
        "predicted_AVG": 0.2368,
        "predicted_BB": 1.1248,
        "predicted_H": 2.1257,
        "predicted_HBP": 0.005,
        "predicted_HR": 0.323,
        "predicted_OBP": 0.3208,
        "predicted_R": 1.0389,
        "predicted_RBI": 1.5212,
        "predicted_SLG": 0.4054,
        "predicted_SO": 1.3535
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.243,
          "after": 0.4881,
          "delta": 0.2451,
          "percent_delta": 1.0086,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.026,
          "after": 0.0524,
          "delta": 0.0264,
          "percent_delta": 1.0154,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.97,
          "after": 8.983,
          "delta": 5.013,
          "percent_delta": 1.2627,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.237,
          "after": 0.2368,
          "delta": -0.0002,
          "percent_delta": -0.0008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.519,
          "after": 1.1248,
          "delta": 0.6058,
          "percent_delta": 1.1672,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.94,
          "after": 2.1257,
          "delta": 1.1857,
          "percent_delta": 1.2614,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.14,
          "after": 0.323,
          "delta": 0.183,
          "percent_delta": 1.3071,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.325,
          "after": 0.3208,
          "delta": -0.0042,
          "percent_delta": -0.0129,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.492,
          "after": 1.0389,
          "delta": 0.5469,
          "percent_delta": 1.1116,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.61,
          "after": 1.5212,
          "delta": 0.9112,
          "percent_delta": 1.4938,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.403,
          "after": 0.4054,
          "delta": 0.0024,
          "percent_delta": 0.006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.503,
          "after": 1.3535,
          "delta": 0.8505,
          "percent_delta": 1.6909,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 8,
        "deboosted_metrics": 0,
        "better_metrics": 7,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.97,
          "after": 8.983,
          "delta": 5.013,
          "percent_delta": 1.2627,
          "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": 2,
        "last_10": 3,
        "season": 44
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.4881,
        "predicted_3B": 0.0524,
        "predicted_AB": 8.983,
        "predicted_AVG": 0.2455,
        "predicted_BB": 1.1419,
        "predicted_H": 2.2054,
        "predicted_HBP": 0.005,
        "predicted_HR": 0.3308,
        "predicted_OBP": 0.3306,
        "predicted_R": 1.1102,
        "predicted_RBI": 1.6256,
        "predicted_SLG": 0.422,
        "predicted_SO": 1.3329
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.4881,
          "after": 0.4881,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0524,
          "after": 0.0524,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.983,
          "after": 8.983,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2368,
          "after": 0.2455,
          "delta": 0.0087,
          "percent_delta": 0.0367,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.1248,
          "after": 1.1419,
          "delta": 0.0171,
          "percent_delta": 0.0152,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.1257,
          "after": 2.2054,
          "delta": 0.0797,
          "percent_delta": 0.0375,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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.323,
          "after": 0.3308,
          "delta": 0.0078,
          "percent_delta": 0.0241,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3208,
          "after": 0.3306,
          "delta": 0.0098,
          "percent_delta": 0.0305,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0389,
          "after": 1.1102,
          "delta": 0.0713,
          "percent_delta": 0.0686,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.5212,
          "after": 1.6256,
          "delta": 0.1044,
          "percent_delta": 0.0686,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4054,
          "after": 0.422,
          "delta": 0.0166,
          "percent_delta": 0.0409,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.3535,
          "after": 1.3329,
          "delta": -0.0206,
          "percent_delta": -0.0152,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 6,
        "deboosted_metrics": 0,
        "better_metrics": 6,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 1.5212,
          "after": 1.6256,
          "delta": 0.1044,
          "percent_delta": 0.0686,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 9 (raw=8.98), rates preserved: AVG=0.246 HR/AB=0.037",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.4881,
          "after": 0.0,
          "delta": -0.4881,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0524,
          "after": 0.0,
          "delta": -0.0524,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 8.983,
          "after": 9.0,
          "delta": 0.017,
          "percent_delta": 0.0019,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.1419,
          "after": 1.0,
          "delta": -0.1419,
          "percent_delta": -0.1243,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.2054,
          "after": 2.0,
          "delta": -0.2054,
          "percent_delta": -0.0931,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.005,
          "after": 0.0,
          "delta": -0.005,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.3308,
          "after": 0.0,
          "delta": -0.3308,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.6256,
          "after": 2.0,
          "delta": 0.3744,
          "percent_delta": 0.2303,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.3329,
          "after": 1.0,
          "delta": -0.3329,
          "percent_delta": -0.2498,
          "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": 1.6256,
          "after": 2.0,
          "delta": 0.3744,
          "percent_delta": 0.2303,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.4881,
          "after": 0.0,
          "delta": -0.4881,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 9.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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.1102,
          "after": 1.0,
          "delta": -0.1102,
          "percent_delta": -0.0993,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "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_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.1102,
          "after": 1.0,
          "delta": -0.1102,
          "percent_delta": -0.0993,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_AVG": 0.222,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SLG": 0.222,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 9.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2455,
          "after": 0.222,
          "delta": -0.0235,
          "percent_delta": -0.0957,
          "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": 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.3306,
          "after": 0.3,
          "delta": -0.0306,
          "percent_delta": -0.0926,
          "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_SLG",
          "before": 0.422,
          "after": 0.222,
          "delta": -0.2,
          "percent_delta": -0.4739,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.422,
          "after": 0.222,
          "delta": -0.2,
          "percent_delta": -0.4739,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 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": 9.0,
          "after": 4.0,
          "delta": -5.0,
          "percent_delta": -0.5556,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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_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": 9.0,
          "after": 4.0,
          "delta": -5.0,
          "percent_delta": -0.5556,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2455,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3306,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.422,
        "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.222,
          "after": 0.2455,
          "delta": 0.0235,
          "percent_delta": 0.1059,
          "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.3,
          "after": 0.3306,
          "delta": 0.0306,
          "percent_delta": 0.102,
          "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.222,
          "after": 0.422,
          "delta": 0.2,
          "percent_delta": 0.9008,
          "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.222,
          "after": 0.422,
          "delta": 0.2,
          "percent_delta": 0.9008,
          "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.243,
        "after": 1.0,
        "delta": 0.757,
        "percent_delta": 3.1152,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.026,
        "after": 0.0,
        "delta": -0.026,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.97,
        "after": 4.0,
        "delta": 0.03,
        "percent_delta": 0.0076,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AVG",
        "before": 0.237,
        "after": 0.2455,
        "delta": 0.0085,
        "percent_delta": 0.0359,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.519,
        "after": 1.0,
        "delta": 0.481,
        "percent_delta": 0.9268,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.94,
        "after": 1.0,
        "delta": 0.06,
        "percent_delta": 0.0638,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.14,
        "after": 0.0,
        "delta": -0.14,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.325,
        "after": 0.3306,
        "delta": 0.0056,
        "percent_delta": 0.0172,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.492,
        "after": 1.0,
        "delta": 0.508,
        "percent_delta": 1.0325,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.61,
        "after": 1.0,
        "delta": 0.39,
        "percent_delta": 0.6393,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.403,
        "after": 0.422,
        "delta": 0.019,
        "percent_delta": 0.0471,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.503,
        "after": 1.0,
        "delta": 0.497,
        "percent_delta": 0.9881,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 9,
      "deboosted_metrics": 1,
      "better_metrics": 8,
      "worse_metrics": 2,
      "biggest_boost": {
        "metric": "predicted_2B",
        "before": 0.243,
        "after": 1.0,
        "delta": 0.757,
        "percent_delta": 3.1152,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_HR",
        "before": 0.14,
        "after": 0.0,
        "delta": -0.14,
        "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.243-
predicted_3B0.026-
predicted_AB3.970-
predicted_AVG0.237-
predicted_BB0.519-
predicted_H0.940-
predicted_HR0.140-
predicted_OBP0.325-
predicted_R0.492-
predicted_RBI0.610-
predicted_SLG0.403-
predicted_SO0.503-
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.4880.245
predicted_3B0.0520.026
predicted_AB8.9835.013
predicted_AVG0.237-0.000
predicted_BB1.1250.606
predicted_H2.1261.186
predicted_HBP0.005-
predicted_HR0.3230.183
predicted_OBP0.321-0.004
predicted_R1.0390.547
predicted_RBI1.5210.911
predicted_SLG0.4050.002
predicted_SO1.3530.850
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.4880.000
predicted_3B0.0520.000
predicted_AB8.9830.000
predicted_AVG0.2450.009
predicted_BB1.1420.017
predicted_H2.2050.080
predicted_HBP0.0050.000
predicted_HR0.3310.008
predicted_OBP0.3310.010
predicted_R1.1100.071
predicted_RBI1.6260.104
predicted_SLG0.4220.017
predicted_SO1.333-0.021
4. ab_floor_and_scaling

AB rounded to 9 (raw=8.98), rates preserved: AVG=0.246 HR/AB=0.037

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB9.000-
BB1.000-
H2.000-
HBP0.000-
HR0.000-
RBI2.000-
SB0.000-
SO1.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB9.0000.000
BB1.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI2.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
6. 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.488
predicted_3B0.000-0.052
predicted_AB9.0000.017
predicted_AVG0.222-0.023
predicted_BB1.000-0.142
predicted_H2.000-0.205
predicted_HR0.000-0.331
predicted_OBP0.300-0.031
predicted_R1.000-0.110
predicted_RBI2.0000.374
predicted_SLG0.222-0.200
predicted_SO1.000-0.333
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB4.000-5.000
BB1.0000.000
CS0.0000.000
H1.000-1.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R1.0000.000
RBI1.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: 189
Reference playing time: 3.970
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-20.0002.0000.0000.0000.0000.0000.0001.0005.0000.10000.14290.10000.10000.00000.00000.05000.2500
last_100.203-40.0002.0000.0000.0000.00010.0005.0006.00015.0000.05000.17390.05000.05000.00000.25000.15000.3750
season0.6044-735.000196.00046.0005.00032.000143.00093.00098.00095.0000.26670.34790.47350.26670.04350.19460.13330.1293
Weighted Prediction From Real Data
MetricValue
predicted_2B0.8000
predicted_3B0.0860
predicted_AB15.3640
predicted_AVG0.2366
predicted_BB1.8960
predicted_H3.6350
predicted_HBP0.0050
predicted_HR0.5560
predicted_OBP0.3154
predicted_R1.7350
predicted_RBI2.6810
predicted_SLG0.4085
predicted_SO2.4360
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.24300.80000.4881model_form_blend
predicted_3B0.02600.08600.0524model_form_blend
predicted_AB3.970015.36408.9830model_form_blend
predicted_AVG0.23700.23660.2368model_form_blend
predicted_BB0.51901.89601.1248model_form_blend
predicted_H0.94003.63502.1257model_form_blend
predicted_HBP-0.00500.0050form_only
predicted_HR0.14000.55600.3230model_form_blend
predicted_OBP0.32500.31540.3208model_form_blend
predicted_R0.49201.73501.0389model_form_blend
predicted_RBI0.61002.68101.5212model_form_blend
predicted_SLG0.40300.40850.4054model_form_blend
predicted_SO0.50302.43601.3535model_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 date190
Season rows before report date190
Report year2026
Profile rows used189
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

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

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_AB4
Hitting_AVG0.5
Hitting_BB1
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB2
Hitting_battingOrder3
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedDH
gameID20260520_CLE@DET
game_typefull
mlbID800050
playerID800050
playerNameChase DeLauter
posRF
startedTrue
startingPositionDH
teamCLE
teamID8
game_date2026-05-20
sl_k_percent10.6
sl_bb_percent12.2
sl_woba0.363
sl_xwoba0.357
sl_xba0.278
sl_xslg0.428
sl_sweet_spot_percent35.6
sl_barrel_batted_rate6.9
sl_hard_hit_percent40.7
sl_exit_velocity_avg90.1
sl_launch_angle_avg14.8
sl_whiff_percent14.7
sl_swing_percent41.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 20260521: 83
All-history rows before 20260521: 83
System season_avg: 0.3020
Data season_avg (2026 season-to-date): 0.3017
Diff (system - data): 0.0003
System opponent_avg: 0.4870

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0480.0000.000Hitting_2B0.0480.000-0.0480.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.5544.0008.000Hitting_AB3.5542.0000.4462.000
predicted_AVG0.2760.0000.375Hitting_AVG0.3020.500-0.302-0.500
predicted_BB0.7111.0002.000Hitting_BB0.7110.0000.2891.000
predicted_CS-0.0000.000BaseRunning_CS0.0480.000-0.0480.000
predicted_H0.9700.0003.000Hitting_H1.0721.000-1.072-1.000
predicted_HR0.1100.0000.000Hitting_HR0.0960.000-0.0960.000
predicted_OBP0.3840.2000.500Hitting_OBP0.4340.500-0.234-0.300
predicted_R0.5540.0001.000Hitting_R0.5540.000-0.5540.000
predicted_RBI0.4400.0001.000Hitting_RBI0.4700.000-0.4700.000
predicted_SB-0.0000.000BaseRunning_SB0.3860.000-0.3860.000
predicted_SLG0.4300.0000.375Hitting_SLG0.3970.500-0.397-0.500
predicted_SO0.6992.0002.000Hitting_SO0.6990.0001.3012.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_SO: 0.6990 -> 2.0000 (boost 1.3010, 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_blend11110101predicted_AB: 3.5540 -> 7.6103 (boost 4.0563, 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_snapshot66060predicted_H: 2.4641 -> 2.5565 (boost 0.0924, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling84435predicted_SO: 1.5072 -> 2.0000 (boost 0.4928, worse)predicted_HR: 0.3956 -> 0.0000 (deboost -0.3956, worse)AB rounded to 8 (raw=7.61), rates preserved: AVG=0.336 HR/AB=0.052
5consistency_constraints10101-predicted_R: 1.3577 -> 1.0000 (deboost -0.3577, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context32121predicted_OBP: 0.4461 -> 0.5000 (boost 0.0539, better)predicted_SLG: 0.5063 -> 0.3750 (deboost -0.1313, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference50505-predicted_AB: 8.0000 -> 4.0000 (deboost -4.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final31212predicted_SLG: 0.3750 -> 0.5063 (boost 0.1313, better)predicted_OBP: 0.5000 -> 0.4461 (deboost -0.0539, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "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.048,
        "predicted_3B": 0.0,
        "predicted_AB": 3.554,
        "predicted_AVG": 0.276,
        "predicted_BB": 0.711,
        "predicted_H": 0.97,
        "predicted_HR": 0.11,
        "predicted_OBP": 0.384,
        "predicted_R": 0.554,
        "predicted_RBI": 0.44,
        "predicted_SLG": 0.43,
        "predicted_SO": 0.699
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1066,
        "predicted_3B": 0.0017,
        "predicted_AB": 7.6103,
        "predicted_AVG": 0.3044,
        "predicted_BB": 1.4916,
        "predicted_H": 2.4641,
        "predicted_HBP": 0.349,
        "predicted_HR": 0.3863,
        "predicted_OBP": 0.4164,
        "predicted_R": 1.2705,
        "predicted_RBI": 1.2613,
        "predicted_SLG": 0.4733,
        "predicted_SO": 1.5305
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.048,
          "after": 0.1066,
          "delta": 0.0586,
          "percent_delta": 1.2208,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0017,
          "delta": 0.0017,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.554,
          "after": 7.6103,
          "delta": 4.0563,
          "percent_delta": 1.1413,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.276,
          "after": 0.3044,
          "delta": 0.0284,
          "percent_delta": 0.1029,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.711,
          "after": 1.4916,
          "delta": 0.7806,
          "percent_delta": 1.0979,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.97,
          "after": 2.4641,
          "delta": 1.4941,
          "percent_delta": 1.5403,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.11,
          "after": 0.3863,
          "delta": 0.2763,
          "percent_delta": 2.5118,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.384,
          "after": 0.4164,
          "delta": 0.0324,
          "percent_delta": 0.0844,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.554,
          "after": 1.2705,
          "delta": 0.7165,
          "percent_delta": 1.2933,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.44,
          "after": 1.2613,
          "delta": 0.8213,
          "percent_delta": 1.8666,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.43,
          "after": 0.4733,
          "delta": 0.0433,
          "percent_delta": 0.1007,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.699,
          "after": 1.5305,
          "delta": 0.8315,
          "percent_delta": 1.1896,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 11,
        "boosted_metrics": 11,
        "deboosted_metrics": 0,
        "better_metrics": 10,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.554,
          "after": 7.6103,
          "delta": 4.0563,
          "percent_delta": 1.1413,
          "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": 2,
        "last_10": 3,
        "season": 20
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1066,
        "predicted_3B": 0.0017,
        "predicted_AB": 7.6103,
        "predicted_AVG": 0.3359,
        "predicted_BB": 1.5143,
        "predicted_H": 2.5565,
        "predicted_HBP": 0.349,
        "predicted_HR": 0.3956,
        "predicted_OBP": 0.4461,
        "predicted_R": 1.3577,
        "predicted_RBI": 1.3478,
        "predicted_SLG": 0.5063,
        "predicted_SO": 1.5072
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1066,
          "after": 0.1066,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0017,
          "after": 0.0017,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.6103,
          "after": 7.6103,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3044,
          "after": 0.3359,
          "delta": 0.0315,
          "percent_delta": 0.1035,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.4916,
          "after": 1.5143,
          "delta": 0.0227,
          "percent_delta": 0.0152,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.4641,
          "after": 2.5565,
          "delta": 0.0924,
          "percent_delta": 0.0375,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.349,
          "after": 0.349,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.3863,
          "after": 0.3956,
          "delta": 0.0093,
          "percent_delta": 0.0241,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.4164,
          "after": 0.4461,
          "delta": 0.0297,
          "percent_delta": 0.0713,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.2705,
          "after": 1.3577,
          "delta": 0.0872,
          "percent_delta": 0.0686,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.2613,
          "after": 1.3478,
          "delta": 0.0865,
          "percent_delta": 0.0686,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4733,
          "after": 0.5063,
          "delta": 0.033,
          "percent_delta": 0.0697,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.5305,
          "after": 1.5072,
          "delta": -0.0233,
          "percent_delta": -0.0152,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 6,
        "deboosted_metrics": 0,
        "better_metrics": 6,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 2.4641,
          "after": 2.5565,
          "delta": 0.0924,
          "percent_delta": 0.0375,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 8 (raw=7.61), rates preserved: AVG=0.336 HR/AB=0.052",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 2.0,
        "predicted_H": 3.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.1066,
          "after": 0.0,
          "delta": -0.1066,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0017,
          "after": 0.0,
          "delta": -0.0017,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.6103,
          "after": 8.0,
          "delta": 0.3897,
          "percent_delta": 0.0512,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.5143,
          "after": 2.0,
          "delta": 0.4857,
          "percent_delta": 0.3207,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.5565,
          "after": 3.0,
          "delta": 0.4435,
          "percent_delta": 0.1735,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.349,
          "after": 0.0,
          "delta": -0.349,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.3956,
          "after": 0.0,
          "delta": -0.3956,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.3478,
          "after": 1.0,
          "delta": -0.3478,
          "percent_delta": -0.2581,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.5072,
          "after": 2.0,
          "delta": 0.4928,
          "percent_delta": 0.327,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 4,
        "deboosted_metrics": 4,
        "better_metrics": 3,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.5072,
          "after": 2.0,
          "delta": 0.4928,
          "percent_delta": 0.327,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.3956,
          "after": 0.0,
          "delta": -0.3956,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 2.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": 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": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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_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_R",
          "before": 1.3577,
          "after": 1.0,
          "delta": -0.3577,
          "percent_delta": -0.2635,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.3577,
          "after": 1.0,
          "delta": -0.3577,
          "percent_delta": -0.2635,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_AVG": 0.375,
        "predicted_BB": 2.0,
        "predicted_H": 3.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.5,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.375,
        "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": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3359,
          "after": 0.375,
          "delta": 0.0391,
          "percent_delta": 0.1164,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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_OBP",
          "before": 0.4461,
          "after": 0.5,
          "delta": 0.0539,
          "percent_delta": 0.1208,
          "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.5063,
          "after": 0.375,
          "delta": -0.1313,
          "percent_delta": -0.2593,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.4461,
          "after": 0.5,
          "delta": 0.0539,
          "percent_delta": 0.1208,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.5063,
          "after": 0.375,
          "delta": -0.1313,
          "percent_delta": -0.2593,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 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": 8.0,
          "after": 4.0,
          "delta": -4.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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": 3.0,
          "after": 0.0,
          "delta": -3.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": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 0,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 4.0,
          "delta": -4.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.3359,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.4461,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.5063,
        "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.375,
          "after": 0.3359,
          "delta": -0.0391,
          "percent_delta": -0.1042,
          "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.5,
          "after": 0.4461,
          "delta": -0.0539,
          "percent_delta": -0.1077,
          "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.375,
          "after": 0.5063,
          "delta": 0.1313,
          "percent_delta": 0.3502,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.375,
          "after": 0.5063,
          "delta": 0.1313,
          "percent_delta": 0.3502,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.5,
          "after": 0.4461,
          "delta": -0.0539,
          "percent_delta": -0.1077,
          "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.048,
        "after": 0.0,
        "delta": -0.048,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.554,
        "after": 4.0,
        "delta": 0.446,
        "percent_delta": 0.1255,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.276,
        "after": 0.3359,
        "delta": 0.0599,
        "percent_delta": 0.217,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.711,
        "after": 1.0,
        "delta": 0.289,
        "percent_delta": 0.4065,
        "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.11,
        "after": 0.0,
        "delta": -0.11,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.384,
        "after": 0.4461,
        "delta": 0.0621,
        "percent_delta": 0.1617,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.554,
        "after": 0.0,
        "delta": -0.554,
        "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.43,
        "after": 0.5063,
        "delta": 0.0763,
        "percent_delta": 0.1774,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.699,
        "after": 2.0,
        "delta": 1.301,
        "percent_delta": 1.8612,
        "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_SO",
        "before": 0.699,
        "after": 2.0,
        "delta": 1.301,
        "percent_delta": 1.8612,
        "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": "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.048-
predicted_3B0.000-
predicted_AB3.554-
predicted_AVG0.276-
predicted_BB0.711-
predicted_H0.970-
predicted_HR0.110-
predicted_OBP0.384-
predicted_R0.554-
predicted_RBI0.440-
predicted_SLG0.430-
predicted_SO0.699-
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.1070.059
predicted_3B0.0020.002
predicted_AB7.6104.056
predicted_AVG0.3040.028
predicted_BB1.4920.781
predicted_H2.4641.494
predicted_HBP0.349-
predicted_HR0.3860.276
predicted_OBP0.4160.032
predicted_R1.2700.716
predicted_RBI1.2610.821
predicted_SLG0.4730.043
predicted_SO1.5300.832
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.1070.000
predicted_3B0.0020.000
predicted_AB7.6100.000
predicted_AVG0.3360.031
predicted_BB1.5140.023
predicted_H2.5570.092
predicted_HBP0.3490.000
predicted_HR0.3960.009
predicted_OBP0.4460.030
predicted_R1.3580.087
predicted_RBI1.3480.087
predicted_SLG0.5060.033
predicted_SO1.507-0.023
4. ab_floor_and_scaling

AB rounded to 8 (raw=7.61), rates preserved: AVG=0.336 HR/AB=0.052

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB8.000-
BB2.000-
H3.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO2.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB8.0000.000
BB2.0000.000
CS0.000-
H3.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
6. 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.107
predicted_3B0.000-0.002
predicted_AB8.0000.390
predicted_AVG0.3750.039
predicted_BB2.0000.486
predicted_H3.0000.443
predicted_HR0.000-0.396
predicted_OBP0.5000.054
predicted_R1.000-0.358
predicted_RBI1.000-0.348
predicted_SLG0.375-0.131
predicted_SO2.0000.493
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.000-4.000
BB1.000-1.000
CS0.0000.000
H0.000-3.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R0.000-1.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO2.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 83
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-14.0009.0000.0000.0004.0008.0004.0004.0004.0000.64290.72221.50000.64290.28570.57140.28570.2857
last_100.203-39.00019.0000.0000.0004.0008.0009.0004.0004.0000.48720.53490.79490.48720.10260.20510.10260.1026
season0.6020-295.00089.0004.0000.0008.00039.00046.00059.00058.0000.30170.43410.39660.30170.02710.13220.20000.1966
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1850
predicted_3B0.0040
predicted_AB13.0370
predicted_AVG0.3423
predicted_BB2.5360
predicted_H4.4630
predicted_HBP0.3490
predicted_HR0.7560
predicted_OBP0.4597
predicted_R2.2290
predicted_RBI2.3600
predicted_SLG0.5312
predicted_SO2.6430
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.04800.18500.1066model_form_blend
predicted_3B0.00000.00400.0017model_form_blend
predicted_AB3.554013.03707.6103model_form_blend
predicted_AVG0.27600.34230.3044model_form_blend
predicted_BB0.71102.53601.4916model_form_blend
predicted_H0.97004.46302.4641model_form_blend
predicted_HBP-0.34900.3490form_only
predicted_HR0.11000.75600.3863model_form_blend
predicted_OBP0.38400.45970.4164model_form_blend
predicted_R0.55402.22901.2705model_form_blend
predicted_RBI0.44002.36001.2613model_form_blend
predicted_SLG0.43000.53120.4733model_form_blend
predicted_SO0.69902.64301.5305model_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 used83
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.302

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_AB2
Hitting_AVG0.5
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB1
Hitting_battingOrder6
Hitting_substitutionOrder1
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedPH-2B
gameID20260520_CLE@DET
game_typeph
mlbID683953
noteGrounded out for Fry in the 6th.
playerID683953
playerNameTravis Bazzana
pos2B
startedFalse
startingPositionPH
teamCLE
teamID8
game_date2026-05-20
sl_k_percent15.9
sl_bb_percent15.9
sl_woba0.379
sl_xwoba0.362
sl_xba0.28
sl_xslg0.39
sl_sweet_spot_percent33.3
sl_barrel_batted_rate3.8
sl_hard_hit_percent36.5
sl_exit_velocity_avg89.8
sl_launch_angle_avg10.8
sl_whiff_percent19.7
sl_swing_percent41.6
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 20260521: 171
All-history rows before 20260521: 171
System season_avg: 0.2780
Data season_avg (2026 season-to-date): 0.2778
Diff (system - data): 0.0002
System opponent_avg: 0.2950

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2080.0000.000Hitting_2B0.2050.000-0.2050.000
predicted_3B0.0060.0000.000Hitting_3B0.0061.000-0.006-1.000
predicted_AB3.8574.0008.000Hitting_AB3.7895.0000.211-1.000
predicted_AVG0.2360.2500.250Hitting_AVG0.2780.200-0.0280.050
predicted_BB0.1490.0000.000Hitting_BB0.1460.000-0.1460.000
predicted_CS-0.0000.000BaseRunning_CS0.0530.000-0.0530.000
predicted_H0.3301.0002.000Hitting_H1.0531.000-0.0530.000
predicted_HR0.0800.0000.000Hitting_HR0.2220.000-0.2220.000
predicted_OBP0.2870.2500.250Hitting_OBP0.3210.200-0.0710.050
predicted_R0.6191.0001.000Hitting_R0.6081.0000.3920.000
predicted_RBI0.2601.0001.000Hitting_RBI0.6431.0000.3570.000
predicted_SLG0.4750.2500.250Hitting_SLG0.5110.600-0.261-0.350
predicted_SO0.8102.0001.000Hitting_SO0.7950.0001.2052.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.8100 -> 2.0000 (boost 1.1900, worse)
Biggest Deboostpredicted_2B: 0.2080 -> 0.0000 (deboost -0.2080, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend1110192predicted_AB: 3.8570 -> 8.2324 (boost 4.3754, better)predicted_SLG: 0.4750 -> 0.4685 (deboost -0.0065, worse)Final model 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_snapshot63333predicted_R: 1.2417 -> 1.3269 (boost 0.0852, better)predicted_SLG: 0.4685 -> 0.4038 (deboost -0.0647, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling91827predicted_H: 1.7812 -> 2.0000 (boost 0.2188, better)predicted_SO: 1.5041 -> 1.0000 (deboost -0.5041, better)AB rounded to 8 (raw=8.23), rates preserved: AVG=0.216 HR/AB=0.042
5consistency_constraints10101-predicted_R: 1.3269 -> 1.0000 (deboost -0.3269, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context32121predicted_AVG: 0.2164 -> 0.2500 (boost 0.0336, better)predicted_SLG: 0.4038 -> 0.2500 (deboost -0.1538, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference31203predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse)predicted_AB: 8.0000 -> 4.0000 (deboost -4.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final31212predicted_SLG: 0.2500 -> 0.4038 (boost 0.1538, better)predicted_AVG: 0.2500 -> 0.2164 (deboost -0.0336, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "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.208,
        "predicted_3B": 0.006,
        "predicted_AB": 3.857,
        "predicted_AVG": 0.236,
        "predicted_BB": 0.149,
        "predicted_H": 0.33,
        "predicted_HR": 0.08,
        "predicted_OBP": 0.287,
        "predicted_R": 0.619,
        "predicted_RBI": 0.26,
        "predicted_SLG": 0.475,
        "predicted_SO": 0.81
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.391,
        "predicted_3B": 0.0577,
        "predicted_AB": 8.2324,
        "predicted_AVG": 0.2432,
        "predicted_BB": 0.2904,
        "predicted_H": 1.7168,
        "predicted_HBP": 0.312,
        "predicted_HR": 0.3375,
        "predicted_OBP": 0.2883,
        "predicted_R": 1.2417,
        "predicted_RBI": 1.0859,
        "predicted_SLG": 0.4685,
        "predicted_SO": 1.5273
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.208,
          "after": 0.391,
          "delta": 0.183,
          "percent_delta": 0.8798,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.006,
          "after": 0.0577,
          "delta": 0.0517,
          "percent_delta": 8.6167,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.857,
          "after": 8.2324,
          "delta": 4.3754,
          "percent_delta": 1.1344,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.236,
          "after": 0.2432,
          "delta": 0.0072,
          "percent_delta": 0.0305,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.149,
          "after": 0.2904,
          "delta": 0.1414,
          "percent_delta": 0.949,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.33,
          "after": 1.7168,
          "delta": 1.3868,
          "percent_delta": 4.2024,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.08,
          "after": 0.3375,
          "delta": 0.2575,
          "percent_delta": 3.2188,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.287,
          "after": 0.2883,
          "delta": 0.0013,
          "percent_delta": 0.0045,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.619,
          "after": 1.2417,
          "delta": 0.6227,
          "percent_delta": 1.006,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.26,
          "after": 1.0859,
          "delta": 0.8259,
          "percent_delta": 3.1765,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.475,
          "after": 0.4685,
          "delta": -0.0065,
          "percent_delta": -0.0137,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.81,
          "after": 1.5273,
          "delta": 0.7173,
          "percent_delta": 0.8856,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 11,
        "boosted_metrics": 10,
        "deboosted_metrics": 1,
        "better_metrics": 9,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.857,
          "after": 8.2324,
          "delta": 4.3754,
          "percent_delta": 1.1344,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.475,
          "after": 0.4685,
          "delta": -0.0065,
          "percent_delta": -0.0137,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 2,
        "last_10": 3,
        "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.391,
        "predicted_3B": 0.0577,
        "predicted_AB": 8.2324,
        "predicted_AVG": 0.2164,
        "predicted_BB": 0.2948,
        "predicted_H": 1.7812,
        "predicted_HBP": 0.312,
        "predicted_HR": 0.3456,
        "predicted_OBP": 0.2435,
        "predicted_R": 1.3269,
        "predicted_RBI": 1.1604,
        "predicted_SLG": 0.4038,
        "predicted_SO": 1.5041
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.391,
          "after": 0.391,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0577,
          "after": 0.0577,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.2324,
          "after": 8.2324,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2432,
          "after": 0.2164,
          "delta": -0.0268,
          "percent_delta": -0.1102,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2904,
          "after": 0.2948,
          "delta": 0.0044,
          "percent_delta": 0.0152,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.7168,
          "after": 1.7812,
          "delta": 0.0644,
          "percent_delta": 0.0375,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.312,
          "after": 0.312,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.3375,
          "after": 0.3456,
          "delta": 0.0081,
          "percent_delta": 0.024,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2883,
          "after": 0.2435,
          "delta": -0.0448,
          "percent_delta": -0.1554,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.2417,
          "after": 1.3269,
          "delta": 0.0852,
          "percent_delta": 0.0686,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0859,
          "after": 1.1604,
          "delta": 0.0745,
          "percent_delta": 0.0686,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4685,
          "after": 0.4038,
          "delta": -0.0647,
          "percent_delta": -0.1381,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.5273,
          "after": 1.5041,
          "delta": -0.0232,
          "percent_delta": -0.0152,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 1.2417,
          "after": 1.3269,
          "delta": 0.0852,
          "percent_delta": 0.0686,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4685,
          "after": 0.4038,
          "delta": -0.0647,
          "percent_delta": -0.1381,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 8 (raw=8.23), rates preserved: AVG=0.216 HR/AB=0.042",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.391,
          "after": 0.0,
          "delta": -0.391,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0577,
          "after": 0.0,
          "delta": -0.0577,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 8.2324,
          "after": 8.0,
          "delta": -0.2324,
          "percent_delta": -0.0282,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2948,
          "after": 0.0,
          "delta": -0.2948,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.7812,
          "after": 2.0,
          "delta": 0.2188,
          "percent_delta": 0.1228,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.312,
          "after": 0.0,
          "delta": -0.312,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.3456,
          "after": 0.0,
          "delta": -0.3456,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.1604,
          "after": 1.0,
          "delta": -0.1604,
          "percent_delta": -0.1382,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.5041,
          "after": 1.0,
          "delta": -0.5041,
          "percent_delta": -0.3352,
          "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_H",
          "before": 1.7812,
          "after": 2.0,
          "delta": 0.2188,
          "percent_delta": 0.1228,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.5041,
          "after": 1.0,
          "delta": -0.5041,
          "percent_delta": -0.3352,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.3269,
          "after": 1.0,
          "delta": -0.3269,
          "percent_delta": -0.2464,
          "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": 1.3269,
          "after": 1.0,
          "delta": -0.3269,
          "percent_delta": -0.2464,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 0.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.25,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.25,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2164,
          "after": 0.25,
          "delta": 0.0336,
          "percent_delta": 0.1553,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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.2435,
          "after": 0.25,
          "delta": 0.0065,
          "percent_delta": 0.0267,
          "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.4038,
          "after": 0.25,
          "delta": -0.1538,
          "percent_delta": -0.3809,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.2164,
          "after": 0.25,
          "delta": 0.0336,
          "percent_delta": 0.1553,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4038,
          "after": 0.25,
          "delta": -0.1538,
          "percent_delta": -0.3809,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 4.0,
          "delta": -4.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 4.0,
          "delta": -4.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2164,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_LF": 0.0,
        "predicted_OBP": 0.2435,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4038,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2164,
          "delta": -0.0336,
          "percent_delta": -0.1346,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.25,
          "after": 0.2435,
          "delta": -0.0065,
          "percent_delta": -0.0262,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.4038,
          "delta": 0.1538,
          "percent_delta": 0.6153,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.4038,
          "delta": 0.1538,
          "percent_delta": 0.6153,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2164,
          "delta": -0.0336,
          "percent_delta": -0.1346,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.208,
        "after": 0.0,
        "delta": -0.208,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.006,
        "after": 0.0,
        "delta": -0.006,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.857,
        "after": 4.0,
        "delta": 0.143,
        "percent_delta": 0.0371,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.236,
        "after": 0.2164,
        "delta": -0.0196,
        "percent_delta": -0.0831,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.149,
        "after": 0.0,
        "delta": -0.149,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.33,
        "after": 1.0,
        "delta": 0.67,
        "percent_delta": 2.0303,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.08,
        "after": 0.0,
        "delta": -0.08,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.287,
        "after": 0.2435,
        "delta": -0.0435,
        "percent_delta": -0.1516,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.619,
        "after": 1.0,
        "delta": 0.381,
        "percent_delta": 0.6155,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.26,
        "after": 1.0,
        "delta": 0.74,
        "percent_delta": 2.8462,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.475,
        "after": 0.4038,
        "delta": -0.0712,
        "percent_delta": -0.1499,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.81,
        "after": 2.0,
        "delta": 1.19,
        "percent_delta": 1.4691,
        "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.81,
        "after": 2.0,
        "delta": 1.19,
        "percent_delta": 1.4691,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_2B",
        "before": 0.208,
        "after": 0.0,
        "delta": -0.208,
        "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.208-
predicted_3B0.006-
predicted_AB3.857-
predicted_AVG0.236-
predicted_BB0.149-
predicted_H0.330-
predicted_HR0.080-
predicted_OBP0.287-
predicted_R0.619-
predicted_RBI0.260-
predicted_SLG0.475-
predicted_SO0.810-
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.3910.183
predicted_3B0.0580.052
predicted_AB8.2324.375
predicted_AVG0.2430.007
predicted_BB0.2900.141
predicted_H1.7171.387
predicted_HBP0.312-
predicted_HR0.3380.258
predicted_OBP0.2880.001
predicted_R1.2420.623
predicted_RBI1.0860.826
predicted_SLG0.469-0.006
predicted_SO1.5270.717
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.3910.000
predicted_3B0.0580.000
predicted_AB8.2320.000
predicted_AVG0.216-0.027
predicted_BB0.2950.004
predicted_H1.7810.064
predicted_HBP0.3120.000
predicted_HR0.3460.008
predicted_OBP0.243-0.045
predicted_R1.3270.085
predicted_RBI1.1600.075
predicted_SLG0.404-0.065
predicted_SO1.504-0.023
4. ab_floor_and_scaling

AB rounded to 8 (raw=8.23), rates preserved: AVG=0.216 HR/AB=0.042

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB8.000-
BB0.000-
H2.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB8.0000.000
BB0.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
6. 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.391
predicted_3B0.000-0.058
predicted_AB8.000-0.232
predicted_AVG0.2500.034
predicted_BB0.000-0.295
predicted_H2.0000.219
predicted_HR0.000-0.346
predicted_OBP0.2500.007
predicted_R1.000-0.327
predicted_RBI1.000-0.160
predicted_SLG0.250-0.154
predicted_SO1.000-0.504
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 168
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-17.0001.0000.0001.0000.0001.0001.0000.0000.0000.05880.05880.17650.05880.00000.05880.00000.0000
last_100.203-42.00011.0000.0001.0000.0006.0006.0000.0000.0000.26190.26190.30950.26190.00000.14290.00000.0000
season0.6043-648.000180.00035.0001.00038.000110.000104.00025.000136.0000.27780.32130.51080.27780.05860.16980.03860.2099
Weighted Prediction From Real Data
MetricValue
predicted_2B0.6260
predicted_3B0.1240
predicted_AB13.8490
predicted_AVG0.2525
predicted_BB0.4720
predicted_H3.4970
predicted_HBP0.3120
predicted_HR0.6680
predicted_OBP0.2899
predicted_R2.0410
predicted_RBI2.1460
predicted_SLG0.4602
predicted_SO2.4480
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.20800.62600.3910model_form_blend
predicted_3B0.00600.12400.0577model_form_blend
predicted_AB3.857013.84908.2324model_form_blend
predicted_AVG0.23600.25250.2432model_form_blend
predicted_BB0.14900.47200.2904model_form_blend
predicted_H0.33003.49701.7168model_form_blend
predicted_HBP-0.31200.3120form_only
predicted_HR0.08000.66800.3375model_form_blend
predicted_OBP0.28700.28990.2883model_form_blend
predicted_R0.61902.04101.2417model_form_blend
predicted_RBI0.26002.14601.0859model_form_blend
predicted_SLG0.47500.46020.4685model_form_blend
predicted_SO0.81002.44801.5273model_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 used168
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

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

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_AB5
Hitting_AVG0.2
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB3
Hitting_battingOrder1
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedLF-RF
gameID20260520_CLE@DET
game_typefull
mlbID682657
playerID682657
playerNameAngel Martínez
posLF
startedTrue
startingPositionLF
teamCLE
teamID8
game_date2026-05-20
sl_k_percent19.9
sl_bb_percent3.6
sl_woba0.351
sl_xwoba0.324
sl_xba0.264
sl_xslg0.437
sl_sweet_spot_percent33.3
sl_barrel_batted_rate9.8
sl_hard_hit_percent36.9
sl_exit_velocity_avg88.6
sl_launch_angle_avg14.3
sl_whiff_percent17.4
sl_swing_percent52.6
Steven Kwan (680757) · BATTER · CF · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 206
All-history rows before 20260521: 206
System season_avg: 0.2090
Data season_avg (2026 season-to-date): 0.2095
Diff (system - data): -0.0005
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.1761.0001.000Hitting_2B0.1750.0000.8251.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.8203.0008.000Hitting_AB3.8012.000-0.8011.000
predicted_AVG0.2250.6670.250Hitting_AVG0.2090.5000.4570.167
predicted_BB0.7021.0002.000Hitting_BB0.6991.0000.3010.000
predicted_CS-0.0000.000BaseRunning_CS0.0190.000-0.0190.000
predicted_H0.7902.0002.000Hitting_H0.7961.0001.2041.000
predicted_HR0.0500.0000.000Hitting_HR0.0190.000-0.0190.000
predicted_OBP0.3650.7500.400Hitting_OBP0.3330.6670.4170.083
predicted_R0.5710.0002.000Hitting_R0.5680.000-0.5680.000
predicted_RBI0.3200.0001.000Hitting_RBI0.2520.000-0.2520.000
predicted_SLG0.3181.0000.375Hitting_SLG0.2710.5000.7290.500
predicted_SO0.5321.0001.000Hitting_SO0.5290.0000.4711.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_H: 0.7900 -> 2.0000 (boost 1.2100, better)
Biggest Deboostpredicted_AB: 3.8200 -> 3.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_blend1010091predicted_AB: 3.8200 -> 8.4633 (boost 4.6433, 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_snapshot66060predicted_R: 1.6893 -> 1.8052 (boost 0.1159, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling61515predicted_2B: 0.7501 -> 1.0000 (boost 0.2499, better)predicted_AB: 8.4633 -> 8.0000 (deboost -0.4633, worse)AB rounded to 8 (raw=8.46), rates preserved: AVG=0.249 HR/AB=0.007
5bvp_blend00000--Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.182)
6consistency_constraints11010predicted_R: 1.8052 -> 2.0000 (boost 0.1948, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context21111predicted_SLG: 0.3591 -> 0.3750 (boost 0.0159, better)predicted_OBP: 0.4160 -> 0.4000 (deboost -0.0160, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference40404-predicted_AB: 8.0000 -> 3.0000 (deboost -5.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final21111predicted_OBP: 0.4000 -> 0.4160 (boost 0.0160, better)predicted_SLG: 0.3750 -> 0.3591 (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": "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.176,
        "predicted_3B": 0.0,
        "predicted_AB": 3.82,
        "predicted_AVG": 0.225,
        "predicted_BB": 0.702,
        "predicted_H": 0.79,
        "predicted_HR": 0.05,
        "predicted_OBP": 0.365,
        "predicted_R": 0.571,
        "predicted_RBI": 0.32,
        "predicted_SLG": 0.318,
        "predicted_SO": 0.532
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.7501,
        "predicted_3B": 0.0009,
        "predicted_AB": 8.4633,
        "predicted_AVG": 0.2364,
        "predicted_BB": 2.3874,
        "predicted_H": 2.0291,
        "predicted_HBP": 0.088,
        "predicted_HR": 0.0593,
        "predicted_OBP": 0.3721,
        "predicted_R": 1.6893,
        "predicted_RBI": 0.9457,
        "predicted_SLG": 0.3405,
        "predicted_SO": 1.055
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.176,
          "after": 0.7501,
          "delta": 0.5741,
          "percent_delta": 3.2619,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.82,
          "after": 8.4633,
          "delta": 4.6433,
          "percent_delta": 1.2155,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.225,
          "after": 0.2364,
          "delta": 0.0114,
          "percent_delta": 0.0507,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.702,
          "after": 2.3874,
          "delta": 1.6854,
          "percent_delta": 2.4009,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.79,
          "after": 2.0291,
          "delta": 1.2391,
          "percent_delta": 1.5685,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.05,
          "after": 0.0593,
          "delta": 0.0093,
          "percent_delta": 0.186,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.365,
          "after": 0.3721,
          "delta": 0.0071,
          "percent_delta": 0.0195,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.571,
          "after": 1.6893,
          "delta": 1.1183,
          "percent_delta": 1.9585,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.32,
          "after": 0.9457,
          "delta": 0.6257,
          "percent_delta": 1.9553,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.318,
          "after": 0.3405,
          "delta": 0.0225,
          "percent_delta": 0.0708,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.532,
          "after": 1.055,
          "delta": 0.523,
          "percent_delta": 0.9831,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 10,
        "boosted_metrics": 10,
        "deboosted_metrics": 0,
        "better_metrics": 9,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.82,
          "after": 8.4633,
          "delta": 4.6433,
          "percent_delta": 1.2155,
          "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": 2,
        "last_10": 4,
        "season": 45
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.7501,
        "predicted_3B": 0.0009,
        "predicted_AB": 8.4633,
        "predicted_AVG": 0.2487,
        "predicted_BB": 2.4237,
        "predicted_H": 2.1052,
        "predicted_HBP": 0.088,
        "predicted_HR": 0.0607,
        "predicted_OBP": 0.416,
        "predicted_R": 1.8052,
        "predicted_RBI": 1.0106,
        "predicted_SLG": 0.3591,
        "predicted_SO": 1.039
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.7501,
          "after": 0.7501,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.4633,
          "after": 8.4633,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2364,
          "after": 0.2487,
          "delta": 0.0123,
          "percent_delta": 0.052,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 2.3874,
          "after": 2.4237,
          "delta": 0.0363,
          "percent_delta": 0.0152,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0291,
          "after": 2.1052,
          "delta": 0.0761,
          "percent_delta": 0.0375,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.088,
          "after": 0.088,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0593,
          "after": 0.0607,
          "delta": 0.0014,
          "percent_delta": 0.0236,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3721,
          "after": 0.416,
          "delta": 0.0439,
          "percent_delta": 0.118,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.6893,
          "after": 1.8052,
          "delta": 0.1159,
          "percent_delta": 0.0686,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.9457,
          "after": 1.0106,
          "delta": 0.0649,
          "percent_delta": 0.0686,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3405,
          "after": 0.3591,
          "delta": 0.0186,
          "percent_delta": 0.0546,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.055,
          "after": 1.039,
          "delta": -0.016,
          "percent_delta": -0.0152,
          "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_R",
          "before": 1.6893,
          "after": 1.8052,
          "delta": 0.1159,
          "percent_delta": 0.0686,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 8 (raw=8.46), rates preserved: AVG=0.249 HR/AB=0.007",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 2.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.7501,
          "after": 1.0,
          "delta": 0.2499,
          "percent_delta": 0.3332,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.4633,
          "after": 8.0,
          "delta": -0.4633,
          "percent_delta": -0.0547,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 2.4237,
          "after": 2.0,
          "delta": -0.4237,
          "percent_delta": -0.1748,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.1052,
          "after": 2.0,
          "delta": -0.1052,
          "percent_delta": -0.05,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.088,
          "after": 0.0,
          "delta": -0.088,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0607,
          "after": 0.0,
          "delta": -0.0607,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0106,
          "after": 1.0,
          "delta": -0.0106,
          "percent_delta": -0.0105,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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": 6,
        "boosted_metrics": 1,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.7501,
          "after": 1.0,
          "delta": 0.2499,
          "percent_delta": 0.3332,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 8.4633,
          "after": 8.0,
          "delta": -0.4633,
          "percent_delta": -0.0547,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.182)",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 2.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "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": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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_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_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.8927,
        "bvp": 0.1073
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 2.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 2.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "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": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.8052,
          "after": 2.0,
          "delta": 0.1948,
          "percent_delta": 0.1079,
          "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": 1.8052,
          "after": 2.0,
          "delta": 0.1948,
          "percent_delta": 0.1079,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 2.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.4,
        "predicted_R": 2.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.375,
        "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": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2487,
          "after": 0.25,
          "delta": 0.0013,
          "percent_delta": 0.0052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.416,
          "after": 0.4,
          "delta": -0.016,
          "percent_delta": -0.0385,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 2.0,
          "after": 2.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.3591,
          "after": 0.375,
          "delta": 0.0159,
          "percent_delta": 0.0443,
          "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.3591,
          "after": 0.375,
          "delta": 0.0159,
          "percent_delta": 0.0443,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.416,
          "after": 0.4,
          "delta": -0.016,
          "percent_delta": -0.0385,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "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": 8.0,
          "after": 3.0,
          "delta": -5.0,
          "percent_delta": -0.625,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 3.0,
          "delta": -5.0,
          "percent_delta": -0.625,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2487,
        "predicted_BB": 1.0,
        "predicted_CF": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.416,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3591,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2487,
          "delta": -0.0013,
          "percent_delta": -0.005,
          "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": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.4,
          "after": 0.416,
          "delta": 0.016,
          "percent_delta": 0.04,
          "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.375,
          "after": 0.3591,
          "delta": -0.0159,
          "percent_delta": -0.0424,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "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.4,
          "after": 0.416,
          "delta": 0.016,
          "percent_delta": 0.04,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.375,
          "after": 0.3591,
          "delta": -0.0159,
          "percent_delta": -0.0424,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.176,
        "after": 1.0,
        "delta": 0.824,
        "percent_delta": 4.6818,
        "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.82,
        "after": 3.0,
        "delta": -0.82,
        "percent_delta": -0.2147,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.225,
        "after": 0.2487,
        "delta": 0.0237,
        "percent_delta": 0.1053,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.702,
        "after": 1.0,
        "delta": 0.298,
        "percent_delta": 0.4245,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.79,
        "after": 2.0,
        "delta": 1.21,
        "percent_delta": 1.5316,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.05,
        "after": 0.0,
        "delta": -0.05,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.365,
        "after": 0.416,
        "delta": 0.051,
        "percent_delta": 0.1397,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.571,
        "after": 0.0,
        "delta": -0.571,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.32,
        "after": 0.0,
        "delta": -0.32,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.318,
        "after": 0.3591,
        "delta": 0.0411,
        "percent_delta": 0.1292,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.532,
        "after": 1.0,
        "delta": 0.468,
        "percent_delta": 0.8797,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 7,
      "deboosted_metrics": 4,
      "better_metrics": 6,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.79,
        "after": 2.0,
        "delta": 1.21,
        "percent_delta": 1.5316,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 3.82,
        "after": 3.0,
        "delta": -0.82,
        "percent_delta": -0.2147,
        "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.176-
predicted_3B0.000-
predicted_AB3.820-
predicted_AVG0.225-
predicted_BB0.702-
predicted_H0.790-
predicted_HR0.050-
predicted_OBP0.365-
predicted_R0.571-
predicted_RBI0.320-
predicted_SLG0.318-
predicted_SO0.532-
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.7500.574
predicted_3B0.0010.001
predicted_AB8.4634.643
predicted_AVG0.2360.011
predicted_BB2.3871.685
predicted_H2.0291.239
predicted_HBP0.088-
predicted_HR0.0590.009
predicted_OBP0.3720.007
predicted_R1.6891.118
predicted_RBI0.9460.626
predicted_SLG0.3410.023
predicted_SO1.0550.523
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.7500.000
predicted_3B0.0010.000
predicted_AB8.4630.000
predicted_AVG0.2490.012
predicted_BB2.4240.036
predicted_H2.1050.076
predicted_HBP0.0880.000
predicted_HR0.0610.001
predicted_OBP0.4160.044
predicted_R1.8050.116
predicted_RBI1.0110.065
predicted_SLG0.3590.019
predicted_SO1.039-0.016
4. ab_floor_and_scaling

AB rounded to 8 (raw=8.46), rates preserved: AVG=0.249 HR/AB=0.007

MetricValueDelta vs Prev Step
2B1.000-
3B0.000-
AB8.000-
BB2.000-
H2.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
5. bvp_blend

Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.182)

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB8.0000.000
BB2.0000.000
H2.0000.000
HR0.0000.000
RBI1.0000.000
SO1.0000.000
6. consistency_constraints

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

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB8.0000.000
BB2.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R2.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B1.0000.250
predicted_3B0.000-0.001
predicted_AB8.000-0.463
predicted_AVG0.2500.001
predicted_BB2.000-0.424
predicted_H2.000-0.105
predicted_HR0.000-0.061
predicted_OBP0.400-0.016
predicted_R2.0000.195
predicted_RBI1.000-0.011
predicted_SLG0.3750.016
predicted_SO1.000-0.039
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB3.000-5.000
BB1.000-1.000
CS0.0000.000
H2.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-2.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: 205
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-10.0005.0004.0000.0000.0004.0004.0005.0000.0000.50000.52630.90000.50000.00000.40000.50000.0000
last_100.204-16.0005.0004.0000.0000.0004.0009.00019.0001.0000.31250.61540.56250.31250.00000.25001.18750.0625
season0.6045-783.000164.00036.0000.0004.00052.000117.000144.000109.0000.20950.33330.27080.20940.00510.06640.18390.1392
Weighted Prediction From Real Data
MetricValue
predicted_2B1.4780
predicted_3B0.0020
predicted_AB14.3500
predicted_AVG0.2509
predicted_BB4.5240
predicted_H3.6000
predicted_HBP0.0880
predicted_HR0.0710
predicted_OBP0.3812
predicted_R3.1070
predicted_RBI1.7390
predicted_SLG0.3690
predicted_SO1.7180
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17601.47800.7501model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB3.820014.35008.4633model_form_blend
predicted_AVG0.22500.25090.2364model_form_blend
predicted_BB0.70204.52402.3874model_form_blend
predicted_H0.79003.60002.0291model_form_blend
predicted_HBP-0.08800.0880form_only
predicted_HR0.05000.07100.0593model_form_blend
predicted_OBP0.36500.38120.3721model_form_blend
predicted_R0.57103.10701.6893model_form_blend
predicted_RBI0.32001.73900.9457model_form_blend
predicted_SLG0.31800.36900.3405model_form_blend
predicted_SO0.53201.71801.0550model_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 date206
Season rows before report date206
Report year2026
Profile rows used205
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
HR0
R0
RBI0
BB1
SO1
SF0
HBP0
season_avg0.209

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB2
Hitting_AVG0.5
Hitting_BB1
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC1
Hitting_SF0
Hitting_SO0
Hitting_TB1
Hitting_battingOrder7
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedCF-LF
gameID20260520_CLE@DET
game_typefull
mlbID680757
playerID680757
playerNameSteven Kwan
posCF
startedTrue
startingPositionCF
teamCLE
teamID8
game_date2026-05-20
sl_k_percent11.3
sl_bb_percent15.2
sl_woba0.284
sl_xwoba0.295
sl_xba0.223
sl_xslg0.281
sl_sweet_spot_percent33.1
sl_barrel_batted_rate0.7
sl_hard_hit_percent10.2
sl_exit_velocity_avg82.3
sl_launch_angle_avg15.0
sl_whiff_percent8.0
sl_swing_percent34.2
Patrick Bailey (672275) · BATTER · C · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 13
All-history rows before 20260521: 13
System season_avg: 0.1400
Data season_avg (2026 season-to-date): 0.1026
Diff (system - data): 0.0374
System opponent_avg: 0.1400
System season_avg diverges from 2026 season-to-date by 0.0374. 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.0410.0000.000Hitting_2B0.3080.000-0.3080.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.0824.0006.000Hitting_AB3.0004.0001.0000.000
predicted_AVG0.2140.0000.167Hitting_AVG0.1030.000-0.1030.000
predicted_BB0.2580.0000.000Hitting_BB0.2310.000-0.2310.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.5200.0001.000Hitting_H0.3080.000-0.3080.000
predicted_HR0.0600.0000.000Hitting_HR0.0000.0000.0000.000
predicted_OBP0.2300.0000.167Hitting_OBP0.1670.000-0.1670.000
predicted_R0.1860.0000.000Hitting_R0.0000.0000.0000.000
predicted_RBI0.2900.0001.000Hitting_RBI0.2311.000-0.231-1.000
predicted_SLG0.2700.0000.167Hitting_SLG0.2050.000-0.2050.000
predicted_SO0.7322.0001.000Hitting_SO0.5381.0001.4621.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.7320 -> 2.0000 (boost 1.2680, worse)
Biggest Deboostpredicted_H: 0.5200 -> 0.0000 (deboost -0.5200, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend107364predicted_AB: 3.0820 -> 5.5917 (boost 2.5097, better)predicted_AVG: 0.2140 -> 0.1888 (deboost -0.0252, worse)Final model 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_AVG: 0.1888 -> 0.1652 (deboost -0.0236, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling73443predicted_RBI: 0.4798 -> 1.0000 (boost 0.5202, better)predicted_BB: 0.4480 -> 0.0000 (deboost -0.4480, worse)AB rounded to 6 (raw=5.59), rates preserved: AVG=0.165 HR/AB=0.013
5consistency_constraints10101-predicted_R: 0.3364 -> 0.0000 (deboost -0.3364, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context20202-predicted_SLG: 0.2415 -> 0.1670 (deboost -0.0745, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference41304predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse)predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final22020predicted_SLG: 0.1670 -> 0.2415 (boost 0.0745, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "672275",
  "player_name": "Patrick Bailey",
  "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.041,
        "predicted_3B": 0.0,
        "predicted_AB": 3.082,
        "predicted_AVG": 0.214,
        "predicted_BB": 0.258,
        "predicted_H": 0.52,
        "predicted_HR": 0.06,
        "predicted_OBP": 0.23,
        "predicted_R": 0.186,
        "predicted_RBI": 0.29,
        "predicted_SLG": 0.27,
        "predicted_SO": 0.732
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1992,
        "predicted_3B": 0.0013,
        "predicted_AB": 5.5917,
        "predicted_AVG": 0.1888,
        "predicted_BB": 0.4413,
        "predicted_H": 0.8904,
        "predicted_HBP": 0.007,
        "predicted_HR": 0.0732,
        "predicted_OBP": 0.224,
        "predicted_R": 0.3148,
        "predicted_RBI": 0.449,
        "predicted_SLG": 0.2537,
        "predicted_SO": 1.2151
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.041,
          "after": 0.1992,
          "delta": 0.1582,
          "percent_delta": 3.8585,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0013,
          "delta": 0.0013,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.082,
          "after": 5.5917,
          "delta": 2.5097,
          "percent_delta": 0.8143,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.214,
          "after": 0.1888,
          "delta": -0.0252,
          "percent_delta": -0.1178,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.258,
          "after": 0.4413,
          "delta": 0.1833,
          "percent_delta": 0.7105,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.52,
          "after": 0.8904,
          "delta": 0.3704,
          "percent_delta": 0.7123,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.06,
          "after": 0.0732,
          "delta": 0.0132,
          "percent_delta": 0.22,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.23,
          "after": 0.224,
          "delta": -0.006,
          "percent_delta": -0.0261,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.186,
          "after": 0.3148,
          "delta": 0.1288,
          "percent_delta": 0.6925,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.29,
          "after": 0.449,
          "delta": 0.159,
          "percent_delta": 0.5483,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.27,
          "after": 0.2537,
          "delta": -0.0163,
          "percent_delta": -0.0604,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.732,
          "after": 1.2151,
          "delta": 0.4831,
          "percent_delta": 0.66,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 10,
        "boosted_metrics": 7,
        "deboosted_metrics": 3,
        "better_metrics": 6,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.082,
          "after": 5.5917,
          "delta": 2.5097,
          "percent_delta": 0.8143,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.214,
          "after": 0.1888,
          "delta": -0.0252,
          "percent_delta": -0.1178,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 2,
        "last_10": 4,
        "season": 31
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1992,
        "predicted_3B": 0.0013,
        "predicted_AB": 5.5917,
        "predicted_AVG": 0.1652,
        "predicted_BB": 0.448,
        "predicted_H": 0.9238,
        "predicted_HBP": 0.007,
        "predicted_HR": 0.075,
        "predicted_OBP": 0.2271,
        "predicted_R": 0.3364,
        "predicted_RBI": 0.4798,
        "predicted_SLG": 0.2415,
        "predicted_SO": 1.1966
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1992,
          "after": 0.1992,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0013,
          "after": 0.0013,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.5917,
          "after": 5.5917,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1888,
          "after": 0.1652,
          "delta": -0.0236,
          "percent_delta": -0.125,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4413,
          "after": 0.448,
          "delta": 0.0067,
          "percent_delta": 0.0152,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8904,
          "after": 0.9238,
          "delta": 0.0334,
          "percent_delta": 0.0375,
          "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.0732,
          "after": 0.075,
          "delta": 0.0018,
          "percent_delta": 0.0246,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.224,
          "after": 0.2271,
          "delta": 0.0031,
          "percent_delta": 0.0138,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3148,
          "after": 0.3364,
          "delta": 0.0216,
          "percent_delta": 0.0686,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.449,
          "after": 0.4798,
          "delta": 0.0308,
          "percent_delta": 0.0686,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2537,
          "after": 0.2415,
          "delta": -0.0122,
          "percent_delta": -0.0481,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2151,
          "after": 1.1966,
          "delta": -0.0185,
          "percent_delta": -0.0152,
          "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.1888,
          "after": 0.1652,
          "delta": -0.0236,
          "percent_delta": -0.125,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 6 (raw=5.59), rates preserved: AVG=0.165 HR/AB=0.013",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.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.1992,
          "after": 0.0,
          "delta": -0.1992,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0013,
          "after": 0.0,
          "delta": -0.0013,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.5917,
          "after": 6.0,
          "delta": 0.4083,
          "percent_delta": 0.073,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.448,
          "after": 0.0,
          "delta": -0.448,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9238,
          "after": 1.0,
          "delta": 0.0762,
          "percent_delta": 0.0825,
          "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.075,
          "after": 0.0,
          "delta": -0.075,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4798,
          "after": 1.0,
          "delta": 0.5202,
          "percent_delta": 1.0842,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1966,
          "after": 1.0,
          "delta": -0.1966,
          "percent_delta": -0.1643,
          "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.4798,
          "after": 1.0,
          "delta": 0.5202,
          "percent_delta": 1.0842,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.448,
          "after": 0.0,
          "delta": -0.448,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 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": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3364,
          "after": 0.0,
          "delta": -0.3364,
          "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.3364,
          "after": 0.0,
          "delta": -0.3364,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_AVG": 0.167,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.167,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.167,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1652,
          "after": 0.167,
          "delta": 0.0018,
          "percent_delta": 0.0109,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2271,
          "after": 0.167,
          "delta": -0.0601,
          "percent_delta": -0.2646,
          "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.2415,
          "after": 0.167,
          "delta": -0.0745,
          "percent_delta": -0.3085,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "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.2415,
          "after": 0.167,
          "delta": -0.0745,
          "percent_delta": -0.3085,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 4.0,
          "delta": -2.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 4.0,
          "delta": -2.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.1652,
        "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.2271,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2415,
        "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.167,
          "after": 0.1652,
          "delta": -0.0018,
          "percent_delta": -0.0107,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.167,
          "after": 0.2271,
          "delta": 0.0601,
          "percent_delta": 0.3601,
          "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.167,
          "after": 0.2415,
          "delta": 0.0745,
          "percent_delta": 0.4462,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.167,
          "after": 0.2415,
          "delta": 0.0745,
          "percent_delta": 0.4462,
          "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.041,
        "after": 0.0,
        "delta": -0.041,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.082,
        "after": 4.0,
        "delta": 0.918,
        "percent_delta": 0.2979,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.214,
        "after": 0.1652,
        "delta": -0.0488,
        "percent_delta": -0.228,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.258,
        "after": 0.0,
        "delta": -0.258,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.52,
        "after": 0.0,
        "delta": -0.52,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.06,
        "after": 0.0,
        "delta": -0.06,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.23,
        "after": 0.2271,
        "delta": -0.0029,
        "percent_delta": -0.0126,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.186,
        "after": 0.0,
        "delta": -0.186,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.29,
        "after": 0.0,
        "delta": -0.29,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.27,
        "after": 0.2415,
        "delta": -0.0285,
        "percent_delta": -0.1056,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.732,
        "after": 2.0,
        "delta": 1.268,
        "percent_delta": 1.7322,
        "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.732,
        "after": 2.0,
        "delta": 1.268,
        "percent_delta": 1.7322,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.52,
        "after": 0.0,
        "delta": -0.52,
        "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.041-
predicted_3B0.000-
predicted_AB3.082-
predicted_AVG0.214-
predicted_BB0.258-
predicted_H0.520-
predicted_HR0.060-
predicted_OBP0.230-
predicted_R0.186-
predicted_RBI0.290-
predicted_SLG0.270-
predicted_SO0.732-
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.1990.158
predicted_3B0.0010.001
predicted_AB5.5922.510
predicted_AVG0.189-0.025
predicted_BB0.4410.183
predicted_H0.8900.370
predicted_HBP0.007-
predicted_HR0.0730.013
predicted_OBP0.224-0.006
predicted_R0.3150.129
predicted_RBI0.4490.159
predicted_SLG0.254-0.016
predicted_SO1.2150.483
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.1990.000
predicted_3B0.0010.000
predicted_AB5.5920.000
predicted_AVG0.165-0.024
predicted_BB0.4480.007
predicted_H0.9240.033
predicted_HBP0.0070.000
predicted_HR0.0750.002
predicted_OBP0.2270.003
predicted_R0.3360.022
predicted_RBI0.4800.031
predicted_SLG0.241-0.012
predicted_SO1.197-0.018
4. ab_floor_and_scaling

AB rounded to 6 (raw=5.59), rates preserved: AVG=0.165 HR/AB=0.013

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB6.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
6. 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.199
predicted_3B0.000-0.001
predicted_AB6.0000.408
predicted_AVG0.1670.002
predicted_BB0.000-0.448
predicted_H1.0000.076
predicted_HR0.000-0.075
predicted_OBP0.167-0.060
predicted_R0.000-0.336
predicted_RBI1.0000.520
predicted_SLG0.167-0.074
predicted_SO1.000-0.197
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.000-2.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
SO2.0001.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 97
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-20.0004.0004.0000.0000.0001.0000.0000.0001.0000.20000.20000.40000.20000.00000.05000.00000.0500
last_100.204-30.0004.0004.0000.0000.0003.0000.0003.0004.0000.13330.21210.26670.13330.00000.10000.10000.1333
season0.6031-299.00042.0004.0000.0003.00020.00018.00025.00071.0000.14050.20680.18390.14050.01000.06690.08360.2375
Weighted Prediction From Real Data
MetricValue
predicted_2B0.4130
predicted_3B0.0030
predicted_AB8.9840
predicted_AVG0.1548
predicted_BB0.6890
predicted_H1.3910
predicted_HBP0.0070
predicted_HR0.0910
predicted_OBP0.2158
predicted_R0.4890
predicted_RBI0.6640
predicted_SLG0.2317
predicted_SO1.8680
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.04100.41300.1992model_form_blend
predicted_3B0.00000.00300.0013model_form_blend
predicted_AB3.08208.98405.5917model_form_blend
predicted_AVG0.21400.15480.1888model_form_blend
predicted_BB0.25800.68900.4413model_form_blend
predicted_H0.52001.39100.8904model_form_blend
predicted_HBP-0.00700.0070form_only
predicted_HR0.06000.09100.0732model_form_blend
predicted_OBP0.23000.21580.2240model_form_blend
predicted_R0.18600.48900.3148model_form_blend
predicted_RBI0.29000.66400.4490model_form_blend
predicted_SLG0.27000.23170.2537model_form_blend
predicted_SO0.73201.86801.2151model_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 date13
Season rows before report date13
Report year2026
Profile rows used97
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

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

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_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder8
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedC
gameID20260520_CLE@DET
game_typefull
mlbID672275
playerID672275
playerNamePatrick Bailey
posC
startedTrue
startingPositionC
teamCLE
teamID8
game_date2026-05-20
sl_k_percent23.8
sl_bb_percent7.9
sl_woba0.187
sl_xwoba0.283
sl_xba0.222
sl_xslg0.356
sl_sweet_spot_percent31.9
sl_barrel_batted_rate5.9
sl_hard_hit_percent39.1
sl_exit_velocity_avg90.0
sl_launch_angle_avg11.3
sl_whiff_percent26.4
sl_swing_percent48.2
Brayan Rocchio (677587) · BATTER · SS · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 183
All-history rows before 20260521: 183
System season_avg: 0.2820
Data season_avg (2026 season-to-date): 0.2820
Diff (system - data): -0.0000
System opponent_avg: 0.2690

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1090.0000.000Hitting_2B0.1090.000-0.1090.000
predicted_3B0.0220.0000.000Hitting_3B0.0220.000-0.0220.000
predicted_AB3.3724.0007.000Hitting_AB3.3723.0000.6281.000
predicted_AVG0.2690.5000.286Hitting_AVG0.2820.0000.2180.500
predicted_BB0.3720.0001.000Hitting_BB0.3721.000-0.372-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0490.000-0.0490.000
predicted_H0.7902.0002.000Hitting_H0.9510.0001.0492.000
predicted_HR0.0900.0000.000Hitting_HR0.0770.000-0.0770.000
predicted_OBP0.3710.5000.375Hitting_OBP0.3660.2500.1340.250
predicted_R0.4811.0001.000Hitting_R0.4811.0000.5190.000
predicted_RBI0.5201.0001.000Hitting_RBI0.5680.0000.4321.000
predicted_SLG0.4370.5000.286Hitting_SLG0.3950.0000.1050.500
predicted_SO0.4152.0001.000Hitting_SO0.4152.0001.5850.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.4150 -> 2.0000 (boost 1.5850, worse)
Biggest Deboostpredicted_BB: 0.3720 -> 0.0000 (deboost -0.3720, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend129384predicted_AB: 3.3720 -> 6.6809 (boost 3.3089, better)predicted_SLG: 0.4370 -> 0.4170 (deboost -0.0200, worse)Final model 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_snapshot63333predicted_R: 1.1775 -> 1.2583 (boost 0.0808, better)predicted_SLG: 0.4170 -> 0.3932 (deboost -0.0238, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling94536predicted_AB: 6.6809 -> 7.0000 (boost 0.3191, better)predicted_HBP: 0.2480 -> 0.0000 (deboost -0.2480, worse)AB rounded to 7 (raw=6.68), rates preserved: AVG=0.255 HR/AB=0.024
5consistency_constraints10101-predicted_R: 1.2583 -> 1.0000 (deboost -0.2583, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context32121predicted_OBP: 0.3412 -> 0.3750 (boost 0.0338, better)predicted_SLG: 0.3932 -> 0.2860 (deboost -0.1072, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference31203predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse)predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final31212predicted_SLG: 0.2860 -> 0.3932 (boost 0.1072, better)predicted_OBP: 0.3750 -> 0.3412 (deboost -0.0338, worse)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.109,
        "predicted_3B": 0.022,
        "predicted_AB": 3.372,
        "predicted_AVG": 0.269,
        "predicted_BB": 0.372,
        "predicted_H": 0.79,
        "predicted_HR": 0.09,
        "predicted_OBP": 0.371,
        "predicted_R": 0.481,
        "predicted_RBI": 0.52,
        "predicted_SLG": 0.437,
        "predicted_SO": 0.415
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1883,
        "predicted_3B": 0.1254,
        "predicted_AB": 6.6809,
        "predicted_AVG": 0.2607,
        "predicted_BB": 0.8626,
        "predicted_H": 1.6411,
        "predicted_HBP": 0.248,
        "predicted_HR": 0.1579,
        "predicted_OBP": 0.3623,
        "predicted_R": 1.1775,
        "predicted_RBI": 1.1306,
        "predicted_SLG": 0.417,
        "predicted_SO": 0.9341
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.109,
          "after": 0.1883,
          "delta": 0.0793,
          "percent_delta": 0.7275,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.022,
          "after": 0.1254,
          "delta": 0.1034,
          "percent_delta": 4.7,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.372,
          "after": 6.6809,
          "delta": 3.3089,
          "percent_delta": 0.9813,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.269,
          "after": 0.2607,
          "delta": -0.0083,
          "percent_delta": -0.0309,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.372,
          "after": 0.8626,
          "delta": 0.4906,
          "percent_delta": 1.3188,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.79,
          "after": 1.6411,
          "delta": 0.8511,
          "percent_delta": 1.0773,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.09,
          "after": 0.1579,
          "delta": 0.0679,
          "percent_delta": 0.7544,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.371,
          "after": 0.3623,
          "delta": -0.0087,
          "percent_delta": -0.0235,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.481,
          "after": 1.1775,
          "delta": 0.6965,
          "percent_delta": 1.448,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.52,
          "after": 1.1306,
          "delta": 0.6106,
          "percent_delta": 1.1742,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.437,
          "after": 0.417,
          "delta": -0.02,
          "percent_delta": -0.0458,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.415,
          "after": 0.9341,
          "delta": 0.5191,
          "percent_delta": 1.2508,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 12,
        "boosted_metrics": 9,
        "deboosted_metrics": 3,
        "better_metrics": 8,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.372,
          "after": 6.6809,
          "delta": 3.3089,
          "percent_delta": 0.9813,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.437,
          "after": 0.417,
          "delta": -0.02,
          "percent_delta": -0.0458,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 3,
        "last_10": 4,
        "season": 48
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1883,
        "predicted_3B": 0.1254,
        "predicted_AB": 6.6809,
        "predicted_AVG": 0.2549,
        "predicted_BB": 0.8757,
        "predicted_H": 1.7026,
        "predicted_HBP": 0.248,
        "predicted_HR": 0.1617,
        "predicted_OBP": 0.3412,
        "predicted_R": 1.2583,
        "predicted_RBI": 1.2082,
        "predicted_SLG": 0.3932,
        "predicted_SO": 0.9199
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1883,
          "after": 0.1883,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.1254,
          "after": 0.1254,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.6809,
          "after": 6.6809,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2607,
          "after": 0.2549,
          "delta": -0.0058,
          "percent_delta": -0.0222,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.8626,
          "after": 0.8757,
          "delta": 0.0131,
          "percent_delta": 0.0152,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.6411,
          "after": 1.7026,
          "delta": 0.0615,
          "percent_delta": 0.0375,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.248,
          "after": 0.248,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1579,
          "after": 0.1617,
          "delta": 0.0038,
          "percent_delta": 0.0241,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3623,
          "after": 0.3412,
          "delta": -0.0211,
          "percent_delta": -0.0582,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.1775,
          "after": 1.2583,
          "delta": 0.0808,
          "percent_delta": 0.0686,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.1306,
          "after": 1.2082,
          "delta": 0.0776,
          "percent_delta": 0.0686,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.417,
          "after": 0.3932,
          "delta": -0.0238,
          "percent_delta": -0.0571,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9341,
          "after": 0.9199,
          "delta": -0.0142,
          "percent_delta": -0.0152,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 1.1775,
          "after": 1.2583,
          "delta": 0.0808,
          "percent_delta": 0.0686,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.417,
          "after": 0.3932,
          "delta": -0.0238,
          "percent_delta": -0.0571,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 7 (raw=6.68), rates preserved: AVG=0.255 HR/AB=0.024",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1883,
          "after": 0.0,
          "delta": -0.1883,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.1254,
          "after": 0.0,
          "delta": -0.1254,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 6.6809,
          "after": 7.0,
          "delta": 0.3191,
          "percent_delta": 0.0478,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.8757,
          "after": 1.0,
          "delta": 0.1243,
          "percent_delta": 0.1419,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.7026,
          "after": 2.0,
          "delta": 0.2974,
          "percent_delta": 0.1747,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.248,
          "after": 0.0,
          "delta": -0.248,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1617,
          "after": 0.0,
          "delta": -0.1617,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.2082,
          "after": 1.0,
          "delta": -0.2082,
          "percent_delta": -0.1723,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9199,
          "after": 1.0,
          "delta": 0.0801,
          "percent_delta": 0.0871,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 4,
        "deboosted_metrics": 5,
        "better_metrics": 3,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 6.6809,
          "after": 7.0,
          "delta": 0.3191,
          "percent_delta": 0.0478,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HBP",
          "before": 0.248,
          "after": 0.0,
          "delta": -0.248,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.0,
          "after": 7.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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.2583,
          "after": 1.0,
          "delta": -0.2583,
          "percent_delta": -0.2053,
          "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": 1.2583,
          "after": 1.0,
          "delta": -0.2583,
          "percent_delta": -0.2053,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.0,
        "predicted_AVG": 0.286,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.375,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.286,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.0,
          "after": 7.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2549,
          "after": 0.286,
          "delta": 0.0311,
          "percent_delta": 0.122,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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.3412,
          "after": 0.375,
          "delta": 0.0338,
          "percent_delta": 0.0991,
          "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.3932,
          "after": 0.286,
          "delta": -0.1072,
          "percent_delta": -0.2726,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.3412,
          "after": 0.375,
          "delta": 0.0338,
          "percent_delta": 0.0991,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3932,
          "after": 0.286,
          "delta": -0.1072,
          "percent_delta": -0.2726,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 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": 7.0,
          "after": 4.0,
          "delta": -3.0,
          "percent_delta": -0.4286,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 7.0,
          "after": 4.0,
          "delta": -3.0,
          "percent_delta": -0.4286,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2549,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3412,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3932,
        "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.286,
          "after": 0.2549,
          "delta": -0.0311,
          "percent_delta": -0.1089,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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.375,
          "after": 0.3412,
          "delta": -0.0338,
          "percent_delta": -0.0901,
          "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.286,
          "after": 0.3932,
          "delta": 0.1072,
          "percent_delta": 0.3748,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.286,
          "after": 0.3932,
          "delta": 0.1072,
          "percent_delta": 0.3748,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.375,
          "after": 0.3412,
          "delta": -0.0338,
          "percent_delta": -0.0901,
          "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.022,
        "after": 0.0,
        "delta": -0.022,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.372,
        "after": 4.0,
        "delta": 0.628,
        "percent_delta": 0.1862,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.269,
        "after": 0.2549,
        "delta": -0.0141,
        "percent_delta": -0.0524,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.372,
        "after": 0.0,
        "delta": -0.372,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.79,
        "after": 2.0,
        "delta": 1.21,
        "percent_delta": 1.5316,
        "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.371,
        "after": 0.3412,
        "delta": -0.0298,
        "percent_delta": -0.0803,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.481,
        "after": 1.0,
        "delta": 0.519,
        "percent_delta": 1.079,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.52,
        "after": 1.0,
        "delta": 0.48,
        "percent_delta": 0.9231,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.437,
        "after": 0.3932,
        "delta": -0.0438,
        "percent_delta": -0.1002,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.415,
        "after": 2.0,
        "delta": 1.585,
        "percent_delta": 3.8193,
        "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.415,
        "after": 2.0,
        "delta": 1.585,
        "percent_delta": 3.8193,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.372,
        "after": 0.0,
        "delta": -0.372,
        "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.109-
predicted_3B0.022-
predicted_AB3.372-
predicted_AVG0.269-
predicted_BB0.372-
predicted_H0.790-
predicted_HR0.090-
predicted_OBP0.371-
predicted_R0.481-
predicted_RBI0.520-
predicted_SLG0.437-
predicted_SO0.415-
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.1880.079
predicted_3B0.1250.103
predicted_AB6.6813.309
predicted_AVG0.261-0.008
predicted_BB0.8630.491
predicted_H1.6410.851
predicted_HBP0.248-
predicted_HR0.1580.068
predicted_OBP0.362-0.009
predicted_R1.1770.697
predicted_RBI1.1310.611
predicted_SLG0.417-0.020
predicted_SO0.9340.519
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.1880.000
predicted_3B0.1250.000
predicted_AB6.6810.000
predicted_AVG0.255-0.006
predicted_BB0.8760.013
predicted_H1.7030.061
predicted_HBP0.2480.000
predicted_HR0.1620.004
predicted_OBP0.341-0.021
predicted_R1.2580.081
predicted_RBI1.2080.078
predicted_SLG0.393-0.024
predicted_SO0.920-0.014
4. ab_floor_and_scaling

AB rounded to 7 (raw=6.68), rates preserved: AVG=0.255 HR/AB=0.024

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB7.000-
BB1.000-
H2.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB7.0000.000
BB1.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
6. 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.188
predicted_3B0.000-0.125
predicted_AB7.0000.319
predicted_AVG0.2860.031
predicted_BB1.0000.124
predicted_H2.0000.297
predicted_HR0.000-0.162
predicted_OBP0.3750.034
predicted_R1.000-0.258
predicted_RBI1.000-0.208
predicted_SLG0.286-0.107
predicted_SO1.0000.080
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 183
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.203-14.0001.0000.0001.0000.0003.0004.0003.0003.0000.07140.23530.21430.07140.00000.21430.21430.2143
last_100.204-26.0008.0000.0004.0002.0005.00017.0009.0006.0000.30770.51350.84620.30770.07690.19230.34620.2308
season0.6048-617.000174.00020.0004.00014.000104.00088.00068.00076.0000.28200.36560.39550.28200.02270.16860.11020.1232
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2900
predicted_3B0.2580
predicted_AB10.9260
predicted_AVG0.2501
predicted_BB1.4920
predicted_H2.7330
predicted_HBP0.2480
predicted_HR0.2450
predicted_OBP0.3512
predicted_R2.0710
predicted_RBI1.9140
predicted_SLG0.3913
predicted_SO1.6000
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.10900.29000.1883model_form_blend
predicted_3B0.02200.25800.1254model_form_blend
predicted_AB3.372010.92606.6809model_form_blend
predicted_AVG0.26900.25010.2607model_form_blend
predicted_BB0.37201.49200.8626model_form_blend
predicted_H0.79002.73301.6411model_form_blend
predicted_HBP-0.24800.2480form_only
predicted_HR0.09000.24500.1579model_form_blend
predicted_OBP0.37100.35120.3623model_form_blend
predicted_R0.48102.07101.1775model_form_blend
predicted_RBI0.52001.91401.1306model_form_blend
predicted_SLG0.43700.39130.4170model_form_blend
predicted_SO0.41501.60000.9341model_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 date183
Season rows before report date183
Report year2026
Profile rows used183
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
RBI1
BB0
SO2
SF0
HBP0
season_avg0.282

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_R1
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
gameID20260520_CLE@DET
game_typefull
mlbID677587
playerID677587
playerNameBrayan Rocchio
posSS
startedTrue
startingPositionSS
teamCLE
teamID8
game_date2026-05-20
sl_k_percent9.9
sl_bb_percent9.9
sl_woba0.35
sl_xwoba0.325
sl_xba0.263
sl_xslg0.367
sl_sweet_spot_percent30.5
sl_barrel_batted_rate2.9
sl_hard_hit_percent30.2
sl_exit_velocity_avg85.5
sl_launch_angle_avg10.6
sl_whiff_percent21.8
sl_swing_percent48.1
Joey Cantillo (676282) · PITCHER · Starter · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 10
All-history rows before 20260521: 10

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB2.4004.000-2.400-4.000
predicted_ER0.0000.0000.000Pitching_ER1.9004.000-1.900-4.000
predicted_H4.0004.0004.000Pitching_H4.4004.000-0.4000.000
predicted_IP5.0005.0005.000Pitching_InningsPitched4.8705.0000.1300.000
predicted_SO4.0004.0004.000Pitching_SO4.5004.000-0.5000.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": "676282",
  "player_name": "Joey Cantillo",
  "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": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 4.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.0,
        "predicted_SO": 4.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 4.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.0,
        "predicted_R": 0.0,
        "predicted_SO": 4.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 4.0,
        "after": 4.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 5.0,
        "after": 5.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 4.0,
        "after": 4.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 0,
      "boosted_metrics": 0,
      "deboosted_metrics": 0,
      "better_metrics": 0,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": null,
      "has_material_change": false,
      "dominant_effect": "neutral"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER0.000-
predicted_H4.000-
predicted_HR0.000-
predicted_IP5.000-
predicted_SO4.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 10
Reference playing time: 5.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45525.00010.00023.00012.00015.0003.0003.60001.40000.40000.92000.48000.60000.1200
last_100.351050.10019.00044.00024.00045.0006.0003.39741.35100.37750.87420.47680.89400.1192
season0.201050.10019.00044.00024.00045.0006.0003.39741.35100.37750.87420.47680.89400.1192
Weighted Prediction From Real Data
MetricValue
predicted_BB2.2220
predicted_ER2.0850
predicted_ERA3.7538
predicted_H4.5690
predicted_HR0.6160
predicted_IP5.0000
predicted_SO4.0140
predicted_WHIP1.3582
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00002.22201.1314model_form_blend
predicted_ER0.00002.08501.0616model_form_blend
predicted_ERA-3.75383.7538form_only
predicted_H4.00004.56904.2897model_form_blend
predicted_HR0.00000.61600.3137model_form_blend
predicted_IP5.00005.00005.0000model_form_blend
predicted_SO4.00004.01404.0071model_form_blend
predicted_WHIP-1.35821.3582form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP5.0
H4
R0
ER0
BB0
SO4
HR0
BF20
Pitches84

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_BB4
Pitching_Balk0
Pitching_Batters Faced22
Pitching_ER4
Pitching_ERA3.40
Pitching_Flyouts3
Pitching_Groundouts4
Pitching_H4
Pitching_HBP0
Pitching_HR1
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched5.0
Pitching_Pitches87
Pitching_R4
Pitching_SO4
Pitching_Strikes53
Pitching_Wild Pitch0
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260516_CIN@CLE
game_typefull
mlbID676282
playerID676282
playerNameJoey Cantillo
posP
startedTrue
startingPositionP
teamCLE
teamID8
game_date2026-05-16
game_pk824435.0
sl_k_percent21.4
sl_bb_percent11.4
sl_woba0.33
sl_xwoba0.313
sl_sweet_spot_percent27.9
sl_barrel_batted_rate7.9
sl_hard_hit_percent41.4
sl_whiff_percent28.0
sl_swing_percent44.3
sv_pitch_count87.0
sv_outs_recorded_est14.0
sv_release_speed85.2551724137931
sv_release_spin_rate1973.6206896551723
sv_effective_speed86.50114942528737
sv_launch_speed77.04074074074073
sv_launch_angle10.22222222222222
sv_woba_value8.05
sv_woba_denom21.0
sv_delta_run_exp1.235
sv_delta_home_win_exp-0.231
sl_avg_best_speed77.511671449
sl_avg_hyper_speed94.290616496
Cade Smith (671922) · PITCHER · Middle Reliever · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 23
All-history rows before 20260521: 23

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.2170.000-0.2170.000
predicted_ER0.0000.0000.000Pitching_ER0.3040.000-0.3040.000
predicted_H0.0000.0000.000Pitching_H0.9571.000-0.957-1.000
predicted_IP1.0001.0001.000Pitching_InningsPitched1.0091.000-0.0090.000
predicted_SO1.0001.0001.000Pitching_SO1.5221.000-0.5220.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": "Middle Reliever",
  "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": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 0,
      "boosted_metrics": 0,
      "deboosted_metrics": 0,
      "better_metrics": 0,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": null,
      "has_material_change": false,
      "dominant_effect": "neutral"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 23
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.0003.0001.00011.0000.0000.00000.75000.00000.56250.18752.06250.0000
last_100.351010.2001.0007.0001.00020.0000.0000.84380.75000.09380.65620.09381.87500.0000
season0.202323.2007.00022.0005.00035.0001.0002.66201.14080.29580.92960.21131.47890.0423
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2710
predicted_ER0.2880
predicted_ERA2.5882
predicted_H0.8090
predicted_HR0.0710
predicted_IP1.0000
predicted_SO1.4010
predicted_WHIP1.0807
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.27100.1171model_form_blend
predicted_ER0.00000.28800.1244model_form_blend
predicted_ERA-2.58822.5882form_only
predicted_H0.00000.80900.3494model_form_blend
predicted_HR0.00000.07100.0307model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00001.40101.1732model_form_blend
predicted_WHIP-1.08071.0807form_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 date23
Season rows before report date23
Report year2026
Profile rows used23
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H0
R0
ER0
BB0
SO1
HR0
BF3
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 Faced4
Pitching_ER0
Pitching_ERA2.66
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches14
Pitching_R1
Pitching_SO1
Pitching_Strikes10
Pitching_Wild Pitch0
Pitching_decisionS
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260520_CLE@DET
game_typefull
mlbID671922
playerID671922
playerNameCade Smith
posP
startedFalse
startingPositionP
teamCLE
teamID8
game_date2026-05-20
sl_k_percent37.0
sl_bb_percent5.4
sl_woba0.281
sl_xwoba0.258
sl_sweet_spot_percent37.7
sl_barrel_batted_rate9.4
sl_hard_hit_percent49.0
sl_whiff_percent37.5
sl_swing_percent50.7
sl_avg_best_speed81.400623704
sl_avg_hyper_speed95.549387547
Hunter Gaddis (683769) · PITCHER · Middle Reliever · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 14
All-history rows before 20260521: 14

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.4291.000-0.429-1.000
predicted_ER0.0000.0000.000Pitching_ER0.5000.000-0.5000.000
predicted_H0.0000.0000.000Pitching_H1.0000.000-1.0000.000
predicted_IP1.1001.1001.100Pitching_InningsPitched0.6360.2000.4640.900
predicted_SO0.0000.0000.000Pitching_SO0.5710.000-0.5710.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics1
Boosted Metrics1
Deboosted Metrics0
Better Metrics1
Worse Metrics0
Biggest Boostpredicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better)
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final11010predicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "683769",
  "player_name": "Hunter Gaddis",
  "position": "Middle Reliever",
  "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.1,
        "predicted_R": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.1,
          "delta": 0.1,
          "percent_delta": 0.1,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.1,
          "delta": 0.1,
          "percent_delta": 0.1,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.1,
        "delta": 0.1,
        "percent_delta": 0.1,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 1,
      "deboosted_metrics": 0,
      "better_metrics": 1,
      "worse_metrics": 0,
      "biggest_boost": {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.1,
        "delta": 0.1,
        "percent_delta": 0.1,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": null,
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

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: 13
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.0004.0001.0001.0000.0001.92861.07140.21430.85710.21430.21430.0000
last_100.35108.0004.0009.0003.0002.0001.0004.50001.50000.50001.12500.37500.25000.1250
season0.201311.0006.00012.0004.0008.0002.0004.90911.45450.54541.09090.36360.72730.1818
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3410
predicted_ER0.4280
predicted_ERA3.9917
predicted_H0.9240
predicted_HR0.1110
predicted_IP1.0000
predicted_SO0.7360
predicted_WHIP1.3115
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.34100.1213model_form_blend
predicted_ER0.00000.42800.1523model_form_blend
predicted_ERA-3.99173.9917form_only
predicted_H0.00000.92400.3287model_form_blend
predicted_HR0.00000.11100.0395model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO0.00000.73600.2618model_form_blend
predicted_WHIP-1.31151.3115form_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 date14
Season rows before report date14
Report year2026
Profile rows used13
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.1
H0
R0
ER0
BB0
SO0
HR0
BF4
Pitches17

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced3
Pitching_ER0
Pitching_ERA5.73
Pitching_Flyouts0
Pitching_Groundouts2
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners2
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.2
Pitching_Pitches10
Pitching_R0
Pitching_SO0
Pitching_Strikes5
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder5
allPositionsPlayedP
gameID20260519_CLE@DET
game_typefull
mlbID683769
playerID683769
playerNameHunter Gaddis
posP
startedFalse
startingPositionP
teamCLE
teamID8
game_date2026-05-19
game_pk824276.0
sl_k_percent15.1
sl_bb_percent11.3
sl_woba0.377
sl_xwoba0.321
sl_sweet_spot_percent25.6
sl_barrel_batted_rate10.3
sl_hard_hit_percent35.9
sl_whiff_percent33.3
sl_swing_percent46.2
sv_pitch_count11.0
sv_outs_recorded_est2.0
sv_release_speed88.92
sv_release_spin_rate2372.3
sv_effective_speed90.2
sv_launch_speed79.8
sv_launch_angle-15.0
sv_woba_value0.7
sv_woba_denom3.0
sv_delta_run_exp-0.411
sv_delta_home_win_exp-0.247
sl_avg_best_speed80.287297368
sl_avg_hyper_speed93.679751842
Shawn Armstrong (542888) · PITCHER · Middle Reliever · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 12
All-history rows before 20260521: 12

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.5830.000-0.5830.000
predicted_ER0.0000.0000.000Pitching_ER0.4170.000-0.4170.000
predicted_H0.0000.0000.000Pitching_H0.6670.000-0.6670.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.7331.0000.2670.000
predicted_SO0.0000.0000.000Pitching_SO1.0830.000-1.0830.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": "542888",
  "player_name": "Shawn Armstrong",
  "position": "Middle Reliever",
  "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: 11
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.0003.0006.0000.0000.00001.00000.00000.40000.60001.20000.0000
last_100.351010.0001.0007.0005.00011.0001.0000.90001.20000.10000.70000.50001.10000.1000
season0.201110.2002.0008.0005.00013.0002.0001.68751.21880.18750.75000.46881.21880.1875
Weighted Prediction From Real Data
MetricValue
predicted_BB0.4240
predicted_ER0.3530
predicted_ERA3.1733
predicted_H0.8320
predicted_HR0.1130
predicted_IP1.0000
predicted_SO1.0160
predicted_WHIP1.2569
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.42400.1497model_form_blend
predicted_ER0.00000.35300.1246model_form_blend
predicted_ERA-3.17333.1733form_only
predicted_H0.00000.83200.2937model_form_blend
predicted_HR0.00000.11300.0399model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO0.00001.01600.3587model_form_blend
predicted_WHIP-1.25691.2569form_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 date12
Season rows before report date12
Report year2026
Profile rows used11
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
Pitches3

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_ERA4.22
Pitching_Flyouts0
Pitching_Groundouts3
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_pitchingOrder2
allPositionsPlayedP
gameID20260421_HOU@CLE
game_typefull
mlbID542888
playerID542888
playerNameShawn Armstrong
posP
startedFalse
startingPositionP
teamCLE
teamID8
game_date2026-04-21
game_pk824448.0
sl_k_percent27.7
sl_bb_percent14.9
sl_woba0.34
sl_xwoba0.343
sl_sweet_spot_percent34.6
sl_barrel_batted_rate11.5
sl_hard_hit_percent50.0
sl_whiff_percent26.5
sl_swing_percent41.5
sv_pitch_count11.0
sv_outs_recorded_est3.0
sv_release_speed89.89090909090909
sv_release_spin_rate2394.2727272727275
sv_effective_speed90.4
sv_launch_speed71.66666666666667
sv_launch_angle-4.333333333333333
sv_woba_value0.0
sv_woba_denom3.0
sv_delta_run_exp-0.774
sv_delta_home_win_exp0.056
sl_avg_best_speed80.702595385
sl_avg_hyper_speed94.969086154
Erik Sabrowski (681870) · PITCHER · Middle Reliever · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 25
All-history rows before 20260521: 25

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.5202.000-0.520-2.000
predicted_ER0.0000.0000.000Pitching_ER0.1600.000-0.1600.000
predicted_H0.0000.0000.000Pitching_H0.2800.000-0.2800.000
predicted_IP0.2000.2000.200Pitching_InningsPitched0.6720.100-0.4720.100
predicted_SO0.0000.0000.000Pitching_SO1.5601.000-1.560-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.6667 -> 0.2000 (deboost -0.4667, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final10101-predicted_IP: 0.6667 -> 0.2000 (deboost -0.4667, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "681870",
  "player_name": "Erik Sabrowski",
  "position": "Middle Reliever",
  "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": 0.6667,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.2,
        "predicted_R": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 0.6667,
          "after": 0.2,
          "delta": -0.4667,
          "percent_delta": -0.7,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 0.6667,
          "after": 0.2,
          "delta": -0.4667,
          "percent_delta": -0.7,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 0.6667,
        "after": 0.2,
        "delta": -0.4667,
        "percent_delta": -0.7,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 0,
      "deboosted_metrics": 1,
      "better_metrics": 0,
      "worse_metrics": 1,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 0.6667,
        "after": 0.2,
        "delta": -0.4667,
        "percent_delta": -0.7,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER0.000-
predicted_H0.000-
predicted_HR0.000-
predicted_IP0.667-
predicted_SO0.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 25
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.2000.0000.0006.00010.0000.0000.00001.63640.00000.00001.63642.72730.0000
last_100.35107.2000.0000.0007.00018.0000.0000.00000.91300.00000.00000.91302.34780.0000
season0.202521.0004.0007.00013.00039.0001.0001.71430.95240.19050.33330.61901.85710.0476
Weighted Prediction From Real Data
MetricValue
predicted_BB0.5170
predicted_ER0.1910
predicted_ERA2.4693
predicted_H0.3790
predicted_HR0.0530
predicted_IP0.2000
predicted_SO1.1280
predicted_WHIP1.2852
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.51700.2168model_form_blend
predicted_ER0.00000.19100.0801model_form_blend
predicted_ERA-2.46932.4693form_only
predicted_H0.00000.37900.1590model_form_blend
predicted_HR0.00000.05300.0222model_form_blend
predicted_IP0.20000.20000.2000model_form_blend
predicted_SO0.00001.12800.4731model_form_blend
predicted_WHIP-1.28521.2852form_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 date25
Season rows before report date25
Report year2026
Profile rows used25
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP0.2
H0
R0
ER0
BB0
SO0
HR0
BF2
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_BB2
Pitching_Balk0
Pitching_Batters Faced3
Pitching_ER0
Pitching_ERA1.71
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.1
Pitching_Pitches13
Pitching_R0
Pitching_SO1
Pitching_Strikes4
Pitching_Wild Pitch0
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20260520_CLE@DET
game_typefull
mlbID681870
playerID681870
playerNameErik Sabrowski
posP
startedFalse
startingPositionP
teamCLE
teamID8
game_date2026-05-20
sl_k_percent47.5
sl_bb_percent13.8
sl_woba0.2
sl_xwoba0.241
sl_sweet_spot_percent58.1
sl_barrel_batted_rate9.7
sl_hard_hit_percent38.7
sl_whiff_percent36.4
sl_swing_percent47.1
sl_avg_best_speed87.015111875
sl_avg_hyper_speed94.702739355

Home Team: DET

Home Pitcher Deep Analysis

FieldValue
PitcherCasey Mize
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.2319
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0038
Avg Velo89.6164
Avg Spin1980.1766
HB Inches0
IVB Inches0
Release Extension0
Pre IP5.1000
Pre ER1
Pre H5
Pre BB3
Pre SO7
Season ERA2.4324
Season WHIP1.0541
Role Avg IP5.2860
Recent Avg IP5.3330
Last Start IP6
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "DET",
    "games": 55,
    "wins": 22,
    "losses": 33,
    "win_pct": 0.4,
    "runs_scored": 219.0,
    "runs_allowed": 238.0,
    "run_differential": -19.0,
    "run_differential_per_game": -0.3455,
    "avg_runs_scored": 3.9818,
    "avg_runs_allowed": 4.3273,
    "offense_index": 0.8891,
    "defense_index": 1.035,
    "current_streak": "L5",
    "recent": {
      "games": 10,
      "wins": 2,
      "losses": 8,
      "win_pct": 0.2,
      "avg_runs_scored": 2.6,
      "avg_runs_allowed": 4.8,
      "run_differential": -22.0
    },
    "available": true,
    "quality_score": -0.2324
  },
  "opponent": {
    "team": "CLE",
    "games": 58,
    "wins": 33,
    "losses": 25,
    "win_pct": 0.569,
    "runs_scored": 271.0,
    "runs_allowed": 246.0,
    "run_differential": 25.0,
    "run_differential_per_game": 0.431,
    "avg_runs_scored": 4.6724,
    "avg_runs_allowed": 4.2414,
    "offense_index": 1.0433,
    "defense_index": 1.0559,
    "current_streak": "W5",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 5.6,
      "avg_runs_allowed": 3.2,
      "run_differential": 24.0
    },
    "available": true,
    "quality_score": 0.2166
  },
  "edges": {
    "quality_edge": -0.449,
    "offense_edge": -0.1109,
    "opponent_offense_edge": 0.0433,
    "defense_strength": 0.035,
    "opponent_defense_weakness": -0.0559,
    "recent_win_pct_edge": -0.6
  },
  "player_factors": {
    "ip": 0.9814,
    "run_prevention": 1.0259,
    "strikeout": 0.9831
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "663554",
    "profile": {
      "available": true,
      "pitcher_id": "663554",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 128.0,
        "k_percent": 26.5,
        "bb_percent": 7.5,
        "woba": 0.274,
        "xwoba": 0.276,
        "sweet_spot_percent": 28.1,
        "barrel_batted_rate": 8.3,
        "hard_hit_percent": 38.5,
        "avg_best_speed": 76.9686,
        "avg_hyper_speed": 94.1313,
        "whiff_percent": 27.5,
        "swing_percent": 48.2
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": 0.6203,
        "command_and_miss": 0.4293,
        "regression_edge": -0.0571,
        "xwoba_edge": 1.0286,
        "barrel_edge": -0.2444,
        "hard_hit_edge": 0.0286,
        "whiff_edge": 0.2571,
        "bb_edge": 0.475,
        "pitch_design_score": -0.0038
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "663554",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 76,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 76,
          "pitch_usage": 0.0,
          "release_speed": 89.61640771751091,
          "release_spin_rate": 1980.1766092325095,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 76,
            "pitch_usage": 0.0,
            "release_speed": 89.61640771751091,
            "release_spin_rate": 1980.1766092325095,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.6164,
          "release_spin_rate": 1980.1766,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.0038,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.0268,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.2319,
      "sample_weight": 0.512,
      "run_prevention_factor": 0.9803,
      "strikeout_factor": 1.0164,
      "walk_factor": 0.9805,
      "homer_factor": 0.9936,
      "woba_minus_xwoba": -0.002,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "663554",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 0.9899,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 4.0,
        "factor": 0.9899,
        "adjusted": 4
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 0.99,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9967,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 5.0,
        "factor": 1.0084,
        "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": 37.0,
    "ER": 10,
    "H": 28,
    "BB": 11,
    "SO": 39,
    "HR": 2,
    "ERA": 2.4324324324324325,
    "WHIP": 1.054054054054054,
    "K9": 9.486486486486486,
    "HR9": 0.4864864864864865,
    "games_pitched": 7,
    "quality_starts": 4,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 7,
    "error_prone": false
  },
  "games_count": 7,
  "latest_game_date": "2026-05-16T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "663554",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 76,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 76,
    "pitch_usage": 0.0,
    "release_speed": 89.61640771751091,
    "release_spin_rate": 1980.1766092325095,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 76,
      "pitch_usage": 0.0,
      "release_speed": 89.61640771751091,
      "release_spin_rate": 1980.1766092325095,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.6164,
    "release_spin_rate": 1980.1766,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0038,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.0268,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.7627118644067797,
    "last_10": 0.23728813559322032
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 7.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5833,
    "prior_weight": 0.4167
  },
  "role": "pitcher",
  "player_id": "663554",
  "report_date": "20260521_C",
  "season_year": 2026,
  "rows_used": 7,
  "reference_playing_time": 5.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 26.2,
        "ER": 4.0,
        "R": 4.0,
        "H": 17.0,
        "BB": 6.0,
        "SO": 26.0,
        "HR": 0.0,
        "BF": 101.0,
        "Pitches": 361.0
      },
      "per_game": {
        "IP": 5.1,
        "ER": 0.8,
        "R": 0.8,
        "H": 3.4,
        "BB": 1.2,
        "SO": 5.2,
        "HR": 0.0,
        "BF": 20.2,
        "Pitches": 72.2
      },
      "rates": {
        "ERA": 1.35,
        "WHIP": 0.8625,
        "ER_per_IP": 0.15,
        "H_per_IP": 0.6375,
        "BB_per_IP": 0.225,
        "SO_per_IP": 0.975,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 7,
      "totals": {
        "IP": 37.0,
        "ER": 10.0,
        "R": 10.0,
        "H": 28.0,
        "BB": 11.0,
        "SO": 39.0,
        "HR": 2.0,
        "BF": 147.0,
        "Pitches": 544.0
      },
      "per_game": {
        "IP": 5.1,
        "ER": 1.4286,
        "R": 1.4286,
        "H": 4.0,
        "BB": 1.5714,
        "SO": 5.5714,
        "HR": 0.2857,
        "BF": 21.0,
        "Pitches": 77.7143
      },
      "rates": {
        "ERA": 2.4324,
        "WHIP": 1.0541,
        "ER_per_IP": 0.27027,
        "H_per_IP": 0.75676,
        "BB_per_IP": 0.2973,
        "SO_per_IP": 1.05405,
        "HR_per_IP": 0.05405
      }
    },
    "season": {
      "games": 7,
      "totals": {
        "IP": 37.0,
        "ER": 10.0,
        "R": 10.0,
        "H": 28.0,
        "BB": 11.0,
        "SO": 39.0,
        "HR": 2.0,
        "BF": 147.0,
        "Pitches": 544.0
      },
      "per_game": {
        "IP": 5.1,
        "ER": 1.4286,
        "R": 1.4286,
        "H": 4.0,
        "BB": 1.5714,
        "SO": 5.5714,
        "HR": 0.2857,
        "BF": 21.0,
        "Pitches": 77.7143
      },
      "rates": {
        "ERA": 2.4324,
        "WHIP": 1.0541,
        "ER_per_IP": 0.27027,
        "H_per_IP": 0.75676,
        "BB_per_IP": 0.2973,
        "SO_per_IP": 1.05405,
        "HR_per_IP": 0.05405
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 5.1,
    "predicted_ER": 1.602,
    "predicted_H": 4.163,
    "predicted_BB": 1.589,
    "predicted_SO": 5.206,
    "predicted_HR": 0.33,
    "predicted_ERA": 2.7036,
    "predicted_WHIP": 1.0786
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5261,
  "form_weight": 0.4739,
  "form_reliability": 0.5833,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 7.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5833,
    "prior_weight": 0.4167
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 5.1,
      "form": 5.1,
      "final": 5.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 1.602,
      "final": 1.2853,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 5.0,
      "form": 4.163,
      "final": 4.6033,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 3.0,
      "form": 1.589,
      "final": 2.3313,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 7.0,
      "form": 5.206,
      "final": 6.1497,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.33,
      "final": 0.1564,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.7036,
      "final": 2.7036,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.0786,
      "final": 1.0786,
      "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
PitcherKenley Jansen
RoleMiddle Reliever
Projection Source-
Savant Quality Score0.1428
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.1075
Avg Velo91.6039
Avg Spin2616.5749
HB Inches0
IVB Inches0
Release Extension0
Pre IP1.2000
Pre ER0
Pre H1
Pre BB0
Pre SO2
Season ERA2.0250
Season WHIP0.9000
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "DET",
    "games": 55,
    "wins": 22,
    "losses": 33,
    "win_pct": 0.4,
    "runs_scored": 219.0,
    "runs_allowed": 238.0,
    "run_differential": -19.0,
    "run_differential_per_game": -0.3455,
    "avg_runs_scored": 3.9818,
    "avg_runs_allowed": 4.3273,
    "offense_index": 0.8891,
    "defense_index": 1.035,
    "current_streak": "L5",
    "recent": {
      "games": 10,
      "wins": 2,
      "losses": 8,
      "win_pct": 0.2,
      "avg_runs_scored": 2.6,
      "avg_runs_allowed": 4.8,
      "run_differential": -22.0
    },
    "available": true,
    "quality_score": -0.2324
  },
  "opponent": {
    "team": "CLE",
    "games": 58,
    "wins": 33,
    "losses": 25,
    "win_pct": 0.569,
    "runs_scored": 271.0,
    "runs_allowed": 246.0,
    "run_differential": 25.0,
    "run_differential_per_game": 0.431,
    "avg_runs_scored": 4.6724,
    "avg_runs_allowed": 4.2414,
    "offense_index": 1.0433,
    "defense_index": 1.0559,
    "current_streak": "W5",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 5.6,
      "avg_runs_allowed": 3.2,
      "run_differential": 24.0
    },
    "available": true,
    "quality_score": 0.2166
  },
  "edges": {
    "quality_edge": -0.449,
    "offense_edge": -0.1109,
    "opponent_offense_edge": 0.0433,
    "defense_strength": 0.035,
    "opponent_defense_weakness": -0.0559,
    "recent_win_pct_edge": -0.6
  },
  "player_factors": {
    "ip": 0.9814,
    "run_prevention": 1.0259,
    "strikeout": 0.9831
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "445276",
    "profile": {
      "available": true,
      "pitcher_id": "445276",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 49.0,
        "k_percent": 36.7,
        "bb_percent": 10.2,
        "woba": 0.291,
        "xwoba": 0.3,
        "sweet_spot_percent": 46.2,
        "barrel_batted_rate": 11.5,
        "hard_hit_percent": 34.6,
        "avg_best_speed": 74.4413,
        "avg_hyper_speed": 93.916,
        "whiff_percent": 31.3,
        "swing_percent": 45.1
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": 0.0678,
        "command_and_miss": 1.14,
        "regression_edge": -0.2571,
        "xwoba_edge": 0.3429,
        "barrel_edge": -0.9556,
        "hard_hit_edge": 0.5857,
        "whiff_edge": 0.8,
        "bb_edge": -0.2,
        "pitch_design_score": 0.1075
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "445276",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 12,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 12,
          "pitch_usage": 0.0,
          "release_speed": 91.60390752765753,
          "release_spin_rate": 2616.574924242424,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 12,
            "pitch_usage": 0.0,
            "release_speed": 91.60390752765753,
            "release_spin_rate": 2616.574924242424,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.6039,
          "release_spin_rate": 2616.5749,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.1075,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.7682,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.1428,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9879,
      "strikeout_factor": 1.0504,
      "walk_factor": 1.0072,
      "homer_factor": 1.0192,
      "woba_minus_xwoba": -0.009,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "445276",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9946,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9946,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0032,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0086,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 3.0,
        "factor": 1.0227,
        "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": 8.2,
    "ER": 2,
    "H": 4,
    "BB": 4,
    "SO": 12,
    "HR": 1,
    "ERA": 2.076923076923077,
    "WHIP": 0.9230769230769231,
    "K9": 12.461538461538462,
    "HR9": 1.0384615384615385,
    "games_pitched": 9,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-05-20T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "445276",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 12,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 12,
    "pitch_usage": 0.0,
    "release_speed": 91.60390752765753,
    "release_spin_rate": 2616.574924242424,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 12,
      "pitch_usage": 0.0,
      "release_speed": 91.60390752765753,
      "release_spin_rate": 2616.574924242424,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.6039,
    "release_spin_rate": 2616.5749,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1075,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.7682,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 2.641,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.3457,
    "prior_weight": 0.6543
  },
  "role": "pitcher",
  "player_id": "445276",
  "report_date": "20260521_C",
  "season_year": 2026,
  "rows_used": 15,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.0,
        "BB": 1.0,
        "SO": 9.0,
        "HR": 0.0,
        "BF": 16.0,
        "Pitches": 72.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.0,
        "BB": 0.2,
        "SO": 1.8,
        "HR": 0.0,
        "BF": 3.2,
        "Pitches": 14.4
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.2,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.0,
        "BB_per_IP": 0.2,
        "SO_per_IP": 1.8,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.2,
        "ER": 2.0,
        "R": 2.0,
        "H": 5.0,
        "BB": 4.0,
        "SO": 13.0,
        "HR": 1.0,
        "BF": 37.0,
        "Pitches": 166.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.5,
        "BB": 0.4,
        "SO": 1.3,
        "HR": 0.1,
        "BF": 3.7,
        "Pitches": 16.6
      },
      "rates": {
        "ERA": 1.8621,
        "WHIP": 0.931,
        "ER_per_IP": 0.2069,
        "H_per_IP": 0.51724,
        "BB_per_IP": 0.41379,
        "SO_per_IP": 1.34483,
        "HR_per_IP": 0.10345
      }
    },
    "season": {
      "games": 15,
      "totals": {
        "IP": 13.1,
        "ER": 3.0,
        "R": 3.0,
        "H": 7.0,
        "BB": 5.0,
        "SO": 19.0,
        "HR": 2.0,
        "BF": 51.0,
        "Pitches": 220.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.4667,
        "BB": 0.3333,
        "SO": 1.2667,
        "HR": 0.1333,
        "BF": 3.4,
        "Pitches": 14.6667
      },
      "rates": {
        "ERA": 2.025,
        "WHIP": 0.9,
        "ER_per_IP": 0.225,
        "H_per_IP": 0.525,
        "BB_per_IP": 0.375,
        "SO_per_IP": 1.425,
        "HR_per_IP": 0.15
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.349,
    "predicted_H": 0.715,
    "predicted_BB": 0.353,
    "predicted_SO": 1.164,
    "predicted_HR": 0.108,
    "predicted_ERA": 3.1388,
    "predicted_WHIP": 1.068
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.6264,
  "form_weight": 0.3736,
  "form_reliability": 0.3457,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 2.641,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.3457,
    "prior_weight": 0.6543
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.349,
      "final": 0.1304,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.715,
      "final": 0.8935,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.353,
      "final": 0.1319,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 1.164,
      "final": 1.6877,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.108,
      "final": 0.0403,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.1388,
      "final": 3.1388,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.068,
      "final": 1.068,
      "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
PitcherKyle Finnegan
RoleMiddle Reliever
Projection Source-
Savant Quality Score-0.0860
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.1426
Avg Velo92.2296
Avg Spin1849.4925
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO3
Season ERA0.7941
Season WHIP1.3235
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "DET",
    "games": 55,
    "wins": 22,
    "losses": 33,
    "win_pct": 0.4,
    "runs_scored": 219.0,
    "runs_allowed": 238.0,
    "run_differential": -19.0,
    "run_differential_per_game": -0.3455,
    "avg_runs_scored": 3.9818,
    "avg_runs_allowed": 4.3273,
    "offense_index": 0.8891,
    "defense_index": 1.035,
    "current_streak": "L5",
    "recent": {
      "games": 10,
      "wins": 2,
      "losses": 8,
      "win_pct": 0.2,
      "avg_runs_scored": 2.6,
      "avg_runs_allowed": 4.8,
      "run_differential": -22.0
    },
    "available": true,
    "quality_score": -0.2324
  },
  "opponent": {
    "team": "CLE",
    "games": 58,
    "wins": 33,
    "losses": 25,
    "win_pct": 0.569,
    "runs_scored": 271.0,
    "runs_allowed": 246.0,
    "run_differential": 25.0,
    "run_differential_per_game": 0.431,
    "avg_runs_scored": 4.6724,
    "avg_runs_allowed": 4.2414,
    "offense_index": 1.0433,
    "defense_index": 1.0559,
    "current_streak": "W5",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 5.6,
      "avg_runs_allowed": 3.2,
      "run_differential": 24.0
    },
    "available": true,
    "quality_score": 0.2166
  },
  "edges": {
    "quality_edge": -0.449,
    "offense_edge": -0.1109,
    "opponent_offense_edge": 0.0433,
    "defense_strength": 0.035,
    "opponent_defense_weakness": -0.0559,
    "recent_win_pct_edge": -0.6
  },
  "player_factors": {
    "ip": 0.9814,
    "run_prevention": 1.0259,
    "strikeout": 0.9831
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "640448",
    "profile": {
      "available": true,
      "pitcher_id": "640448",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 89.0,
        "k_percent": 15.7,
        "bb_percent": 18.0,
        "woba": 0.336,
        "xwoba": 0.312,
        "sweet_spot_percent": 25.4,
        "barrel_batted_rate": 5.1,
        "hard_hit_percent": 42.4,
        "avg_best_speed": 78.8071,
        "avg_hyper_speed": 94.3739,
        "whiff_percent": 23.8,
        "swing_percent": 44.4
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": -0.0314,
        "command_and_miss": -0.975,
        "regression_edge": 0.6857,
        "xwoba_edge": 0.0,
        "barrel_edge": 0.4667,
        "hard_hit_edge": -0.5286,
        "whiff_edge": -0.2714,
        "bb_edge": -2.15,
        "pitch_design_score": 0.1426
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "640448",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 14,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 14,
          "pitch_usage": 0.0,
          "release_speed": 92.22964278284259,
          "release_spin_rate": 1849.4925415894406,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 14,
            "pitch_usage": 0.0,
            "release_speed": 92.22964278284259,
            "release_spin_rate": 1849.4925415894406,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.2296,
          "release_spin_rate": 1849.4925,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.1426,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.0185,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.086,
      "sample_weight": 0.45,
      "run_prevention_factor": 1.0073,
      "strikeout_factor": 0.9771,
      "walk_factor": 1.0774,
      "homer_factor": 0.9927,
      "woba_minus_xwoba": 0.024,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "640448",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 1.0033,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 1.0033,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0348,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9967,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 0.9897,
        "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": 8,
    "BB": 7,
    "SO": 6,
    "HR": 1,
    "ERA": 0.9,
    "WHIP": 1.5,
    "K9": 5.4,
    "HR9": 0.9,
    "games_pitched": 9,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-05-20T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "640448",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 14,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 14,
    "pitch_usage": 0.0,
    "release_speed": 92.22964278284259,
    "release_spin_rate": 1849.4925415894406,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 14,
      "pitch_usage": 0.0,
      "release_speed": 92.22964278284259,
      "release_spin_rate": 1849.4925415894406,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.2296,
    "release_spin_rate": 1849.4925,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1426,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.0185,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.491,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4732,
    "prior_weight": 0.5268
  },
  "role": "pitcher",
  "player_id": "640448",
  "report_date": "20260521_C",
  "season_year": 2026,
  "rows_used": 21,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 6.0,
        "ER": 1.0,
        "R": 1.0,
        "H": 5.0,
        "BB": 5.0,
        "SO": 2.0,
        "HR": 1.0,
        "BF": 24.0,
        "Pitches": 74.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.2,
        "R": 0.2,
        "H": 1.0,
        "BB": 1.0,
        "SO": 0.4,
        "HR": 0.2,
        "BF": 4.8,
        "Pitches": 14.8
      },
      "rates": {
        "ERA": 1.5,
        "WHIP": 1.6667,
        "ER_per_IP": 0.16667,
        "H_per_IP": 0.83333,
        "BB_per_IP": 0.83333,
        "SO_per_IP": 0.33333,
        "HR_per_IP": 0.16667
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 11.2,
        "ER": 2.0,
        "R": 2.0,
        "H": 10.0,
        "BB": 7.0,
        "SO": 10.0,
        "HR": 2.0,
        "BF": 47.0,
        "Pitches": 174.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.2,
        "R": 0.2,
        "H": 1.0,
        "BB": 0.7,
        "SO": 1.0,
        "HR": 0.2,
        "BF": 4.7,
        "Pitches": 17.4
      },
      "rates": {
        "ERA": 1.5429,
        "WHIP": 1.4571,
        "ER_per_IP": 0.17143,
        "H_per_IP": 0.85714,
        "BB_per_IP": 0.6,
        "SO_per_IP": 0.85714,
        "HR_per_IP": 0.17143
      }
    },
    "season": {
      "games": 21,
      "totals": {
        "IP": 22.2,
        "ER": 2.0,
        "R": 2.0,
        "H": 15.0,
        "BB": 15.0,
        "SO": 15.0,
        "HR": 2.0,
        "BF": 90.0,
        "Pitches": 340.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0952,
        "R": 0.0952,
        "H": 0.7143,
        "BB": 0.7143,
        "SO": 0.7143,
        "HR": 0.0952,
        "BF": 4.2857,
        "Pitches": 16.1905
      },
      "rates": {
        "ERA": 0.7941,
        "WHIP": 1.3235,
        "ER_per_IP": 0.08824,
        "H_per_IP": 0.66176,
        "BB_per_IP": 0.66176,
        "SO_per_IP": 0.66176,
        "HR_per_IP": 0.08824
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.361,
    "predicted_H": 0.989,
    "predicted_BB": 0.605,
    "predicted_SO": 0.875,
    "predicted_HR": 0.159,
    "predicted_ERA": 2.8831,
    "predicted_WHIP": 1.4155
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5726,
  "form_weight": 0.4274,
  "form_reliability": 0.4732,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.491,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4732,
    "prior_weight": 0.5268
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.361,
      "final": 0.1543,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.989,
      "final": 0.4227,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.605,
      "final": 0.2586,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 3.0,
      "form": 0.875,
      "final": 2.0917,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.159,
      "final": 0.068,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.8831,
      "final": 2.8831,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.4155,
      "final": 1.4155,
      "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
PitcherWill Vest
RoleMiddle Reliever
Projection Source-
Savant Quality Score0.2624
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.1592
Avg Velo92.5257
Avg Spin2288.3402
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER4
Pre H5
Pre BB0
Pre SO2
Season ERA5.9268
Season WHIP1.3902
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "DET",
    "games": 55,
    "wins": 22,
    "losses": 33,
    "win_pct": 0.4,
    "runs_scored": 219.0,
    "runs_allowed": 238.0,
    "run_differential": -19.0,
    "run_differential_per_game": -0.3455,
    "avg_runs_scored": 3.9818,
    "avg_runs_allowed": 4.3273,
    "offense_index": 0.8891,
    "defense_index": 1.035,
    "current_streak": "L5",
    "recent": {
      "games": 10,
      "wins": 2,
      "losses": 8,
      "win_pct": 0.2,
      "avg_runs_scored": 2.6,
      "avg_runs_allowed": 4.8,
      "run_differential": -22.0
    },
    "available": true,
    "quality_score": -0.2324
  },
  "opponent": {
    "team": "CLE",
    "games": 58,
    "wins": 33,
    "losses": 25,
    "win_pct": 0.569,
    "runs_scored": 271.0,
    "runs_allowed": 246.0,
    "run_differential": 25.0,
    "run_differential_per_game": 0.431,
    "avg_runs_scored": 4.6724,
    "avg_runs_allowed": 4.2414,
    "offense_index": 1.0433,
    "defense_index": 1.0559,
    "current_streak": "W5",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 5.6,
      "avg_runs_allowed": 3.2,
      "run_differential": 24.0
    },
    "available": true,
    "quality_score": 0.2166
  },
  "edges": {
    "quality_edge": -0.449,
    "offense_edge": -0.1109,
    "opponent_offense_edge": 0.0433,
    "defense_strength": 0.035,
    "opponent_defense_weakness": -0.0559,
    "recent_win_pct_edge": -0.6
  },
  "player_factors": {
    "ip": 0.9814,
    "run_prevention": 1.0259,
    "strikeout": 0.9831
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "676684",
    "profile": {
      "available": true,
      "pitcher_id": "676684",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 54.0,
        "k_percent": 25.5,
        "bb_percent": 10.9,
        "woba": 0.285,
        "xwoba": 0.275,
        "sweet_spot_percent": 17.1,
        "barrel_batted_rate": 5.9,
        "hard_hit_percent": 31.4,
        "avg_best_speed": 78.5359,
        "avg_hyper_speed": 94.3493,
        "whiff_percent": 29.1,
        "swing_percent": 45.5
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": 0.8398,
        "command_and_miss": 0.275,
        "regression_edge": 0.2857,
        "xwoba_edge": 1.0571,
        "barrel_edge": 0.2889,
        "hard_hit_edge": 1.0429,
        "whiff_edge": 0.4857,
        "bb_edge": -0.375,
        "pitch_design_score": 0.1592
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "676684",
        "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": 92.52568420789414,
          "release_spin_rate": 2288.3402201681033,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 92.52568420789414,
            "release_spin_rate": 2288.3402201681033,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.5257,
          "release_spin_rate": 2288.3402,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.1592,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.1369,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.2624,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9777,
      "strikeout_factor": 1.0159,
      "walk_factor": 1.0135,
      "homer_factor": 0.9566,
      "woba_minus_xwoba": 0.01,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "676684",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 0.99,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.99,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0061,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9805,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0072,
        "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": 6,
    "H": 10,
    "BB": 4,
    "SO": 11,
    "HR": 1,
    "ERA": 5.586206896551724,
    "WHIP": 1.4482758620689655,
    "K9": 10.241379310344827,
    "HR9": 0.9310344827586208,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-05-20T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "676684",
  "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": 92.52568420789414,
    "release_spin_rate": 2288.3402201681033,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 92.52568420789414,
      "release_spin_rate": 2288.3402201681033,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.5257,
    "release_spin_rate": 2288.3402,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1592,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.1369,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 2.708,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.3513,
    "prior_weight": 0.6487
  },
  "role": "pitcher",
  "player_id": "676684",
  "report_date": "20260521_C",
  "season_year": 2026,
  "rows_used": 15,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.2,
        "ER": 4.0,
        "R": 5.0,
        "H": 6.0,
        "BB": 1.0,
        "SO": 4.0,
        "HR": 1.0,
        "BF": 21.0,
        "Pitches": 84.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.8,
        "R": 1.0,
        "H": 1.2,
        "BB": 0.2,
        "SO": 0.8,
        "HR": 0.2,
        "BF": 4.2,
        "Pitches": 16.8
      },
      "rates": {
        "ERA": 7.7143,
        "WHIP": 1.5,
        "ER_per_IP": 0.85714,
        "H_per_IP": 1.28571,
        "BB_per_IP": 0.21429,
        "SO_per_IP": 0.85714,
        "HR_per_IP": 0.21429
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.2,
        "ER": 6.0,
        "R": 8.0,
        "H": 10.0,
        "BB": 4.0,
        "SO": 11.0,
        "HR": 1.0,
        "BF": 43.0,
        "Pitches": 188.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.6,
        "R": 0.8,
        "H": 1.0,
        "BB": 0.4,
        "SO": 1.1,
        "HR": 0.1,
        "BF": 4.3,
        "Pitches": 18.8
      },
      "rates": {
        "ERA": 5.5862,
        "WHIP": 1.4483,
        "ER_per_IP": 0.62069,
        "H_per_IP": 1.03448,
        "BB_per_IP": 0.41379,
        "SO_per_IP": 1.13793,
        "HR_per_IP": 0.10345
      }
    },
    "season": {
      "games": 15,
      "totals": {
        "IP": 13.2,
        "ER": 9.0,
        "R": 11.0,
        "H": 13.0,
        "BB": 6.0,
        "SO": 15.0,
        "HR": 1.0,
        "BF": 60.0,
        "Pitches": 262.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.6,
        "R": 0.7333,
        "H": 0.8667,
        "BB": 0.4,
        "SO": 1.0,
        "HR": 0.0667,
        "BF": 4.0,
        "Pitches": 17.4667
      },
      "rates": {
        "ERA": 5.9268,
        "WHIP": 1.3902,
        "ER_per_IP": 0.65854,
        "H_per_IP": 0.95122,
        "BB_per_IP": 0.43902,
        "SO_per_IP": 1.09756,
        "HR_per_IP": 0.07317
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.564,
    "predicted_H": 1.008,
    "predicted_BB": 0.36,
    "predicted_SO": 0.97,
    "predicted_HR": 0.136,
    "predicted_ERA": 5.0725,
    "predicted_WHIP": 1.3675
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.6241,
  "form_weight": 0.3759,
  "form_reliability": 0.3513,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 2.708,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.3513,
    "prior_weight": 0.6487
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 4.0,
      "form": 0.564,
      "final": 2.7083,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 5.0,
      "form": 1.008,
      "final": 3.4993,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.36,
      "final": 0.1353,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 0.97,
      "final": 1.6128,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.136,
      "final": 0.0511,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 5.0725,
      "final": 5.0725,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.3675,
      "final": 1.3675,
      "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."
}
Kevin McGonigle (805808) · BATTER · 3B · Team DET
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 209
All-history rows before 20260521: 209
System season_avg: 0.2920
Data season_avg (2026 season-to-date): 0.2923
Diff (system - data): -0.0003
System opponent_avg: 0.2310

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2630.0001.000Hitting_2B0.2630.000-0.2630.000
predicted_3B0.0430.0000.000Hitting_3B0.0430.000-0.0430.000
predicted_AB4.1204.0009.000Hitting_AB3.8472.0000.1532.000
predicted_AVG0.2430.0000.222Hitting_AVG0.2920.000-0.2920.000
predicted_BB0.6220.0001.000Hitting_BB0.6222.000-0.622-2.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H1.0000.0002.000Hitting_H1.1240.000-1.1240.000
predicted_HR0.0900.0000.000Hitting_HR0.0480.000-0.0480.000
predicted_OBP0.3560.0000.300Hitting_OBP0.3970.500-0.397-0.500
predicted_R0.6220.0001.000Hitting_R0.6221.000-0.622-1.000
predicted_RBI0.3100.0001.000Hitting_RBI0.3590.000-0.3590.000
predicted_SLG0.3820.0000.333Hitting_SLG0.4200.000-0.4200.000
predicted_SO0.5740.0002.000Hitting_SO0.5740.000-0.5740.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_AVG: 0.2430 -> 0.2537 (boost 0.0107, better)
Biggest Deboostpredicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend99081predicted_AB: 4.1200 -> 9.1526 (boost 5.0326, 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_snapshot50505-predicted_H: 2.4482 -> 2.3221 (deboost -0.1261, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling93627predicted_2B: 0.5360 -> 1.0000 (boost 0.4640, better)predicted_BB: 1.3579 -> 1.0000 (deboost -0.3579, worse)AB rounded to 9 (raw=9.15), rates preserved: AVG=0.254 HR/AB=0.013
5consistency_constraints10101-predicted_R: 1.1936 -> 1.0000 (deboost -0.1936, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context30303-predicted_OBP: 0.3501 -> 0.3000 (deboost -0.0501, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference70716-predicted_AB: 9.0000 -> 4.0000 (deboost -5.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final33030predicted_OBP: 0.3000 -> 0.3501 (boost 0.0501, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "805808",
  "player_name": "Kevin McGonigle",
  "position": "3B",
  "team": "DET",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.263,
        "predicted_3B": 0.043,
        "predicted_AB": 4.12,
        "predicted_AVG": 0.243,
        "predicted_BB": 0.622,
        "predicted_H": 1.0,
        "predicted_HR": 0.09,
        "predicted_OBP": 0.356,
        "predicted_R": 0.622,
        "predicted_RBI": 0.31,
        "predicted_SLG": 0.382,
        "predicted_SO": 0.574
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.536,
        "predicted_3B": 0.0867,
        "predicted_AB": 9.1526,
        "predicted_AVG": 0.2575,
        "predicted_BB": 1.3827,
        "predicted_H": 2.4482,
        "predicted_HBP": 0.145,
        "predicted_HR": 0.1262,
        "predicted_OBP": 0.3643,
        "predicted_R": 1.3122,
        "predicted_RBI": 0.717,
        "predicted_SLG": 0.3829,
        "predicted_SO": 1.5561
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.263,
          "after": 0.536,
          "delta": 0.273,
          "percent_delta": 1.038,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.043,
          "after": 0.0867,
          "delta": 0.0437,
          "percent_delta": 1.0163,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.12,
          "after": 9.1526,
          "delta": 5.0326,
          "percent_delta": 1.2215,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.243,
          "after": 0.2575,
          "delta": 0.0145,
          "percent_delta": 0.0597,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.622,
          "after": 1.3827,
          "delta": 0.7607,
          "percent_delta": 1.223,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.4482,
          "delta": 1.4482,
          "percent_delta": 1.4482,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.09,
          "after": 0.1262,
          "delta": 0.0362,
          "percent_delta": 0.4022,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.356,
          "after": 0.3643,
          "delta": 0.0083,
          "percent_delta": 0.0233,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.622,
          "after": 1.3122,
          "delta": 0.6902,
          "percent_delta": 1.1096,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.31,
          "after": 0.717,
          "delta": 0.407,
          "percent_delta": 1.3129,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.382,
          "after": 0.3829,
          "delta": 0.0009,
          "percent_delta": 0.0024,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.574,
          "after": 1.5561,
          "delta": 0.9821,
          "percent_delta": 1.711,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 9,
        "deboosted_metrics": 0,
        "better_metrics": 8,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.12,
          "after": 9.1526,
          "delta": 5.0326,
          "percent_delta": 1.2215,
          "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": 2,
        "last_10": 3,
        "season": 48
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.536,
        "predicted_3B": 0.0867,
        "predicted_AB": 9.1526,
        "predicted_AVG": 0.2537,
        "predicted_BB": 1.3579,
        "predicted_H": 2.3221,
        "predicted_HBP": 0.145,
        "predicted_HR": 0.121,
        "predicted_OBP": 0.3501,
        "predicted_R": 1.1936,
        "predicted_RBI": 0.6522,
        "predicted_SLG": 0.3709,
        "predicted_SO": 1.584
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.536,
          "after": 0.536,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0867,
          "after": 0.0867,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.1526,
          "after": 9.1526,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2575,
          "after": 0.2537,
          "delta": -0.0038,
          "percent_delta": -0.0148,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.3827,
          "after": 1.3579,
          "delta": -0.0248,
          "percent_delta": -0.0179,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.4482,
          "after": 2.3221,
          "delta": -0.1261,
          "percent_delta": -0.0515,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.145,
          "after": 0.145,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1262,
          "after": 0.121,
          "delta": -0.0052,
          "percent_delta": -0.0412,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3643,
          "after": 0.3501,
          "delta": -0.0142,
          "percent_delta": -0.039,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.3122,
          "after": 1.1936,
          "delta": -0.1186,
          "percent_delta": -0.0904,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.717,
          "after": 0.6522,
          "delta": -0.0648,
          "percent_delta": -0.0904,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3829,
          "after": 0.3709,
          "delta": -0.012,
          "percent_delta": -0.0313,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.5561,
          "after": 1.584,
          "delta": 0.0279,
          "percent_delta": 0.0179,
          "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": 2.4482,
          "after": 2.3221,
          "delta": -0.1261,
          "percent_delta": -0.0515,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 9 (raw=9.15), rates preserved: AVG=0.254 HR/AB=0.013",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.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.536,
          "after": 1.0,
          "delta": 0.464,
          "percent_delta": 0.8657,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0867,
          "after": 0.0,
          "delta": -0.0867,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 9.1526,
          "after": 9.0,
          "delta": -0.1526,
          "percent_delta": -0.0167,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.3579,
          "after": 1.0,
          "delta": -0.3579,
          "percent_delta": -0.2636,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.3221,
          "after": 2.0,
          "delta": -0.3221,
          "percent_delta": -0.1387,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.145,
          "after": 0.0,
          "delta": -0.145,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.121,
          "after": 0.0,
          "delta": -0.121,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6522,
          "after": 1.0,
          "delta": 0.3478,
          "percent_delta": 0.5333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.584,
          "after": 2.0,
          "delta": 0.416,
          "percent_delta": 0.2626,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 3,
        "deboosted_metrics": 6,
        "better_metrics": 2,
        "worse_metrics": 7,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.536,
          "after": 1.0,
          "delta": 0.464,
          "percent_delta": 0.8657,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.3579,
          "after": 1.0,
          "delta": -0.3579,
          "percent_delta": -0.2636,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.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": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 9.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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.1936,
          "after": 1.0,
          "delta": -0.1936,
          "percent_delta": -0.1622,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.1936,
          "after": 1.0,
          "delta": -0.1936,
          "percent_delta": -0.1622,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_AVG": 0.222,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.333,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 9.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2537,
          "after": 0.222,
          "delta": -0.0317,
          "percent_delta": -0.125,
          "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": 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.3501,
          "after": 0.3,
          "delta": -0.0501,
          "percent_delta": -0.1431,
          "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.3709,
          "after": 0.333,
          "delta": -0.0379,
          "percent_delta": -0.1022,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3501,
          "after": 0.3,
          "delta": -0.0501,
          "percent_delta": -0.1431,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 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": 9.0,
          "after": 4.0,
          "delta": -5.0,
          "percent_delta": -0.5556,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.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": 0.0,
          "delta": -2.0,
          "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": 9.0,
          "after": 4.0,
          "delta": -5.0,
          "percent_delta": -0.5556,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2537,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3501,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3709,
        "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.222,
          "after": 0.2537,
          "delta": 0.0317,
          "percent_delta": 0.1428,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.3501,
          "delta": 0.0501,
          "percent_delta": 0.1671,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.333,
          "after": 0.3709,
          "delta": 0.0379,
          "percent_delta": 0.1137,
          "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.3,
          "after": 0.3501,
          "delta": 0.0501,
          "percent_delta": 0.1671,
          "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.263,
        "after": 0.0,
        "delta": -0.263,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.043,
        "after": 0.0,
        "delta": -0.043,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.12,
        "after": 4.0,
        "delta": -0.12,
        "percent_delta": -0.0291,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.243,
        "after": 0.2537,
        "delta": 0.0107,
        "percent_delta": 0.044,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.622,
        "after": 0.0,
        "delta": -0.622,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.09,
        "after": 0.0,
        "delta": -0.09,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.356,
        "after": 0.3501,
        "delta": -0.0059,
        "percent_delta": -0.0166,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.622,
        "after": 0.0,
        "delta": -0.622,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.31,
        "after": 0.0,
        "delta": -0.31,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.382,
        "after": 0.3709,
        "delta": -0.0111,
        "percent_delta": -0.0291,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.574,
        "after": 0.0,
        "delta": -0.574,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 1,
      "deboosted_metrics": 10,
      "better_metrics": 2,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_AVG",
        "before": 0.243,
        "after": 0.2537,
        "delta": 0.0107,
        "percent_delta": 0.044,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

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.263-
predicted_3B0.043-
predicted_AB4.120-
predicted_AVG0.243-
predicted_BB0.622-
predicted_H1.000-
predicted_HR0.090-
predicted_OBP0.356-
predicted_R0.622-
predicted_RBI0.310-
predicted_SLG0.382-
predicted_SO0.574-
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.5360.273
predicted_3B0.0870.044
predicted_AB9.1535.033
predicted_AVG0.2580.015
predicted_BB1.3830.761
predicted_H2.4481.448
predicted_HBP0.145-
predicted_HR0.1260.036
predicted_OBP0.3640.008
predicted_R1.3120.690
predicted_RBI0.7170.407
predicted_SLG0.3830.001
predicted_SO1.5560.982
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.5360.000
predicted_3B0.0870.000
predicted_AB9.1530.000
predicted_AVG0.254-0.004
predicted_BB1.358-0.025
predicted_H2.322-0.126
predicted_HBP0.1450.000
predicted_HR0.121-0.005
predicted_OBP0.350-0.014
predicted_R1.194-0.119
predicted_RBI0.652-0.065
predicted_SLG0.371-0.012
predicted_SO1.5840.028
4. ab_floor_and_scaling

AB rounded to 9 (raw=9.15), rates preserved: AVG=0.254 HR/AB=0.013

MetricValueDelta vs Prev Step
2B1.000-
3B0.000-
AB9.000-
BB1.000-
H2.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO2.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB9.0000.000
BB1.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
6. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B1.0000.464
predicted_3B0.000-0.087
predicted_AB9.000-0.153
predicted_AVG0.222-0.032
predicted_BB1.000-0.358
predicted_H2.000-0.322
predicted_HR0.000-0.121
predicted_OBP0.300-0.050
predicted_R1.000-0.194
predicted_RBI1.0000.348
predicted_SLG0.333-0.038
predicted_SO2.0000.416
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.000-1.000
3B0.0000.000
AB4.000-5.000
BB0.000-1.000
CS0.0000.000
H0.000-2.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-2.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 209
Reference playing time: 4.120
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-22.0004.0000.0000.0000.0000.0001.0002.0008.0000.18180.25000.18180.18180.00000.00000.09090.3636
last_100.203-39.0009.0000.0000.0000.0000.0001.0006.00010.0000.23080.33330.23080.23080.00000.00000.15380.2564
season0.6048-804.000235.00055.0009.00010.00075.000130.000130.000120.0000.29230.39660.42040.29230.01240.09330.16170.1492
Weighted Prediction From Real Data
MetricValue
predicted_2B0.8820
predicted_3B0.1420
predicted_AB15.5320
predicted_AVG0.2758
predicted_BB2.3470
predicted_H4.2840
predicted_HBP0.1450
predicted_HR0.1720
predicted_OBP0.3749
predicted_R2.1870
predicted_RBI1.2330
predicted_SLG0.3841
predicted_SO2.8010
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.26300.88200.5360model_form_blend
predicted_3B0.04300.14200.0867model_form_blend
predicted_AB4.120015.53209.1526model_form_blend
predicted_AVG0.24300.27580.2575model_form_blend
predicted_BB0.62202.34701.3827model_form_blend
predicted_H1.00004.28402.4482model_form_blend
predicted_HBP-0.14500.1450form_only
predicted_HR0.09000.17200.1262model_form_blend
predicted_OBP0.35600.37490.3643model_form_blend
predicted_R0.62202.18701.3122model_form_blend
predicted_RBI0.31001.23300.7170model_form_blend
predicted_SLG0.38200.38410.3829model_form_blend
predicted_SO0.57402.80101.5561model_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 date209
Season rows before report date209
Report year2026
Profile rows used209
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.292

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_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-3B-SS
gameID20260520_CLE@DET
game_typefull
mlbID805808
playerID805808
playerNameKevin McGonigle
posSS
startedTrue
startingPositionSS
teamDET
teamID10
game_date2026-05-20
sl_k_percent13.0
sl_bb_percent13.5
sl_woba0.365
sl_xwoba0.374
sl_xba0.274
sl_xslg0.475
sl_sweet_spot_percent41.3
sl_barrel_batted_rate10.0
sl_hard_hit_percent37.3
sl_exit_velocity_avg88.7
sl_launch_angle_avg21.1
sl_whiff_percent13.2
sl_swing_percent41.7
Matt Vierling (663837) · BATTER · CF · Team DET
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 140
All-history rows before 20260521: 140
System season_avg: 0.2170
Data season_avg (2026 season-to-date): 0.2171
Diff (system - data): -0.0001
System opponent_avg: 0.2570

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.3040.0001.000Hitting_2B0.2930.000-0.2930.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.5484.0007.000Hitting_AB3.4213.0000.5791.000
predicted_AVG0.2180.5000.143Hitting_AVG0.2170.0000.2830.500
predicted_BB0.4150.0001.000Hitting_BB0.4000.000-0.4000.000
predicted_CS-0.0000.000BaseRunning_CS0.0290.000-0.0290.000
predicted_H0.3002.0001.000Hitting_H0.7430.0001.2572.000
predicted_HR0.0700.0000.000Hitting_HR0.1070.000-0.1070.000
predicted_OBP0.2710.5000.250Hitting_OBP0.2940.0000.2060.500
predicted_R0.3700.0001.000Hitting_R0.3570.000-0.3570.000
predicted_RBI0.2100.0001.000Hitting_RBI0.5861.000-0.586-1.000
predicted_SLG0.3960.5000.286Hitting_SLG0.3970.0000.1030.500
predicted_SO0.6301.0001.000Hitting_SO0.6071.0000.3930.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_H: 0.3000 -> 2.0000 (boost 1.7000, better)
Biggest Deboostpredicted_BB: 0.4150 -> 0.0000 (deboost -0.4150, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend99081predicted_AB: 3.5480 -> 7.3634 (boost 3.8154, 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_snapshot60606-predicted_RBI: 0.9499 -> 0.8640 (deboost -0.0859, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling73443predicted_2B: 0.5479 -> 1.0000 (boost 0.4521, better)predicted_SO: 1.5519 -> 1.0000 (deboost -0.5519, better)AB rounded to 7 (raw=7.36), rates preserved: AVG=0.174 HR/AB=0.028
5consistency_constraints11010predicted_R: 0.6541 -> 1.0000 (boost 0.3459, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context30303-predicted_SLG: 0.3321 -> 0.2860 (deboost -0.0461, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference61515predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better)predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final33030predicted_SLG: 0.2860 -> 0.3321 (boost 0.0461, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "663837",
  "player_name": "Matt Vierling",
  "position": "CF",
  "team": "DET",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.304,
        "predicted_3B": 0.0,
        "predicted_AB": 3.548,
        "predicted_AVG": 0.218,
        "predicted_BB": 0.415,
        "predicted_H": 0.3,
        "predicted_HR": 0.07,
        "predicted_OBP": 0.271,
        "predicted_R": 0.37,
        "predicted_RBI": 0.21,
        "predicted_SLG": 0.396,
        "predicted_SO": 0.63
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.5479,
        "predicted_3B": 0.0009,
        "predicted_AB": 7.3634,
        "predicted_AVG": 0.219,
        "predicted_BB": 0.9106,
        "predicted_H": 1.3498,
        "predicted_HBP": 0.006,
        "predicted_HR": 0.2139,
        "predicted_OBP": 0.2844,
        "predicted_R": 0.7191,
        "predicted_RBI": 0.9499,
        "predicted_SLG": 0.3927,
        "predicted_SO": 1.5246
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.304,
          "after": 0.5479,
          "delta": 0.2439,
          "percent_delta": 0.8023,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.548,
          "after": 7.3634,
          "delta": 3.8154,
          "percent_delta": 1.0754,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.218,
          "after": 0.219,
          "delta": 0.001,
          "percent_delta": 0.0046,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.415,
          "after": 0.9106,
          "delta": 0.4956,
          "percent_delta": 1.1942,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.3,
          "after": 1.3498,
          "delta": 1.0498,
          "percent_delta": 3.4993,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.07,
          "after": 0.2139,
          "delta": 0.1439,
          "percent_delta": 2.0557,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.271,
          "after": 0.2844,
          "delta": 0.0134,
          "percent_delta": 0.0494,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.37,
          "after": 0.7191,
          "delta": 0.3491,
          "percent_delta": 0.9435,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.21,
          "after": 0.9499,
          "delta": 0.7399,
          "percent_delta": 3.5233,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.396,
          "after": 0.3927,
          "delta": -0.0033,
          "percent_delta": -0.0083,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.63,
          "after": 1.5246,
          "delta": 0.8946,
          "percent_delta": 1.42,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 9,
        "deboosted_metrics": 0,
        "better_metrics": 8,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.548,
          "after": 7.3634,
          "delta": 3.8154,
          "percent_delta": 1.0754,
          "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": 2,
        "last_10": 3,
        "season": 36
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.5479,
        "predicted_3B": 0.0009,
        "predicted_AB": 7.3634,
        "predicted_AVG": 0.1739,
        "predicted_BB": 0.8943,
        "predicted_H": 1.2803,
        "predicted_HBP": 0.006,
        "predicted_HR": 0.2051,
        "predicted_OBP": 0.2633,
        "predicted_R": 0.6541,
        "predicted_RBI": 0.864,
        "predicted_SLG": 0.3321,
        "predicted_SO": 1.5519
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.5479,
          "after": 0.5479,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.3634,
          "after": 7.3634,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.219,
          "after": 0.1739,
          "delta": -0.0451,
          "percent_delta": -0.2059,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.9106,
          "after": 0.8943,
          "delta": -0.0163,
          "percent_delta": -0.0179,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.3498,
          "after": 1.2803,
          "delta": -0.0695,
          "percent_delta": -0.0515,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "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.2139,
          "after": 0.2051,
          "delta": -0.0088,
          "percent_delta": -0.0411,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2844,
          "after": 0.2633,
          "delta": -0.0211,
          "percent_delta": -0.0742,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.7191,
          "after": 0.6541,
          "delta": -0.065,
          "percent_delta": -0.0904,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.9499,
          "after": 0.864,
          "delta": -0.0859,
          "percent_delta": -0.0904,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3927,
          "after": 0.3321,
          "delta": -0.0606,
          "percent_delta": -0.1543,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.5246,
          "after": 1.5519,
          "delta": 0.0273,
          "percent_delta": 0.0179,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 0,
        "deboosted_metrics": 6,
        "better_metrics": 0,
        "worse_metrics": 6,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.9499,
          "after": 0.864,
          "delta": -0.0859,
          "percent_delta": -0.0904,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 7 (raw=7.36), rates preserved: AVG=0.174 HR/AB=0.028",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.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.5479,
          "after": 1.0,
          "delta": 0.4521,
          "percent_delta": 0.8252,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.3634,
          "after": 7.0,
          "delta": -0.3634,
          "percent_delta": -0.0494,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.8943,
          "after": 1.0,
          "delta": 0.1057,
          "percent_delta": 0.1182,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.2803,
          "after": 1.0,
          "delta": -0.2803,
          "percent_delta": -0.2189,
          "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.2051,
          "after": 0.0,
          "delta": -0.2051,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.864,
          "after": 1.0,
          "delta": 0.136,
          "percent_delta": 0.1574,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.5519,
          "after": 1.0,
          "delta": -0.5519,
          "percent_delta": -0.3556,
          "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_2B",
          "before": 0.5479,
          "after": 1.0,
          "delta": 0.4521,
          "percent_delta": 0.8252,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.5519,
          "after": 1.0,
          "delta": -0.5519,
          "percent_delta": -0.3556,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.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": 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": 7.0,
          "after": 7.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.6541,
          "after": 1.0,
          "delta": 0.3459,
          "percent_delta": 0.5288,
          "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.6541,
          "after": 1.0,
          "delta": 0.3459,
          "percent_delta": 0.5288,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.0,
        "predicted_AVG": 0.143,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.25,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.286,
        "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": 7.0,
          "after": 7.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1739,
          "after": 0.143,
          "delta": -0.0309,
          "percent_delta": -0.1777,
          "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.2633,
          "after": 0.25,
          "delta": -0.0133,
          "percent_delta": -0.0505,
          "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.3321,
          "after": 0.286,
          "delta": -0.0461,
          "percent_delta": -0.1388,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.3321,
          "after": 0.286,
          "delta": -0.0461,
          "percent_delta": -0.1388,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "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": 7.0,
          "after": 4.0,
          "delta": -3.0,
          "percent_delta": -0.4286,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 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_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 7.0,
          "after": 4.0,
          "delta": -3.0,
          "percent_delta": -0.4286,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.1739,
        "predicted_BB": 0.0,
        "predicted_CF": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2633,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3321,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.143,
          "after": 0.1739,
          "delta": 0.0309,
          "percent_delta": 0.2159,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.25,
          "after": 0.2633,
          "delta": 0.0133,
          "percent_delta": 0.0534,
          "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.286,
          "after": 0.3321,
          "delta": 0.0461,
          "percent_delta": 0.1611,
          "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.286,
          "after": 0.3321,
          "delta": 0.0461,
          "percent_delta": 0.1611,
          "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.304,
        "after": 0.0,
        "delta": -0.304,
        "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.548,
        "after": 4.0,
        "delta": 0.452,
        "percent_delta": 0.1274,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.218,
        "after": 0.1739,
        "delta": -0.0441,
        "percent_delta": -0.2023,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.415,
        "after": 0.0,
        "delta": -0.415,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.3,
        "after": 2.0,
        "delta": 1.7,
        "percent_delta": 5.6667,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.07,
        "after": 0.0,
        "delta": -0.07,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.271,
        "after": 0.2633,
        "delta": -0.0077,
        "percent_delta": -0.0284,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.37,
        "after": 0.0,
        "delta": -0.37,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.21,
        "after": 0.0,
        "delta": -0.21,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.396,
        "after": 0.3321,
        "delta": -0.0639,
        "percent_delta": -0.1614,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.63,
        "after": 1.0,
        "delta": 0.37,
        "percent_delta": 0.5873,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 3,
      "deboosted_metrics": 8,
      "better_metrics": 2,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.3,
        "after": 2.0,
        "delta": 1.7,
        "percent_delta": 5.6667,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.415,
        "after": 0.0,
        "delta": -0.415,
        "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.304-
predicted_3B0.000-
predicted_AB3.548-
predicted_AVG0.218-
predicted_BB0.415-
predicted_H0.300-
predicted_HR0.070-
predicted_OBP0.271-
predicted_R0.370-
predicted_RBI0.210-
predicted_SLG0.396-
predicted_SO0.630-
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.5480.244
predicted_3B0.0010.001
predicted_AB7.3633.815
predicted_AVG0.2190.001
predicted_BB0.9110.496
predicted_H1.3501.050
predicted_HBP0.006-
predicted_HR0.2140.144
predicted_OBP0.2840.013
predicted_R0.7190.349
predicted_RBI0.9500.740
predicted_SLG0.393-0.003
predicted_SO1.5250.895
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.5480.000
predicted_3B0.0010.000
predicted_AB7.3630.000
predicted_AVG0.174-0.045
predicted_BB0.894-0.016
predicted_H1.280-0.070
predicted_HBP0.0060.000
predicted_HR0.205-0.009
predicted_OBP0.263-0.021
predicted_R0.654-0.065
predicted_RBI0.864-0.086
predicted_SLG0.332-0.061
predicted_SO1.5520.027
4. ab_floor_and_scaling

AB rounded to 7 (raw=7.36), rates preserved: AVG=0.174 HR/AB=0.028

MetricValueDelta vs Prev Step
2B1.000-
3B0.000-
AB7.000-
BB1.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB7.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
6. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B1.0000.452
predicted_3B0.000-0.001
predicted_AB7.000-0.363
predicted_AVG0.143-0.031
predicted_BB1.0000.106
predicted_H1.000-0.280
predicted_HR0.000-0.205
predicted_OBP0.250-0.013
predicted_R1.0000.346
predicted_RBI1.0000.136
predicted_SLG0.286-0.046
predicted_SO1.000-0.552
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.000-1.000
3B0.0000.000
AB4.000-3.000
BB0.000-1.000
CS0.0000.000
H2.0001.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: 135
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-19.0004.0000.0000.0000.0001.0000.0004.0009.0000.21050.33330.21050.21050.00000.05260.21050.4737
last_100.203-35.0009.0000.0000.0004.0005.0004.0005.00011.0000.25710.34150.60000.25710.11430.14290.14290.3143
season0.6036-479.000104.00041.0000.00015.00082.00050.00056.00085.0000.21710.29410.39670.21710.03130.17120.11690.1774
Weighted Prediction From Real Data
MetricValue
predicted_2B0.8650
predicted_3B0.0020
predicted_AB12.3250
predicted_AVG0.2203
predicted_BB1.5550
predicted_H2.7150
predicted_HBP0.0060
predicted_HR0.4010
predicted_OBP0.3018
predicted_R1.1730
predicted_RBI1.9120
predicted_SLG0.3884
predicted_SO2.6880
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.30400.86500.5479model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB3.548012.32507.3634model_form_blend
predicted_AVG0.21800.22030.2190model_form_blend
predicted_BB0.41501.55500.9106model_form_blend
predicted_H0.30002.71501.3498model_form_blend
predicted_HBP-0.00600.0060form_only
predicted_HR0.07000.40100.2139model_form_blend
predicted_OBP0.27100.30180.2844model_form_blend
predicted_R0.37001.17300.7191model_form_blend
predicted_RBI0.21001.91200.9499model_form_blend
predicted_SLG0.39600.38840.3927model_form_blend
predicted_SO0.63002.68801.5246model_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 used135
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

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

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_RBI1
Hitting_SAC0
Hitting_SF1
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
allPositionsPlayedCF
gameID20260520_CLE@DET
game_typefull
mlbID663837
playerID663837
playerNameMatt Vierling
posCF
startedTrue
startingPositionCF
teamDET
teamID10
game_date2026-05-20
sl_k_percent15.8
sl_bb_percent9.8
sl_woba0.299
sl_xwoba0.328
sl_xba0.268
sl_xslg0.407
sl_sweet_spot_percent36.4
sl_barrel_batted_rate6.1
sl_hard_hit_percent37.4
sl_exit_velocity_avg87.4
sl_launch_angle_avg15.3
sl_whiff_percent16.0
sl_swing_percent45.5
Riley Greene (682985) · BATTER · LF · Team DET
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 205
All-history rows before 20260521: 205
System season_avg: 0.3390
Data season_avg (2026 season-to-date): 0.3387
Diff (system - data): 0.0003
System opponent_avg: 0.3700

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.3170.0001.000Hitting_2B0.3170.000-0.3170.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.7604.0008.000Hitting_AB3.6154.0000.3850.000
predicted_AVG0.2760.2500.375Hitting_AVG0.3390.250-0.0890.000
predicted_BB0.5950.0001.000Hitting_BB0.5950.000-0.5950.000
predicted_CS-0.0000.000BaseRunning_CS0.0200.000-0.0200.000
predicted_H1.0401.0003.000Hitting_H1.2241.000-0.2240.000
predicted_HR0.1000.0000.000Hitting_HR0.0830.000-0.0830.000
predicted_OBP0.4030.2500.444Hitting_OBP0.4370.250-0.1870.000
predicted_R0.6200.0002.000Hitting_R0.6200.000-0.6200.000
predicted_RBI0.4400.0001.000Hitting_RBI0.5220.000-0.5220.000
predicted_SLG0.4490.2500.500Hitting_SLG0.4950.250-0.2450.000
predicted_SO1.1370.0002.000Hitting_SO1.1372.000-1.137-2.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_AB: 3.7600 -> 4.0000 (boost 0.2400, better)
Biggest Deboostpredicted_SO: 1.1370 -> 0.0000 (deboost -1.1370, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend11110101predicted_AB: 3.7600 -> 7.6783 (boost 3.9183, 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_snapshot52323predicted_AVG: 0.3373 -> 0.3578 (boost 0.0205, better)predicted_R: 1.6669 -> 1.5162 (deboost -0.1507, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling84453predicted_2B: 0.6542 -> 1.0000 (boost 0.3458, better)predicted_HBP: 0.9670 -> 0.0000 (deboost -0.9670, worse)AB rounded to 8 (raw=7.68), rates preserved: AVG=0.358 HR/AB=0.020
5bvp_blend00000--Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.400)
6consistency_constraints11010predicted_R: 1.5162 -> 2.0000 (boost 0.4838, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context21111predicted_AVG: 0.3578 -> 0.3750 (boost 0.0172, better)predicted_OBP: 0.4569 -> 0.4440 (deboost -0.0129, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference70716-predicted_AB: 8.0000 -> 4.0000 (deboost -4.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final21111predicted_OBP: 0.4440 -> 0.4569 (boost 0.0129, better)predicted_AVG: 0.3750 -> 0.3578 (deboost -0.0172, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "682985",
  "player_name": "Riley Greene",
  "position": "LF",
  "team": "DET",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.317,
        "predicted_3B": 0.0,
        "predicted_AB": 3.76,
        "predicted_AVG": 0.276,
        "predicted_BB": 0.595,
        "predicted_H": 1.04,
        "predicted_HR": 0.1,
        "predicted_OBP": 0.403,
        "predicted_R": 0.62,
        "predicted_RBI": 0.44,
        "predicted_SLG": 0.449,
        "predicted_SO": 1.137
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.6542,
        "predicted_3B": 0.0009,
        "predicted_AB": 7.6783,
        "predicted_AVG": 0.3373,
        "predicted_BB": 1.4262,
        "predicted_H": 2.8966,
        "predicted_HBP": 0.967,
        "predicted_HR": 0.1599,
        "predicted_OBP": 0.4522,
        "predicted_R": 1.6669,
        "predicted_RBI": 0.9798,
        "predicted_SLG": 0.4965,
        "predicted_SO": 2.2042
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.317,
          "after": 0.6542,
          "delta": 0.3372,
          "percent_delta": 1.0637,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.76,
          "after": 7.6783,
          "delta": 3.9183,
          "percent_delta": 1.0421,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.276,
          "after": 0.3373,
          "delta": 0.0613,
          "percent_delta": 0.2221,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.595,
          "after": 1.4262,
          "delta": 0.8312,
          "percent_delta": 1.397,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.04,
          "after": 2.8966,
          "delta": 1.8566,
          "percent_delta": 1.7852,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1,
          "after": 0.1599,
          "delta": 0.0599,
          "percent_delta": 0.599,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.403,
          "after": 0.4522,
          "delta": 0.0492,
          "percent_delta": 0.1221,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.62,
          "after": 1.6669,
          "delta": 1.0469,
          "percent_delta": 1.6885,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.44,
          "after": 0.9798,
          "delta": 0.5398,
          "percent_delta": 1.2268,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.449,
          "after": 0.4965,
          "delta": 0.0475,
          "percent_delta": 0.1058,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.137,
          "after": 2.2042,
          "delta": 1.0672,
          "percent_delta": 0.9386,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 11,
        "boosted_metrics": 11,
        "deboosted_metrics": 0,
        "better_metrics": 10,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.76,
          "after": 7.6783,
          "delta": 3.9183,
          "percent_delta": 1.0421,
          "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": 2,
        "last_10": 4,
        "season": 50
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.6542,
        "predicted_3B": 0.0009,
        "predicted_AB": 7.6783,
        "predicted_AVG": 0.3578,
        "predicted_BB": 1.4007,
        "predicted_H": 2.7474,
        "predicted_HBP": 0.967,
        "predicted_HR": 0.1533,
        "predicted_OBP": 0.4569,
        "predicted_R": 1.5162,
        "predicted_RBI": 0.8912,
        "predicted_SLG": 0.5031,
        "predicted_SO": 2.2437
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.6542,
          "after": 0.6542,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.6783,
          "after": 7.6783,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3373,
          "after": 0.3578,
          "delta": 0.0205,
          "percent_delta": 0.0608,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.4262,
          "after": 1.4007,
          "delta": -0.0255,
          "percent_delta": -0.0179,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.8966,
          "after": 2.7474,
          "delta": -0.1492,
          "percent_delta": -0.0515,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.967,
          "after": 0.967,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1599,
          "after": 0.1533,
          "delta": -0.0066,
          "percent_delta": -0.0413,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.4522,
          "after": 0.4569,
          "delta": 0.0047,
          "percent_delta": 0.0104,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.6669,
          "after": 1.5162,
          "delta": -0.1507,
          "percent_delta": -0.0904,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.9798,
          "after": 0.8912,
          "delta": -0.0886,
          "percent_delta": -0.0904,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4965,
          "after": 0.5031,
          "delta": 0.0066,
          "percent_delta": 0.0133,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.2042,
          "after": 2.2437,
          "delta": 0.0395,
          "percent_delta": 0.0179,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.3373,
          "after": 0.3578,
          "delta": 0.0205,
          "percent_delta": 0.0608,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.6669,
          "after": 1.5162,
          "delta": -0.1507,
          "percent_delta": -0.0904,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 8 (raw=7.68), rates preserved: AVG=0.358 HR/AB=0.020",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 1.0,
        "predicted_H": 3.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.6542,
          "after": 1.0,
          "delta": 0.3458,
          "percent_delta": 0.5286,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.6783,
          "after": 8.0,
          "delta": 0.3217,
          "percent_delta": 0.0419,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.4007,
          "after": 1.0,
          "delta": -0.4007,
          "percent_delta": -0.2861,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.7474,
          "after": 3.0,
          "delta": 0.2526,
          "percent_delta": 0.0919,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.967,
          "after": 0.0,
          "delta": -0.967,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1533,
          "after": 0.0,
          "delta": -0.1533,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.8912,
          "after": 1.0,
          "delta": 0.1088,
          "percent_delta": 0.1221,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.2437,
          "after": 2.0,
          "delta": -0.2437,
          "percent_delta": -0.1086,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 4,
        "deboosted_metrics": 4,
        "better_metrics": 5,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.6542,
          "after": 1.0,
          "delta": 0.3458,
          "percent_delta": 0.5286,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HBP",
          "before": 0.967,
          "after": 0.0,
          "delta": -0.967,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.400)",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 1.0,
        "predicted_H": 3.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 8.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": 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_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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9429,
        "bvp": 0.0571
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 2.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 8.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": 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_R",
          "before": 1.5162,
          "after": 2.0,
          "delta": 0.4838,
          "percent_delta": 0.3191,
          "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": 1.5162,
          "after": 2.0,
          "delta": 0.4838,
          "percent_delta": 0.3191,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_AVG": 0.375,
        "predicted_BB": 1.0,
        "predicted_H": 3.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.444,
        "predicted_R": 2.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.5,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3578,
          "after": 0.375,
          "delta": 0.0172,
          "percent_delta": 0.0481,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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_OBP",
          "before": 0.4569,
          "after": 0.444,
          "delta": -0.0129,
          "percent_delta": -0.0282,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 2.0,
          "after": 2.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.5031,
          "after": 0.5,
          "delta": -0.0031,
          "percent_delta": -0.0062,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.3578,
          "after": 0.375,
          "delta": 0.0172,
          "percent_delta": 0.0481,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.4569,
          "after": 0.444,
          "delta": -0.0129,
          "percent_delta": -0.0282,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 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": 8.0,
          "after": 4.0,
          "delta": -4.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 3.0,
          "after": 1.0,
          "delta": -2.0,
          "percent_delta": -0.6667,
          "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": 2.0,
          "after": 0.0,
          "delta": -2.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": 0.0,
          "delta": -2.0,
          "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": 8.0,
          "after": 4.0,
          "delta": -4.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.3578,
        "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.4569,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.5031,
        "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.375,
          "after": 0.3578,
          "delta": -0.0172,
          "percent_delta": -0.0458,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.444,
          "after": 0.4569,
          "delta": 0.0129,
          "percent_delta": 0.029,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5,
          "after": 0.5031,
          "delta": 0.0031,
          "percent_delta": 0.0063,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.444,
          "after": 0.4569,
          "delta": 0.0129,
          "percent_delta": 0.029,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.375,
          "after": 0.3578,
          "delta": -0.0172,
          "percent_delta": -0.0458,
          "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.317,
        "after": 0.0,
        "delta": -0.317,
        "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.76,
        "after": 4.0,
        "delta": 0.24,
        "percent_delta": 0.0638,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.276,
        "after": 0.3578,
        "delta": 0.0818,
        "percent_delta": 0.2964,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.595,
        "after": 0.0,
        "delta": -0.595,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.04,
        "after": 1.0,
        "delta": -0.04,
        "percent_delta": -0.0385,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.1,
        "after": 0.0,
        "delta": -0.1,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.403,
        "after": 0.4569,
        "delta": 0.0539,
        "percent_delta": 0.1337,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.62,
        "after": 0.0,
        "delta": -0.62,
        "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.449,
        "after": 0.5031,
        "delta": 0.0541,
        "percent_delta": 0.1205,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.137,
        "after": 0.0,
        "delta": -1.137,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 4,
      "deboosted_metrics": 6,
      "better_metrics": 5,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.76,
        "after": 4.0,
        "delta": 0.24,
        "percent_delta": 0.0638,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.137,
        "after": 0.0,
        "delta": -1.137,
        "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.317-
predicted_3B0.000-
predicted_AB3.760-
predicted_AVG0.276-
predicted_BB0.595-
predicted_H1.040-
predicted_HR0.100-
predicted_OBP0.403-
predicted_R0.620-
predicted_RBI0.440-
predicted_SLG0.449-
predicted_SO1.137-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.6540.337
predicted_3B0.0010.001
predicted_AB7.6783.918
predicted_AVG0.3370.061
predicted_BB1.4260.831
predicted_H2.8971.857
predicted_HBP0.967-
predicted_HR0.1600.060
predicted_OBP0.4520.049
predicted_R1.6671.047
predicted_RBI0.9800.540
predicted_SLG0.4960.047
predicted_SO2.2041.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.6540.000
predicted_3B0.0010.000
predicted_AB7.6780.000
predicted_AVG0.3580.021
predicted_BB1.401-0.025
predicted_H2.747-0.149
predicted_HBP0.9670.000
predicted_HR0.153-0.007
predicted_OBP0.4570.005
predicted_R1.516-0.151
predicted_RBI0.891-0.089
predicted_SLG0.5030.007
predicted_SO2.2440.039
4. ab_floor_and_scaling

AB rounded to 8 (raw=7.68), rates preserved: AVG=0.358 HR/AB=0.020

MetricValueDelta vs Prev Step
2B1.000-
3B0.000-
AB8.000-
BB1.000-
H3.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO2.000-
5. bvp_blend

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

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB8.0000.000
BB1.0000.000
H3.0000.000
HR0.0000.000
RBI1.0000.000
SO2.0000.000
6. consistency_constraints

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

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB8.0000.000
BB1.0000.000
CS0.000-
H3.0000.000
HBP0.0000.000
HR0.0000.000
R2.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
7. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B1.0000.346
predicted_3B0.000-0.001
predicted_AB8.0000.322
predicted_AVG0.3750.017
predicted_BB1.000-0.401
predicted_H3.0000.253
predicted_HR0.000-0.153
predicted_OBP0.444-0.013
predicted_R2.0000.484
predicted_RBI1.0000.109
predicted_SLG0.500-0.003
predicted_SO2.000-0.244
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.000-1.000
3B0.0000.000
AB4.000-4.000
BB0.000-1.000
CS0.0000.000
H1.000-2.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-2.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: 205
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-12.0009.0000.0000.0000.0000.0008.0004.0002.0000.75000.85000.75000.75000.00000.00000.33330.1667
last_100.204-24.00017.0004.0000.0000.0004.0008.0008.0004.0000.70830.82500.87500.70830.00000.16670.33330.1667
season0.6050-741.000251.00065.0000.00017.000107.000127.000122.000233.0000.33870.43740.49530.33870.02290.14440.16460.3144
Weighted Prediction From Real Data
MetricValue
predicted_2B1.0830
predicted_3B0.0020
predicted_AB12.6600
predicted_AVG0.4152
predicted_BB2.4830
predicted_H5.2570
predicted_HBP0.9670
predicted_HR0.2360
predicted_OBP0.5147
predicted_R2.9980
predicted_RBI1.6660
predicted_SLG0.5569
predicted_SO3.5610
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.31701.08300.6542model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB3.760012.66007.6783model_form_blend
predicted_AVG0.27600.41520.3373model_form_blend
predicted_BB0.59502.48301.4262model_form_blend
predicted_H1.04005.25702.8966model_form_blend
predicted_HBP-0.96700.9670form_only
predicted_HR0.10000.23600.1599model_form_blend
predicted_OBP0.40300.51470.4522model_form_blend
predicted_R0.62002.99801.6669model_form_blend
predicted_RBI0.44001.66600.9798model_form_blend
predicted_SLG0.44900.55690.4965model_form_blend
predicted_SO1.13703.56102.2042model_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 date205
Season rows before report date205
Report year2026
Profile rows used205
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.339

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_SO2
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
allPositionsPlayedLF
gameID20260520_CLE@DET
game_typefull
mlbID682985
playerID682985
playerNameRiley Greene
posLF
startedTrue
startingPositionLF
teamDET
teamID10
game_date2026-05-20
sl_k_percent26.6
sl_bb_percent13.8
sl_woba0.413
sl_xwoba0.39
sl_xba0.283
sl_xslg0.505
sl_sweet_spot_percent41.2
sl_barrel_batted_rate13.4
sl_hard_hit_percent49.6
sl_exit_velocity_avg90.9
sl_launch_angle_avg15.1
sl_whiff_percent29.1
sl_swing_percent43.3
Dillon Dingler (693307) · BATTER · C · Team DET
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 175
All-history rows before 20260521: 175
System season_avg: 0.2410
Data season_avg (2026 season-to-date): 0.2413
Diff (system - data): -0.0003
System opponent_avg: 0.3450

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2170.0000.000Hitting_2B0.2170.000-0.2170.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.8804.0008.000Hitting_AB3.7893.0000.2111.000
predicted_AVG0.2280.0000.250Hitting_AVG0.2410.000-0.2410.000
predicted_BB0.3260.0001.000Hitting_BB0.3261.000-0.326-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.8800.0002.000Hitting_H0.9140.000-0.9140.000
predicted_HR0.1500.0000.000Hitting_HR0.2000.000-0.2000.000
predicted_OBP0.3120.0000.333Hitting_OBP0.3180.250-0.318-0.250
predicted_R0.4400.0001.000Hitting_R0.4400.000-0.4400.000
predicted_RBI0.4600.0001.000Hitting_RBI0.6860.000-0.6860.000
predicted_SLG0.4020.0000.250Hitting_SLG0.4570.000-0.4570.000
predicted_SO0.8231.0002.000Hitting_SO0.8231.0000.1770.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.8230 -> 1.0000 (boost 0.1770, 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_blend118374predicted_AB: 3.8800 -> 8.3871 (boost 4.5071, better)predicted_OBP: 0.3120 -> 0.2969 (deboost -0.0151, worse)Final model 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_snapshot60606-predicted_RBI: 1.1902 -> 1.0826 (deboost -0.1076, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling72525predicted_H: 1.6641 -> 2.0000 (boost 0.3359, better)predicted_2B: 0.4187 -> 0.0000 (deboost -0.4187, worse)AB rounded to 8 (raw=8.39), rates preserved: AVG=0.198 HR/AB=0.041
5consistency_constraints11010predicted_R: 0.8084 -> 1.0000 (boost 0.1916, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context32121predicted_OBP: 0.2591 -> 0.3330 (boost 0.0739, better)predicted_SLG: 0.3702 -> 0.2500 (deboost -0.1202, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference60615-predicted_AB: 8.0000 -> 4.0000 (deboost -4.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final31212predicted_SLG: 0.2500 -> 0.3702 (boost 0.1202, better)predicted_OBP: 0.3330 -> 0.2591 (deboost -0.0739, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "693307",
  "player_name": "Dillon Dingler",
  "position": "C",
  "team": "DET",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.217,
        "predicted_3B": 0.0,
        "predicted_AB": 3.88,
        "predicted_AVG": 0.228,
        "predicted_BB": 0.326,
        "predicted_H": 0.88,
        "predicted_HR": 0.15,
        "predicted_OBP": 0.312,
        "predicted_R": 0.44,
        "predicted_RBI": 0.46,
        "predicted_SLG": 0.402,
        "predicted_SO": 0.823
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.4187,
        "predicted_3B": 0.0009,
        "predicted_AB": 8.3871,
        "predicted_AVG": 0.217,
        "predicted_BB": 0.6997,
        "predicted_H": 1.7545,
        "predicted_HBP": 0.313,
        "predicted_HR": 0.3548,
        "predicted_OBP": 0.2969,
        "predicted_R": 0.8887,
        "predicted_RBI": 1.1902,
        "predicted_SLG": 0.3932,
        "predicted_SO": 1.9791
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.217,
          "after": 0.4187,
          "delta": 0.2017,
          "percent_delta": 0.9295,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.88,
          "after": 8.3871,
          "delta": 4.5071,
          "percent_delta": 1.1616,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.228,
          "after": 0.217,
          "delta": -0.011,
          "percent_delta": -0.0482,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.326,
          "after": 0.6997,
          "delta": 0.3737,
          "percent_delta": 1.1463,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.88,
          "after": 1.7545,
          "delta": 0.8745,
          "percent_delta": 0.9937,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.15,
          "after": 0.3548,
          "delta": 0.2048,
          "percent_delta": 1.3653,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.312,
          "after": 0.2969,
          "delta": -0.0151,
          "percent_delta": -0.0484,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.44,
          "after": 0.8887,
          "delta": 0.4487,
          "percent_delta": 1.0198,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.46,
          "after": 1.1902,
          "delta": 0.7302,
          "percent_delta": 1.5874,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.402,
          "after": 0.3932,
          "delta": -0.0088,
          "percent_delta": -0.0219,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.823,
          "after": 1.9791,
          "delta": 1.1561,
          "percent_delta": 1.4047,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 11,
        "boosted_metrics": 8,
        "deboosted_metrics": 3,
        "better_metrics": 7,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.88,
          "after": 8.3871,
          "delta": 4.5071,
          "percent_delta": 1.1616,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.312,
          "after": 0.2969,
          "delta": -0.0151,
          "percent_delta": -0.0484,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 2,
        "last_10": 3,
        "season": 44
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.4187,
        "predicted_3B": 0.0009,
        "predicted_AB": 8.3871,
        "predicted_AVG": 0.1984,
        "predicted_BB": 0.6872,
        "predicted_H": 1.6641,
        "predicted_HBP": 0.313,
        "predicted_HR": 0.3401,
        "predicted_OBP": 0.2591,
        "predicted_R": 0.8084,
        "predicted_RBI": 1.0826,
        "predicted_SLG": 0.3702,
        "predicted_SO": 2.0145
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.4187,
          "after": 0.4187,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.3871,
          "after": 8.3871,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.217,
          "after": 0.1984,
          "delta": -0.0186,
          "percent_delta": -0.0857,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.6997,
          "after": 0.6872,
          "delta": -0.0125,
          "percent_delta": -0.0179,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.7545,
          "after": 1.6641,
          "delta": -0.0904,
          "percent_delta": -0.0515,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.313,
          "after": 0.313,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.3548,
          "after": 0.3401,
          "delta": -0.0147,
          "percent_delta": -0.0414,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2969,
          "after": 0.2591,
          "delta": -0.0378,
          "percent_delta": -0.1273,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.8887,
          "after": 0.8084,
          "delta": -0.0803,
          "percent_delta": -0.0904,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.1902,
          "after": 1.0826,
          "delta": -0.1076,
          "percent_delta": -0.0904,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3932,
          "after": 0.3702,
          "delta": -0.023,
          "percent_delta": -0.0585,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.9791,
          "after": 2.0145,
          "delta": 0.0354,
          "percent_delta": 0.0179,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 0,
        "deboosted_metrics": 6,
        "better_metrics": 0,
        "worse_metrics": 6,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.1902,
          "after": 1.0826,
          "delta": -0.1076,
          "percent_delta": -0.0904,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 8 (raw=8.39), rates preserved: AVG=0.198 HR/AB=0.041",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.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.4187,
          "after": 0.0,
          "delta": -0.4187,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.3871,
          "after": 8.0,
          "delta": -0.3871,
          "percent_delta": -0.0462,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.6872,
          "after": 1.0,
          "delta": 0.3128,
          "percent_delta": 0.4552,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.6641,
          "after": 2.0,
          "delta": 0.3359,
          "percent_delta": 0.2019,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.313,
          "after": 0.0,
          "delta": -0.313,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.3401,
          "after": 0.0,
          "delta": -0.3401,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0826,
          "after": 1.0,
          "delta": -0.0826,
          "percent_delta": -0.0763,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0145,
          "after": 2.0,
          "delta": -0.0145,
          "percent_delta": -0.0072,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 2,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 1.6641,
          "after": 2.0,
          "delta": 0.3359,
          "percent_delta": 0.2019,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.4187,
          "after": 0.0,
          "delta": -0.4187,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.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": 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": 8.0,
          "after": 8.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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.8084,
          "after": 1.0,
          "delta": 0.1916,
          "percent_delta": 0.237,
          "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.8084,
          "after": 1.0,
          "delta": 0.1916,
          "percent_delta": 0.237,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.333,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.25,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1984,
          "after": 0.25,
          "delta": 0.0516,
          "percent_delta": 0.2601,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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.2591,
          "after": 0.333,
          "delta": 0.0739,
          "percent_delta": 0.2852,
          "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.3702,
          "after": 0.25,
          "delta": -0.1202,
          "percent_delta": -0.3247,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.2591,
          "after": 0.333,
          "delta": 0.0739,
          "percent_delta": 0.2852,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3702,
          "after": 0.25,
          "delta": -0.1202,
          "percent_delta": -0.3247,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 4.0,
          "delta": -4.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.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": 6,
        "boosted_metrics": 0,
        "deboosted_metrics": 6,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 4.0,
          "delta": -4.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.1984,
        "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.2591,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3702,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.1984,
          "delta": -0.0516,
          "percent_delta": -0.2063,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.333,
          "after": 0.2591,
          "delta": -0.0739,
          "percent_delta": -0.2219,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.3702,
          "delta": 0.1202,
          "percent_delta": 0.4809,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.3702,
          "delta": 0.1202,
          "percent_delta": 0.4809,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.333,
          "after": 0.2591,
          "delta": -0.0739,
          "percent_delta": -0.2219,
          "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.217,
        "after": 0.0,
        "delta": -0.217,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.88,
        "after": 4.0,
        "delta": 0.12,
        "percent_delta": 0.0309,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.228,
        "after": 0.1984,
        "delta": -0.0296,
        "percent_delta": -0.1298,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.326,
        "after": 0.0,
        "delta": -0.326,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.88,
        "after": 0.0,
        "delta": -0.88,
        "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.312,
        "after": 0.2591,
        "delta": -0.0529,
        "percent_delta": -0.1696,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.44,
        "after": 0.0,
        "delta": -0.44,
        "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.402,
        "after": 0.3702,
        "delta": -0.0318,
        "percent_delta": -0.0791,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.823,
        "after": 1.0,
        "delta": 0.177,
        "percent_delta": 0.2151,
        "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.823,
        "after": 1.0,
        "delta": 0.177,
        "percent_delta": 0.2151,
        "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.217-
predicted_3B0.000-
predicted_AB3.880-
predicted_AVG0.228-
predicted_BB0.326-
predicted_H0.880-
predicted_HR0.150-
predicted_OBP0.312-
predicted_R0.440-
predicted_RBI0.460-
predicted_SLG0.402-
predicted_SO0.823-
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.4190.202
predicted_3B0.0010.001
predicted_AB8.3874.507
predicted_AVG0.217-0.011
predicted_BB0.7000.374
predicted_H1.7540.874
predicted_HBP0.313-
predicted_HR0.3550.205
predicted_OBP0.297-0.015
predicted_R0.8890.449
predicted_RBI1.1900.730
predicted_SLG0.393-0.009
predicted_SO1.9791.156
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.4190.000
predicted_3B0.0010.000
predicted_AB8.3870.000
predicted_AVG0.198-0.019
predicted_BB0.687-0.012
predicted_H1.664-0.090
predicted_HBP0.3130.000
predicted_HR0.340-0.015
predicted_OBP0.259-0.038
predicted_R0.808-0.080
predicted_RBI1.083-0.108
predicted_SLG0.370-0.023
predicted_SO2.0140.035
4. ab_floor_and_scaling

AB rounded to 8 (raw=8.39), rates preserved: AVG=0.198 HR/AB=0.041

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB8.000-
BB1.000-
H2.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO2.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB8.0000.000
BB1.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
6. 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.419
predicted_3B0.000-0.001
predicted_AB8.000-0.387
predicted_AVG0.2500.052
predicted_BB1.0000.313
predicted_H2.0000.336
predicted_HR0.000-0.340
predicted_OBP0.3330.074
predicted_R1.0000.192
predicted_RBI1.000-0.083
predicted_SLG0.250-0.120
predicted_SO2.000-0.014
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.000-4.000
BB0.000-1.000
CS0.0000.000
H0.000-2.000
HBP0.0000.000
HR0.0000.000
PA4.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: 175
Reference playing time: 3.880
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-23.0000.0000.0000.0000.0000.0000.0001.0009.0000.00000.04170.00000.00000.00000.00000.04350.3913
last_100.203-40.0000.0000.0000.0000.0000.0004.0005.00015.0000.00000.11110.00000.00000.00000.00000.12500.3750
season0.6044-663.000160.00038.0000.00035.000120.00077.00057.000144.0000.24130.31840.45700.24130.05280.18100.08600.2172
Weighted Prediction From Real Data
MetricValue
predicted_2B0.6770
predicted_3B0.0020
predicted_AB14.1570
predicted_AVG0.2030
predicted_BB1.1780
predicted_H2.8740
predicted_HBP0.3130
predicted_HR0.6170
predicted_OBP0.2776
predicted_R1.4630
predicted_RBI2.1250
predicted_SLG0.3819
predicted_SO3.4590
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.21700.67700.4187model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB3.880014.15708.3871model_form_blend
predicted_AVG0.22800.20300.2170model_form_blend
predicted_BB0.32601.17800.6997model_form_blend
predicted_H0.88002.87401.7545model_form_blend
predicted_HBP-0.31300.3130form_only
predicted_HR0.15000.61700.3548model_form_blend
predicted_OBP0.31200.27760.2969model_form_blend
predicted_R0.44001.46300.8887model_form_blend
predicted_RBI0.46002.12501.1902model_form_blend
predicted_SLG0.40200.38190.3932model_form_blend
predicted_SO0.82303.45901.9791model_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 date175
Season rows before report date175
Report year2026
Profile rows used175
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.241

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.0
Hitting_BB1
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder3
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedDH
gameID20260520_CLE@DET
game_typefull
mlbID693307
playerID693307
playerNameDillon Dingler
posC
startedTrue
startingPositionDH
teamDET
teamID10
game_date2026-05-20
sl_k_percent19.5
sl_bb_percent7.5
sl_woba0.339
sl_xwoba0.391
sl_xba0.296
sl_xslg0.544
sl_sweet_spot_percent42.1
sl_barrel_batted_rate13.3
sl_hard_hit_percent48.8
sl_exit_velocity_avg90.2
sl_launch_angle_avg13.8
sl_whiff_percent20.5
sl_swing_percent48.8
Jahmai Jones (663330) · BATTER · DH · Team DET
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 61
All-history rows before 20260521: 61
System season_avg: 0.1740
Data season_avg (2026 season-to-date): 0.1742
Diff (system - data): -0.0002
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.1140.0000.000Hitting_2B0.0980.000-0.0980.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.5003.0003.000Hitting_AB2.1643.0000.8360.000
predicted_AVG0.2470.0000.000Hitting_AVG0.1740.000-0.1740.000
predicted_BB0.3410.0001.000Hitting_BB0.2952.000-0.295-2.000
predicted_CS-0.0000.000BaseRunning_CS0.0660.000-0.0660.000
predicted_H0.1800.0000.000Hitting_H0.3770.000-0.3770.000
predicted_HR0.0400.0000.000Hitting_HR0.0660.000-0.0660.000
predicted_OBP0.2700.2500.250Hitting_OBP0.2730.400-0.023-0.150
predicted_R0.2460.0000.000Hitting_R0.2130.000-0.2130.000
predicted_RBI0.1300.0000.000Hitting_RBI0.1970.000-0.1970.000
predicted_SLG0.3220.0000.000Hitting_SLG0.3110.000-0.3110.000
predicted_SO0.9850.0001.000Hitting_SO0.8522.000-0.852-2.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: 2.5000 -> 3.0000 (boost 0.5000, better)
Biggest Deboostpredicted_SO: 0.9850 -> 0.0000 (deboost -0.9850, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend97263predicted_AB: 2.5000 -> 3.4044 (boost 0.9044, better)predicted_AVG: 0.2470 -> 0.2114 (deboost -0.0356, worse)Final model 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.2114 -> 0.1141 (deboost -0.0973, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling71625predicted_BB: 0.5788 -> 1.0000 (boost 0.4212, better)predicted_SO: 1.4241 -> 1.0000 (deboost -0.4241, better)AB rounded to 3 (raw=3.40), rates preserved: AVG=0.114 HR/AB=0.020
5consistency_constraints10101-predicted_R: 0.2778 -> 0.0000 (deboost -0.2778, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context31212predicted_OBP: 0.2428 -> 0.2500 (boost 0.0072, better)predicted_SLG: 0.2153 -> 0.0000 (deboost -0.2153, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference31221predicted_HBP: 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
8current_json_final32121predicted_SLG: 0.0000 -> 0.2153 (boost 0.2153, better)predicted_OBP: 0.2500 -> 0.2428 (deboost -0.0072, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "663330",
  "player_name": "Jahmai Jones",
  "position": "DH",
  "team": "DET",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.114,
        "predicted_3B": 0.0,
        "predicted_AB": 2.5,
        "predicted_AVG": 0.247,
        "predicted_BB": 0.341,
        "predicted_H": 0.18,
        "predicted_HR": 0.04,
        "predicted_OBP": 0.27,
        "predicted_R": 0.246,
        "predicted_RBI": 0.13,
        "predicted_SLG": 0.322,
        "predicted_SO": 0.985
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1381,
        "predicted_3B": 0.0012,
        "predicted_AB": 3.4044,
        "predicted_AVG": 0.2114,
        "predicted_BB": 0.5894,
        "predicted_H": 0.4095,
        "predicted_HBP": 0.007,
        "predicted_HR": 0.0709,
        "predicted_OBP": 0.2809,
        "predicted_R": 0.3054,
        "predicted_RBI": 0.2427,
        "predicted_SLG": 0.301,
        "predicted_SO": 1.3991
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.114,
          "after": 0.1381,
          "delta": 0.0241,
          "percent_delta": 0.2114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0012,
          "delta": 0.0012,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.5,
          "after": 3.4044,
          "delta": 0.9044,
          "percent_delta": 0.3618,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.247,
          "after": 0.2114,
          "delta": -0.0356,
          "percent_delta": -0.1441,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.341,
          "after": 0.5894,
          "delta": 0.2484,
          "percent_delta": 0.7284,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.18,
          "after": 0.4095,
          "delta": 0.2295,
          "percent_delta": 1.275,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.04,
          "after": 0.0709,
          "delta": 0.0309,
          "percent_delta": 0.7725,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.27,
          "after": 0.2809,
          "delta": 0.0109,
          "percent_delta": 0.0404,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.246,
          "after": 0.3054,
          "delta": 0.0594,
          "percent_delta": 0.2415,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.13,
          "after": 0.2427,
          "delta": 0.1127,
          "percent_delta": 0.8669,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.322,
          "after": 0.301,
          "delta": -0.021,
          "percent_delta": -0.0652,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.985,
          "after": 1.3991,
          "delta": 0.4141,
          "percent_delta": 0.4204,
          "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_AB",
          "before": 2.5,
          "after": 3.4044,
          "delta": 0.9044,
          "percent_delta": 0.3618,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.247,
          "after": 0.2114,
          "delta": -0.0356,
          "percent_delta": -0.1441,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 1,
        "last_10": 5,
        "season": 30
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1381,
        "predicted_3B": 0.0012,
        "predicted_AB": 3.4044,
        "predicted_AVG": 0.1141,
        "predicted_BB": 0.5788,
        "predicted_H": 0.3884,
        "predicted_HBP": 0.007,
        "predicted_HR": 0.068,
        "predicted_OBP": 0.2428,
        "predicted_R": 0.2778,
        "predicted_RBI": 0.2208,
        "predicted_SLG": 0.2153,
        "predicted_SO": 1.4241
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1381,
          "after": 0.1381,
          "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.4044,
          "after": 3.4044,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2114,
          "after": 0.1141,
          "delta": -0.0973,
          "percent_delta": -0.4603,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5894,
          "after": 0.5788,
          "delta": -0.0106,
          "percent_delta": -0.018,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.4095,
          "after": 0.3884,
          "delta": -0.0211,
          "percent_delta": -0.0515,
          "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.0709,
          "after": 0.068,
          "delta": -0.0029,
          "percent_delta": -0.0409,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2809,
          "after": 0.2428,
          "delta": -0.0381,
          "percent_delta": -0.1356,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3054,
          "after": 0.2778,
          "delta": -0.0276,
          "percent_delta": -0.0904,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2427,
          "after": 0.2208,
          "delta": -0.0219,
          "percent_delta": -0.0902,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.301,
          "after": 0.2153,
          "delta": -0.0857,
          "percent_delta": -0.2847,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.3991,
          "after": 1.4241,
          "delta": 0.025,
          "percent_delta": 0.0179,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.2114,
          "after": 0.1141,
          "delta": -0.0973,
          "percent_delta": -0.4603,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.40), rates preserved: AVG=0.114 HR/AB=0.020",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.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.1381,
          "after": 0.0,
          "delta": -0.1381,
          "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.4044,
          "after": 3.0,
          "delta": -0.4044,
          "percent_delta": -0.1188,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5788,
          "after": 1.0,
          "delta": 0.4212,
          "percent_delta": 0.7277,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.3884,
          "after": 0.0,
          "delta": -0.3884,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.007,
          "after": 0.0,
          "delta": -0.007,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.068,
          "after": 0.0,
          "delta": -0.068,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "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": 1.4241,
          "after": 1.0,
          "delta": -0.4241,
          "percent_delta": -0.2978,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 1,
        "deboosted_metrics": 6,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.5788,
          "after": 1.0,
          "delta": 0.4212,
          "percent_delta": 0.7277,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.4241,
          "after": 1.0,
          "delta": -0.4241,
          "percent_delta": -0.2978,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 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": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.2778,
          "after": 0.0,
          "delta": -0.2778,
          "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.2778,
          "after": 0.0,
          "delta": -0.2778,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.0,
        "predicted_BB": 1.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.25,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1141,
          "after": 0.0,
          "delta": -0.1141,
          "percent_delta": -1.0,
          "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": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2428,
          "after": 0.25,
          "delta": 0.0072,
          "percent_delta": 0.0297,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2153,
          "after": 0.0,
          "delta": -0.2153,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.2428,
          "after": 0.25,
          "delta": 0.0072,
          "percent_delta": 0.0297,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.2153,
          "after": 0.0,
          "delta": -0.2153,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.1141,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_DH": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2428,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2153,
        "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.0,
          "after": 0.1141,
          "delta": 0.1141,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.25,
          "after": 0.2428,
          "delta": -0.0072,
          "percent_delta": -0.0287,
          "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.0,
          "after": 0.2153,
          "delta": 0.2153,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.0,
          "after": 0.2153,
          "delta": 0.2153,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.25,
          "after": 0.2428,
          "delta": -0.0072,
          "percent_delta": -0.0287,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.114,
        "after": 0.0,
        "delta": -0.114,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.5,
        "after": 3.0,
        "delta": 0.5,
        "percent_delta": 0.2,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.247,
        "after": 0.1141,
        "delta": -0.1329,
        "percent_delta": -0.5381,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.341,
        "after": 0.0,
        "delta": -0.341,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.18,
        "after": 0.0,
        "delta": -0.18,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.04,
        "after": 0.0,
        "delta": -0.04,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_OBP",
        "before": 0.27,
        "after": 0.2428,
        "delta": -0.0272,
        "percent_delta": -0.1007,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.246,
        "after": 0.0,
        "delta": -0.246,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.13,
        "after": 0.0,
        "delta": -0.13,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.322,
        "after": 0.2153,
        "delta": -0.1067,
        "percent_delta": -0.3314,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.985,
        "after": 0.0,
        "delta": -0.985,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 1,
      "deboosted_metrics": 9,
      "better_metrics": 2,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 2.5,
        "after": 3.0,
        "delta": 0.5,
        "percent_delta": 0.2,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.985,
        "after": 0.0,
        "delta": -0.985,
        "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.114-
predicted_3B0.000-
predicted_AB2.500-
predicted_AVG0.247-
predicted_BB0.341-
predicted_H0.180-
predicted_HR0.040-
predicted_OBP0.270-
predicted_R0.246-
predicted_RBI0.130-
predicted_SLG0.322-
predicted_SO0.985-
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.1380.024
predicted_3B0.0010.001
predicted_AB3.4040.904
predicted_AVG0.211-0.036
predicted_BB0.5890.248
predicted_H0.4090.229
predicted_HBP0.007-
predicted_HR0.0710.031
predicted_OBP0.2810.011
predicted_R0.3050.059
predicted_RBI0.2430.113
predicted_SLG0.301-0.021
predicted_SO1.3990.414
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1380.000
predicted_3B0.0010.000
predicted_AB3.4040.000
predicted_AVG0.114-0.097
predicted_BB0.579-0.011
predicted_H0.388-0.021
predicted_HBP0.0070.000
predicted_HR0.068-0.003
predicted_OBP0.243-0.038
predicted_R0.278-0.028
predicted_RBI0.221-0.022
predicted_SLG0.215-0.086
predicted_SO1.4240.025
4. ab_floor_and_scaling

AB rounded to 3 (raw=3.40), rates preserved: AVG=0.114 HR/AB=0.020

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB1.000-
H0.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
5. consistency_constraints

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

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

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.138
predicted_3B0.000-0.001
predicted_AB3.000-0.404
predicted_AVG0.000-0.114
predicted_BB1.0000.421
predicted_H0.000-0.388
predicted_HR0.000-0.068
predicted_OBP0.2500.007
predicted_R0.000-0.278
predicted_RBI0.000-0.221
predicted_SLG0.000-0.215
predicted_SO1.000-0.424
7. 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.000-1.000
CS0.0000.000
H0.0000.000
HBP1.0001.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: 60
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.201-15.0000.0000.0000.0000.0000.0000.00010.00010.0000.00000.40000.00000.00000.00000.00000.66670.6667
last_100.205-22.0001.0000.0000.0000.0001.0000.00010.00015.0000.04550.34380.04550.04540.00000.04540.45460.6818
season0.6030-132.00023.0006.0000.0004.00012.00013.00018.00052.0000.17420.27330.31060.17420.03030.09090.13640.3939
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1740
predicted_3B0.0030
predicted_AB4.7540
predicted_AVG0.1582
predicted_BB0.9600
predicted_H0.7520
predicted_HBP0.0070
predicted_HR0.1170
predicted_OBP0.2972
predicted_R0.3940
predicted_RBI0.4110
predicted_SLG0.2697
predicted_SO2.0170
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.11400.17400.1381model_form_blend
predicted_3B0.00000.00300.0012model_form_blend
predicted_AB2.50004.75403.4044model_form_blend
predicted_AVG0.24700.15820.2114model_form_blend
predicted_BB0.34100.96000.5894model_form_blend
predicted_H0.18000.75200.4095model_form_blend
predicted_HBP-0.00700.0070form_only
predicted_HR0.04000.11700.0709model_form_blend
predicted_OBP0.27000.29720.2809model_form_blend
predicted_R0.24600.39400.3054model_form_blend
predicted_RBI0.13000.41100.2427model_form_blend
predicted_SLG0.32200.26970.3010model_form_blend
predicted_SO0.98502.01701.3991model_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 date61
Season rows before report date61
Report year2026
Profile rows used60
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB3
H0
2B0
3B0
HR0
R0
RBI0
BB0
SO0
SF0
HBP1
season_avg0.174

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_BB2
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
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
allPositionsPlayedDH
gameID20260519_CLE@DET
game_typefull
mlbID663330
playerID663330
playerNameJahmai Jones
posDH
startedTrue
startingPositionDH
teamDET
teamID10
game_date2026-05-19
game_pk824276.0
sl_k_percent35.0
sl_bb_percent8.3
sl_woba0.261
sl_xwoba0.347
sl_xba0.261
sl_xslg0.481
sl_sweet_spot_percent38.2
sl_barrel_batted_rate14.7
sl_hard_hit_percent50.0
sl_exit_velocity_avg92.7
sl_launch_angle_avg13.8
sl_whiff_percent30.3
sl_swing_percent51.4
at_bat_number73.0
ab_pitcher671922.0
ab_pitcher_nameSmith, Cade
ab_home_teamDET
ab_away_teamCLE
ab_game_typeR
ab_standR
ab_p_throwsR
ab_inning9.0
ab_inning_topbotBot
ab_outs_when_up1.0
ab_on_1b_start805808.0
ab_on_2b_start663837.0
ab_balls_start0.0
ab_strikes_start0.0
ab_home_score_start3.0
ab_away_score_start4.0
ab_bat_score_start3.0
ab_fld_score_start4.0
ab_eventstrikeout
ab_event_descriptionJahmai Jones called out on strikes.
ab_event_typeS
ab_hit_location2.0
ab_pitch_type_lastFF
ab_pitch_name_last4-Seam Fastball
ab_zone_last6.0
ab_estimated_woba_last0.0
ab_woba_value0.0
ab_woba_denom1.0
ab_babip_value0.0
ab_iso_value0.0
ab_balls_end2.0
ab_strikes_end2.0
ab_home_score_end3.0
ab_away_score_end4.0
ab_bat_score_end3.0
ab_fld_score_end4.0
ab_pitch_count5.0
ab_release_speed_avg89.9
ab_release_spin_rate_avg2268.6
ab_effective_speed_avg91.96
ab_delta_run_exp_avg-0.0492
ab_delta_home_win_exp_avg-0.0334
ab_delta_pitcher_run_exp_avg0.0492
ab_bat_speed_avg56.6
ab_swing_length_avg6.6
ab_release_speed_max97.7
ab_release_spin_rate_max2456.0
ab_release_speed_min84.4
ab_release_spin_rate_min2116.0
ab_delta_run_exp_sum-0.246
ab_delta_home_win_exp_sum-0.1669999999999999
ab_delta_pitcher_run_exp_sum0.246
ab_result_is_hitFalse
ab_result_is_walkFalse
ab_result_is_strikeoutTrue
ab_result_is_hbpFalse
Spencer Torkelson (679529) · BATTER · 1B · Team DET
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 189
All-history rows before 20260521: 189
System season_avg: 0.2010
Data season_avg (2026 season-to-date): 0.2006
Diff (system - data): 0.0004
System opponent_avg: 0.2410

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2060.0000.000Hitting_2B0.2060.000-0.2060.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.4293.0007.000Hitting_AB3.4291.000-0.4292.000
predicted_AVG0.2150.0000.143Hitting_AVG0.2010.000-0.2010.000
predicted_BB0.5340.0001.000Hitting_BB0.5340.000-0.5340.000
predicted_CS-0.0000.000BaseRunning_CS0.0210.000-0.0210.000
predicted_H0.7000.0001.000Hitting_H0.6880.000-0.6880.000
predicted_HR0.1400.0000.000Hitting_HR0.1480.000-0.1480.000
predicted_OBP0.2750.0000.250Hitting_OBP0.3120.000-0.3120.000
predicted_R0.3330.0001.000Hitting_R0.3330.000-0.3330.000
predicted_RBI0.4000.0001.000Hitting_RBI0.4020.000-0.4020.000
predicted_SLG0.3660.0000.143Hitting_SLG0.3900.000-0.3900.000
predicted_SO1.3441.0003.000Hitting_SO1.3440.000-0.3441.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_SLG: 0.3660 -> 0.4217 (boost 0.0557, better)
Biggest Deboostpredicted_H: 0.7000 -> 0.0000 (deboost -0.7000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend109182predicted_AB: 3.4290 -> 6.8966 (boost 3.4676, better)predicted_AVG: 0.2150 -> 0.2079 (deboost -0.0071, worse)Final model 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_snapshot51414predicted_SLG: 0.4073 -> 0.4217 (boost 0.0144, better)predicted_RBI: 1.0605 -> 0.9646 (deboost -0.0959, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling73425predicted_SO: 2.8070 -> 3.0000 (boost 0.1930, worse)predicted_HR: 0.4144 -> 0.0000 (deboost -0.4144, worse)AB rounded to 7 (raw=6.90), rates preserved: AVG=0.190 HR/AB=0.060
5consistency_constraints11010predicted_R: 0.6933 -> 1.0000 (boost 0.3067, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context30303-predicted_SLG: 0.4217 -> 0.1430 (deboost -0.2787, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference60615-predicted_AB: 7.0000 -> 3.0000 (deboost -4.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final33030predicted_SLG: 0.1430 -> 0.4217 (boost 0.2787, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "679529",
  "player_name": "Spencer Torkelson",
  "position": "1B",
  "team": "DET",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.206,
        "predicted_3B": 0.0,
        "predicted_AB": 3.429,
        "predicted_AVG": 0.215,
        "predicted_BB": 0.534,
        "predicted_H": 0.7,
        "predicted_HR": 0.14,
        "predicted_OBP": 0.275,
        "predicted_R": 0.333,
        "predicted_RBI": 0.4,
        "predicted_SLG": 0.366,
        "predicted_SO": 1.344
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.3521,
        "predicted_3B": 0.0009,
        "predicted_AB": 6.8966,
        "predicted_AVG": 0.2079,
        "predicted_BB": 0.9031,
        "predicted_H": 1.382,
        "predicted_HBP": 0.083,
        "predicted_HR": 0.4323,
        "predicted_OBP": 0.2799,
        "predicted_R": 0.7622,
        "predicted_RBI": 1.0605,
        "predicted_SLG": 0.4073,
        "predicted_SO": 2.7576
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.206,
          "after": 0.3521,
          "delta": 0.1461,
          "percent_delta": 0.7092,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.429,
          "after": 6.8966,
          "delta": 3.4676,
          "percent_delta": 1.0113,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.215,
          "after": 0.2079,
          "delta": -0.0071,
          "percent_delta": -0.033,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.534,
          "after": 0.9031,
          "delta": 0.3691,
          "percent_delta": 0.6912,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7,
          "after": 1.382,
          "delta": 0.682,
          "percent_delta": 0.9743,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.14,
          "after": 0.4323,
          "delta": 0.2923,
          "percent_delta": 2.0879,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.275,
          "after": 0.2799,
          "delta": 0.0049,
          "percent_delta": 0.0178,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.333,
          "after": 0.7622,
          "delta": 0.4292,
          "percent_delta": 1.2889,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4,
          "after": 1.0605,
          "delta": 0.6605,
          "percent_delta": 1.6512,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.366,
          "after": 0.4073,
          "delta": 0.0413,
          "percent_delta": 0.1128,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.344,
          "after": 2.7576,
          "delta": 1.4136,
          "percent_delta": 1.0518,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 10,
        "boosted_metrics": 9,
        "deboosted_metrics": 1,
        "better_metrics": 8,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.429,
          "after": 6.8966,
          "delta": 3.4676,
          "percent_delta": 1.0113,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.215,
          "after": 0.2079,
          "delta": -0.0071,
          "percent_delta": -0.033,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 3,
        "last_10": 4,
        "season": 49
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.3521,
        "predicted_3B": 0.0009,
        "predicted_AB": 6.8966,
        "predicted_AVG": 0.1901,
        "predicted_BB": 0.8869,
        "predicted_H": 1.3108,
        "predicted_HBP": 0.083,
        "predicted_HR": 0.4144,
        "predicted_OBP": 0.2824,
        "predicted_R": 0.6933,
        "predicted_RBI": 0.9646,
        "predicted_SLG": 0.4217,
        "predicted_SO": 2.807
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.3521,
          "after": 0.3521,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.8966,
          "after": 6.8966,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2079,
          "after": 0.1901,
          "delta": -0.0178,
          "percent_delta": -0.0856,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.9031,
          "after": 0.8869,
          "delta": -0.0162,
          "percent_delta": -0.0179,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.382,
          "after": 1.3108,
          "delta": -0.0712,
          "percent_delta": -0.0515,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.083,
          "after": 0.083,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.4323,
          "after": 0.4144,
          "delta": -0.0179,
          "percent_delta": -0.0414,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2799,
          "after": 0.2824,
          "delta": 0.0025,
          "percent_delta": 0.0089,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.7622,
          "after": 0.6933,
          "delta": -0.0689,
          "percent_delta": -0.0904,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0605,
          "after": 0.9646,
          "delta": -0.0959,
          "percent_delta": -0.0904,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4073,
          "after": 0.4217,
          "delta": 0.0144,
          "percent_delta": 0.0354,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.7576,
          "after": 2.807,
          "delta": 0.0494,
          "percent_delta": 0.0179,
          "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.4073,
          "after": 0.4217,
          "delta": 0.0144,
          "percent_delta": 0.0354,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0605,
          "after": 0.9646,
          "delta": -0.0959,
          "percent_delta": -0.0904,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 7 (raw=6.90), rates preserved: AVG=0.190 HR/AB=0.060",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.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": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.3521,
          "after": 0.0,
          "delta": -0.3521,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.8966,
          "after": 7.0,
          "delta": 0.1034,
          "percent_delta": 0.015,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.8869,
          "after": 1.0,
          "delta": 0.1131,
          "percent_delta": 0.1275,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.3108,
          "after": 1.0,
          "delta": -0.3108,
          "percent_delta": -0.2371,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.083,
          "after": 0.0,
          "delta": -0.083,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.4144,
          "after": 0.0,
          "delta": -0.4144,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.9646,
          "after": 1.0,
          "delta": 0.0354,
          "percent_delta": 0.0367,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.807,
          "after": 3.0,
          "delta": 0.193,
          "percent_delta": 0.0688,
          "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": 2.807,
          "after": 3.0,
          "delta": 0.193,
          "percent_delta": 0.0688,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.4144,
          "after": 0.0,
          "delta": -0.4144,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.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": 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": 7.0,
          "after": 7.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.6933,
          "after": 1.0,
          "delta": 0.3067,
          "percent_delta": 0.4424,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.6933,
          "after": 1.0,
          "delta": 0.3067,
          "percent_delta": 0.4424,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.0,
        "predicted_AVG": 0.143,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.25,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.143,
        "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": 7.0,
          "after": 7.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1901,
          "after": 0.143,
          "delta": -0.0471,
          "percent_delta": -0.2478,
          "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.2824,
          "after": 0.25,
          "delta": -0.0324,
          "percent_delta": -0.1147,
          "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.4217,
          "after": 0.143,
          "delta": -0.2787,
          "percent_delta": -0.6609,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4217,
          "after": 0.143,
          "delta": -0.2787,
          "percent_delta": -0.6609,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.0,
          "after": 3.0,
          "delta": -4.0,
          "percent_delta": -0.5714,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "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": 3.0,
          "after": 1.0,
          "delta": -2.0,
          "percent_delta": -0.6667,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 0,
        "deboosted_metrics": 6,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 7.0,
          "after": 3.0,
          "delta": -4.0,
          "percent_delta": -0.5714,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.1901,
        "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.2824,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4217,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.143,
          "after": 0.1901,
          "delta": 0.0471,
          "percent_delta": 0.3292,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.25,
          "after": 0.2824,
          "delta": 0.0324,
          "percent_delta": 0.1294,
          "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.143,
          "after": 0.4217,
          "delta": 0.2787,
          "percent_delta": 1.9487,
          "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.143,
          "after": 0.4217,
          "delta": 0.2787,
          "percent_delta": 1.9487,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.206,
        "after": 0.0,
        "delta": -0.206,
        "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.429,
        "after": 3.0,
        "delta": -0.429,
        "percent_delta": -0.1251,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.215,
        "after": 0.1901,
        "delta": -0.0249,
        "percent_delta": -0.1158,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.534,
        "after": 0.0,
        "delta": -0.534,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.7,
        "after": 0.0,
        "delta": -0.7,
        "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.275,
        "after": 0.2824,
        "delta": 0.0074,
        "percent_delta": 0.0269,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.333,
        "after": 0.0,
        "delta": -0.333,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.4,
        "after": 0.0,
        "delta": -0.4,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.366,
        "after": 0.4217,
        "delta": 0.0557,
        "percent_delta": 0.1522,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.344,
        "after": 1.0,
        "delta": -0.344,
        "percent_delta": -0.256,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 2,
      "deboosted_metrics": 9,
      "better_metrics": 3,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_SLG",
        "before": 0.366,
        "after": 0.4217,
        "delta": 0.0557,
        "percent_delta": 0.1522,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.7,
        "after": 0.0,
        "delta": -0.7,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.206-
predicted_3B0.000-
predicted_AB3.429-
predicted_AVG0.215-
predicted_BB0.534-
predicted_H0.700-
predicted_HR0.140-
predicted_OBP0.275-
predicted_R0.333-
predicted_RBI0.400-
predicted_SLG0.366-
predicted_SO1.344-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.3520.146
predicted_3B0.0010.001
predicted_AB6.8973.468
predicted_AVG0.208-0.007
predicted_BB0.9030.369
predicted_H1.3820.682
predicted_HBP0.083-
predicted_HR0.4320.292
predicted_OBP0.2800.005
predicted_R0.7620.429
predicted_RBI1.0600.660
predicted_SLG0.4070.041
predicted_SO2.7581.414
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.3520.000
predicted_3B0.0010.000
predicted_AB6.8970.000
predicted_AVG0.190-0.018
predicted_BB0.887-0.016
predicted_H1.311-0.071
predicted_HBP0.0830.000
predicted_HR0.414-0.018
predicted_OBP0.2820.003
predicted_R0.693-0.069
predicted_RBI0.965-0.096
predicted_SLG0.4220.014
predicted_SO2.8070.049
4. ab_floor_and_scaling

AB rounded to 7 (raw=6.90), rates preserved: AVG=0.190 HR/AB=0.060

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB7.000-
BB1.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO3.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB7.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-
SO3.0000.000
6. 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.352
predicted_3B0.000-0.001
predicted_AB7.0000.103
predicted_AVG0.143-0.047
predicted_BB1.0000.113
predicted_H1.000-0.311
predicted_HR0.000-0.414
predicted_OBP0.250-0.032
predicted_R1.0000.307
predicted_RBI1.0000.035
predicted_SLG0.143-0.279
predicted_SO3.0000.193
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-4.000
BB0.000-1.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA3.000-
R0.000-1.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO1.000-2.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 189
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.203-14.0003.0000.0000.0003.0006.0003.0000.0007.0000.21430.21430.85710.21430.21430.42860.00000.5000
last_100.204-34.0003.0000.0000.0003.0006.0003.0000.00014.0000.08820.08820.35290.08820.08820.17650.00000.4118
season0.6049-648.000130.00039.0000.00028.00076.00063.000101.000254.0000.20060.31230.39040.20060.04320.11730.15590.3920
Weighted Prediction From Real Data
MetricValue
predicted_2B0.5390
predicted_3B0.0020
predicted_AB11.3300
predicted_AVG0.1989
predicted_BB1.3750
predicted_H2.2540
predicted_HBP0.0830
predicted_HR0.8060
predicted_OBP0.2861
predicted_R1.3110
predicted_RBI1.9050
predicted_SLG0.4601
predicted_SO4.5650
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.20600.53900.3521model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB3.429011.33006.8966model_form_blend
predicted_AVG0.21500.19890.2079model_form_blend
predicted_BB0.53401.37500.9031model_form_blend
predicted_H0.70002.25401.3820model_form_blend
predicted_HBP-0.08300.0830form_only
predicted_HR0.14000.80600.4323model_form_blend
predicted_OBP0.27500.28610.2799model_form_blend
predicted_R0.33301.31100.7622model_form_blend
predicted_RBI0.40001.90501.0605model_form_blend
predicted_SLG0.36600.46010.4073model_form_blend
predicted_SO1.34404.56502.7576model_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 date189
Season rows before report date189
Report year2026
Profile rows used189
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA3
AB3
H0
2B0
3B0
HR0
R0
RBI0
BB0
SO1
SF0
HBP0
season_avg0.201

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB1
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder9
Hitting_substitutionOrder1
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedPH
gameID20260520_CLE@DET
game_typeph
mlbID679529
notePopped out for Rogers in the 10th.
playerID679529
playerNameSpencer Torkelson
pos1B
startedFalse
startingPositionPH
teamDET
teamID10
game_date2026-05-20
sl_k_percent33.5
sl_bb_percent13.3
sl_woba0.312
sl_xwoba0.323
sl_xba0.206
sl_xslg0.406
sl_sweet_spot_percent48.0
sl_barrel_batted_rate14.4
sl_hard_hit_percent43.9
sl_exit_velocity_avg90.7
sl_launch_angle_avg18.8
sl_whiff_percent29.0
sl_swing_percent41.5
Wenceel Pérez (672761) · BATTER · RF · Team DET
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 109
All-history rows before 20260521: 109
System season_avg: 0.1610
Data season_avg (2026 season-to-date): 0.1609
Diff (system - data): 0.0001
System opponent_avg: 0.0800

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0740.0000.000Hitting_2B0.0730.000-0.0730.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.4543.0006.000Hitting_AB3.4221.000-0.4222.000
predicted_AVG0.2210.0000.167Hitting_AVG0.1610.000-0.1610.000
predicted_BB0.2310.0000.000Hitting_BB0.2390.000-0.2390.000
predicted_CS-0.0000.000BaseRunning_CS0.0460.000-0.0460.000
predicted_H0.6400.0001.000Hitting_H0.5500.000-0.5500.000
predicted_HR0.0700.0000.000Hitting_HR0.0280.000-0.0280.000
predicted_OBP0.2550.0000.167Hitting_OBP0.2160.000-0.2160.000
predicted_R0.3060.0001.000Hitting_R0.3121.000-0.312-1.000
predicted_RBI0.2700.0000.000Hitting_RBI0.2390.000-0.2390.000
predicted_SLG0.2980.0000.167Hitting_SLG0.2060.000-0.2060.000
predicted_SO0.5561.0001.000Hitting_SO0.5501.0000.4500.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.5560 -> 1.0000 (boost 0.4440, worse)
Biggest Deboostpredicted_H: 0.6400 -> 0.0000 (deboost -0.6400, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend86253predicted_AB: 3.4540 -> 6.2187 (boost 2.7647, better)predicted_SLG: 0.2980 -> 0.2693 (deboost -0.0287, worse)Final model 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_snapshot50505-predicted_H: 1.1584 -> 1.0987 (deboost -0.0597, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling71625predicted_BB: 0.5415 -> 1.0000 (boost 0.4585, better)predicted_RBI: 0.3738 -> 0.0000 (deboost -0.3738, worse)AB rounded to 6 (raw=6.22), rates preserved: AVG=0.177 HR/AB=0.012
5bvp_blend10101-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.000)
6consistency_constraints11010predicted_R: 0.5143 -> 1.0000 (boost 0.4857, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context30303-predicted_OBP: 0.2426 -> 0.1670 (deboost -0.0756, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference30303-predicted_AB: 6.0000 -> 3.0000 (deboost -3.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final33030predicted_OBP: 0.1670 -> 0.2426 (boost 0.0756, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "672761",
  "player_name": "Wenceel Pérez",
  "position": "RF",
  "team": "DET",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.074,
        "predicted_3B": 0.0,
        "predicted_AB": 3.454,
        "predicted_AVG": 0.221,
        "predicted_BB": 0.231,
        "predicted_H": 0.64,
        "predicted_HR": 0.07,
        "predicted_OBP": 0.255,
        "predicted_R": 0.306,
        "predicted_RBI": 0.27,
        "predicted_SLG": 0.298,
        "predicted_SO": 0.556
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1238,
        "predicted_3B": 0.0013,
        "predicted_AB": 6.2187,
        "predicted_AVG": 0.2063,
        "predicted_BB": 0.5514,
        "predicted_H": 1.1584,
        "predicted_HBP": 0.006,
        "predicted_HR": 0.0752,
        "predicted_OBP": 0.2552,
        "predicted_R": 0.5654,
        "predicted_RBI": 0.4109,
        "predicted_SLG": 0.2693,
        "predicted_SO": 1.1633
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.074,
          "after": 0.1238,
          "delta": 0.0498,
          "percent_delta": 0.673,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0013,
          "delta": 0.0013,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.454,
          "after": 6.2187,
          "delta": 2.7647,
          "percent_delta": 0.8004,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.221,
          "after": 0.2063,
          "delta": -0.0147,
          "percent_delta": -0.0665,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.231,
          "after": 0.5514,
          "delta": 0.3204,
          "percent_delta": 1.387,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.64,
          "after": 1.1584,
          "delta": 0.5184,
          "percent_delta": 0.81,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.07,
          "after": 0.0752,
          "delta": 0.0052,
          "percent_delta": 0.0743,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.255,
          "after": 0.2552,
          "delta": 0.0002,
          "percent_delta": 0.0008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.306,
          "after": 0.5654,
          "delta": 0.2594,
          "percent_delta": 0.8477,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.27,
          "after": 0.4109,
          "delta": 0.1409,
          "percent_delta": 0.5219,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.298,
          "after": 0.2693,
          "delta": -0.0287,
          "percent_delta": -0.0963,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.556,
          "after": 1.1633,
          "delta": 0.6073,
          "percent_delta": 1.0923,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 6,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.454,
          "after": 6.2187,
          "delta": 2.7647,
          "percent_delta": 0.8004,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.298,
          "after": 0.2693,
          "delta": -0.0287,
          "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": 2,
        "last_10": 4,
        "season": 33
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1238,
        "predicted_3B": 0.0013,
        "predicted_AB": 6.2187,
        "predicted_AVG": 0.1767,
        "predicted_BB": 0.5415,
        "predicted_H": 1.0987,
        "predicted_HBP": 0.006,
        "predicted_HR": 0.0721,
        "predicted_OBP": 0.2426,
        "predicted_R": 0.5143,
        "predicted_RBI": 0.3738,
        "predicted_SLG": 0.2318,
        "predicted_SO": 1.1841
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1238,
          "after": 0.1238,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0013,
          "after": 0.0013,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.2187,
          "after": 6.2187,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2063,
          "after": 0.1767,
          "delta": -0.0296,
          "percent_delta": -0.1435,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5514,
          "after": 0.5415,
          "delta": -0.0099,
          "percent_delta": -0.018,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.1584,
          "after": 1.0987,
          "delta": -0.0597,
          "percent_delta": -0.0515,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "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.0752,
          "after": 0.0721,
          "delta": -0.0031,
          "percent_delta": -0.0412,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2552,
          "after": 0.2426,
          "delta": -0.0126,
          "percent_delta": -0.0494,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5654,
          "after": 0.5143,
          "delta": -0.0511,
          "percent_delta": -0.0904,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4109,
          "after": 0.3738,
          "delta": -0.0371,
          "percent_delta": -0.0903,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2693,
          "after": 0.2318,
          "delta": -0.0375,
          "percent_delta": -0.1392,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1633,
          "after": 1.1841,
          "delta": 0.0208,
          "percent_delta": 0.0179,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 0,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.1584,
          "after": 1.0987,
          "delta": -0.0597,
          "percent_delta": -0.0515,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 6 (raw=6.22), rates preserved: AVG=0.177 HR/AB=0.012",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.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.1238,
          "after": 0.0,
          "delta": -0.1238,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0013,
          "after": 0.0,
          "delta": -0.0013,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.2187,
          "after": 6.0,
          "delta": -0.2187,
          "percent_delta": -0.0352,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5415,
          "after": 1.0,
          "delta": 0.4585,
          "percent_delta": 0.8467,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0987,
          "after": 1.0,
          "delta": -0.0987,
          "percent_delta": -0.0898,
          "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.0721,
          "after": 0.0,
          "delta": -0.0721,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3738,
          "after": 0.0,
          "delta": -0.3738,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1841,
          "after": 1.0,
          "delta": -0.1841,
          "percent_delta": -0.1555,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 1,
        "deboosted_metrics": 6,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.5415,
          "after": 1.0,
          "delta": 0.4585,
          "percent_delta": 0.8467,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3738,
          "after": 0.0,
          "delta": -0.3738,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.000)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.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": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "model_expectation": 0.9429,
        "bvp": 0.0571
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.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": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5143,
          "after": 1.0,
          "delta": 0.4857,
          "percent_delta": 0.9444,
          "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.5143,
          "after": 1.0,
          "delta": 0.4857,
          "percent_delta": 0.9444,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_AVG": 0.167,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.167,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.167,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1767,
          "after": 0.167,
          "delta": -0.0097,
          "percent_delta": -0.0549,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2426,
          "after": 0.167,
          "delta": -0.0756,
          "percent_delta": -0.3116,
          "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.2318,
          "after": 0.167,
          "delta": -0.0648,
          "percent_delta": -0.2796,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.2426,
          "after": 0.167,
          "delta": -0.0756,
          "percent_delta": -0.3116,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 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": 6.0,
          "after": 3.0,
          "delta": -3.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "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": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 3.0,
          "delta": -3.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.1767,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2426,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2318,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.167,
          "after": 0.1767,
          "delta": 0.0097,
          "percent_delta": 0.058,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.167,
          "after": 0.2426,
          "delta": 0.0756,
          "percent_delta": 0.4529,
          "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.167,
          "after": 0.2318,
          "delta": 0.0648,
          "percent_delta": 0.388,
          "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.167,
          "after": 0.2426,
          "delta": 0.0756,
          "percent_delta": 0.4529,
          "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.074,
        "after": 0.0,
        "delta": -0.074,
        "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.454,
        "after": 3.0,
        "delta": -0.454,
        "percent_delta": -0.1314,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.221,
        "after": 0.1767,
        "delta": -0.0443,
        "percent_delta": -0.2005,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.231,
        "after": 0.0,
        "delta": -0.231,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.64,
        "after": 0.0,
        "delta": -0.64,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.07,
        "after": 0.0,
        "delta": -0.07,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.255,
        "after": 0.2426,
        "delta": -0.0124,
        "percent_delta": -0.0486,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.306,
        "after": 0.0,
        "delta": -0.306,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.27,
        "after": 0.0,
        "delta": -0.27,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.298,
        "after": 0.2318,
        "delta": -0.0662,
        "percent_delta": -0.2221,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.556,
        "after": 1.0,
        "delta": 0.444,
        "percent_delta": 0.7986,
        "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.556,
        "after": 1.0,
        "delta": 0.444,
        "percent_delta": 0.7986,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.64,
        "after": 0.0,
        "delta": -0.64,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.074-
predicted_3B0.000-
predicted_AB3.454-
predicted_AVG0.221-
predicted_BB0.231-
predicted_H0.640-
predicted_HR0.070-
predicted_OBP0.255-
predicted_R0.306-
predicted_RBI0.270-
predicted_SLG0.298-
predicted_SO0.556-
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.1240.050
predicted_3B0.0010.001
predicted_AB6.2192.765
predicted_AVG0.206-0.015
predicted_BB0.5510.320
predicted_H1.1580.518
predicted_HBP0.006-
predicted_HR0.0750.005
predicted_OBP0.2550.000
predicted_R0.5650.259
predicted_RBI0.4110.141
predicted_SLG0.269-0.029
predicted_SO1.1630.607
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.1240.000
predicted_3B0.0010.000
predicted_AB6.2190.000
predicted_AVG0.177-0.030
predicted_BB0.541-0.010
predicted_H1.099-0.060
predicted_HBP0.0060.000
predicted_HR0.072-0.003
predicted_OBP0.243-0.013
predicted_R0.514-0.051
predicted_RBI0.374-0.037
predicted_SLG0.232-0.037
predicted_SO1.1840.021
4. ab_floor_and_scaling

AB rounded to 6 (raw=6.22), rates preserved: AVG=0.177 HR/AB=0.012

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB6.000-
BB1.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
5. bvp_blend

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB6.0000.000
BB0.000-1.000
H1.0000.000
HR0.0000.000
RBI0.0000.000
SO1.0000.000
6. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB6.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. 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.124
predicted_3B0.000-0.001
predicted_AB6.000-0.219
predicted_AVG0.167-0.010
predicted_BB0.000-0.541
predicted_H1.000-0.099
predicted_HR0.000-0.072
predicted_OBP0.167-0.076
predicted_R1.0000.486
predicted_RBI0.000-0.374
predicted_SLG0.167-0.065
predicted_SO1.000-0.184
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-3.000
BB0.0000.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA3.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: 108
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-13.0004.0000.0000.0000.0000.0001.0004.0005.0000.30770.47060.30770.30770.00000.00000.30770.3846
last_100.204-28.0006.0000.0000.0000.0000.0003.0004.0008.0000.21430.31250.21430.21430.00000.00000.14290.2857
season0.6033-373.00060.0008.0000.0003.00026.00033.00025.00060.0000.16090.21360.20640.16090.00800.06970.06700.1609
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1900
predicted_3B0.0030
predicted_AB9.8910
predicted_AVG0.1868
predicted_BB0.9770
predicted_H1.8470
predicted_HBP0.0060
predicted_HR0.0820
predicted_OBP0.2555
predicted_R0.9100
predicted_RBI0.5980
predicted_SLG0.2312
predicted_SO1.9700
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.07400.19000.1238model_form_blend
predicted_3B0.00000.00300.0013model_form_blend
predicted_AB3.45409.89106.2187model_form_blend
predicted_AVG0.22100.18680.2063model_form_blend
predicted_BB0.23100.97700.5514model_form_blend
predicted_H0.64001.84701.1584model_form_blend
predicted_HBP-0.00600.0060form_only
predicted_HR0.07000.08200.0752model_form_blend
predicted_OBP0.25500.25550.2552model_form_blend
predicted_R0.30600.91000.5654model_form_blend
predicted_RBI0.27000.59800.4109model_form_blend
predicted_SLG0.29800.23120.2693model_form_blend
predicted_SO0.55601.97001.1633model_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 date109
Season rows before report date109
Report year2026
Profile rows used108
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA3
AB3
H0
2B0
3B0
HR0
R0
RBI0
BB0
SO1
SF0
HBP0
season_avg0.161

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_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder6
Hitting_substitutionOrder2
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedPH-RF
gameID20260520_CLE@DET
game_typeph
mlbID672761
noteStruck out for Short in the 9th.
playerID672761
playerNameWenceel Pérez
posRF
startedFalse
startingPositionPH
teamDET
teamID10
game_date2026-05-20
sl_k_percent13.9
sl_bb_percent6.5
sl_woba0.216
sl_xwoba0.268
sl_xba0.207
sl_xslg0.352
sl_sweet_spot_percent25.6
sl_barrel_batted_rate7.0
sl_hard_hit_percent37.2
sl_exit_velocity_avg87.9
sl_launch_angle_avg15.1
sl_whiff_percent15.3
sl_swing_percent47.2
Hao-Yu Lee (701678) · BATTER · 2B · Team DET
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 59
All-history rows before 20260521: 59
System season_avg: 0.1890
Data season_avg (2026 season-to-date): 0.1886
Diff (system - data): 0.0004
System opponent_avg: 0.3080

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1020.0000.000Hitting_2B0.1020.000-0.1020.000
predicted_3B0.0340.0000.000Hitting_3B0.0340.000-0.0340.000
predicted_AB2.9663.0005.000Hitting_AB2.9664.0000.034-1.000
predicted_AVG0.2580.3330.200Hitting_AVG0.1890.2500.1450.083
predicted_BB0.2880.0000.000Hitting_BB0.2880.000-0.2880.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.6001.0001.000Hitting_H0.5591.0000.4410.000
predicted_HR0.0700.0000.000Hitting_HR0.0340.000-0.0340.000
predicted_OBP0.2940.3330.200Hitting_OBP0.2600.2500.0730.083
predicted_R0.1860.0000.000Hitting_R0.1860.000-0.1860.000
predicted_RBI0.2700.0000.000Hitting_RBI0.2880.000-0.2880.000
predicted_SB-0.0000.000BaseRunning_SB0.0000.0000.0000.000
predicted_SLG0.3610.3330.200Hitting_SLG0.2800.2500.0530.083
predicted_SO0.9660.0001.000Hitting_SO0.9661.000-0.966-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_H: 0.6000 -> 1.0000 (boost 0.4000, better)
Biggest Deboostpredicted_SO: 0.9660 -> 0.0000 (deboost -0.9660, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend86253predicted_AB: 2.9660 -> 4.5004 (boost 1.5344, better)predicted_SLG: 0.3610 -> 0.3370 (deboost -0.0240, worse)Final model 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.2433 -> 0.2033 (deboost -0.0400, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling72534predicted_AB: 4.5004 -> 5.0000 (boost 0.4996, better)predicted_BB: 0.3949 -> 0.0000 (deboost -0.3949, worse)AB rounded to 5 (raw=4.50), rates preserved: AVG=0.203 HR/AB=0.016
5consistency_constraints10101-predicted_R: 0.2453 -> 0.0000 (deboost -0.2453, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context20202-predicted_SLG: 0.3003 -> 0.2000 (deboost -0.1003, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference20211-predicted_AB: 5.0000 -> 3.0000 (deboost -2.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final22020predicted_SLG: 0.2000 -> 0.3003 (boost 0.1003, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "701678",
  "player_name": "Hao-Yu  Lee",
  "position": "2B",
  "team": "DET",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.102,
        "predicted_3B": 0.034,
        "predicted_AB": 2.966,
        "predicted_AVG": 0.258,
        "predicted_BB": 0.288,
        "predicted_H": 0.6,
        "predicted_HR": 0.07,
        "predicted_OBP": 0.294,
        "predicted_R": 0.186,
        "predicted_RBI": 0.27,
        "predicted_SLG": 0.361,
        "predicted_SO": 0.966
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1398,
        "predicted_3B": 0.0418,
        "predicted_AB": 4.5004,
        "predicted_AVG": 0.2433,
        "predicted_BB": 0.4021,
        "predicted_H": 0.9645,
        "predicted_HBP": 0.008,
        "predicted_HR": 0.0741,
        "predicted_OBP": 0.2898,
        "predicted_R": 0.2697,
        "predicted_RBI": 0.3817,
        "predicted_SLG": 0.337,
        "predicted_SO": 1.3038
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.102,
          "after": 0.1398,
          "delta": 0.0378,
          "percent_delta": 0.3706,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.034,
          "after": 0.0418,
          "delta": 0.0078,
          "percent_delta": 0.2294,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.966,
          "after": 4.5004,
          "delta": 1.5344,
          "percent_delta": 0.5173,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.258,
          "after": 0.2433,
          "delta": -0.0147,
          "percent_delta": -0.057,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.288,
          "after": 0.4021,
          "delta": 0.1141,
          "percent_delta": 0.3962,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6,
          "after": 0.9645,
          "delta": 0.3645,
          "percent_delta": 0.6075,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.07,
          "after": 0.0741,
          "delta": 0.0041,
          "percent_delta": 0.0586,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.294,
          "after": 0.2898,
          "delta": -0.0042,
          "percent_delta": -0.0143,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.186,
          "after": 0.2697,
          "delta": 0.0837,
          "percent_delta": 0.45,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.27,
          "after": 0.3817,
          "delta": 0.1117,
          "percent_delta": 0.4137,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.361,
          "after": 0.337,
          "delta": -0.024,
          "percent_delta": -0.0665,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.966,
          "after": 1.3038,
          "delta": 0.3378,
          "percent_delta": 0.3497,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 6,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.966,
          "after": 4.5004,
          "delta": 1.5344,
          "percent_delta": 0.5173,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.361,
          "after": 0.337,
          "delta": -0.024,
          "percent_delta": -0.0665,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 3,
        "last_10": 5,
        "season": 22
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1398,
        "predicted_3B": 0.0418,
        "predicted_AB": 4.5004,
        "predicted_AVG": 0.2033,
        "predicted_BB": 0.3949,
        "predicted_H": 0.9148,
        "predicted_HBP": 0.008,
        "predicted_HR": 0.071,
        "predicted_OBP": 0.2675,
        "predicted_R": 0.2453,
        "predicted_RBI": 0.3472,
        "predicted_SLG": 0.3003,
        "predicted_SO": 1.3271
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1398,
          "after": 0.1398,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0418,
          "after": 0.0418,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.5004,
          "after": 4.5004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2433,
          "after": 0.2033,
          "delta": -0.04,
          "percent_delta": -0.1644,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4021,
          "after": 0.3949,
          "delta": -0.0072,
          "percent_delta": -0.0179,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9645,
          "after": 0.9148,
          "delta": -0.0497,
          "percent_delta": -0.0515,
          "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.0741,
          "after": 0.071,
          "delta": -0.0031,
          "percent_delta": -0.0418,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2898,
          "after": 0.2675,
          "delta": -0.0223,
          "percent_delta": -0.0769,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.2697,
          "after": 0.2453,
          "delta": -0.0244,
          "percent_delta": -0.0905,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3817,
          "after": 0.3472,
          "delta": -0.0345,
          "percent_delta": -0.0904,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.337,
          "after": 0.3003,
          "delta": -0.0367,
          "percent_delta": -0.1089,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.3038,
          "after": 1.3271,
          "delta": 0.0233,
          "percent_delta": 0.0179,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.2433,
          "after": 0.2033,
          "delta": -0.04,
          "percent_delta": -0.1644,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 5 (raw=4.50), rates preserved: AVG=0.203 HR/AB=0.016",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1398,
          "after": 0.0,
          "delta": -0.1398,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0418,
          "after": 0.0,
          "delta": -0.0418,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.5004,
          "after": 5.0,
          "delta": 0.4996,
          "percent_delta": 0.111,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3949,
          "after": 0.0,
          "delta": -0.3949,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9148,
          "after": 1.0,
          "delta": 0.0852,
          "percent_delta": 0.0931,
          "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.071,
          "after": 0.0,
          "delta": -0.071,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3472,
          "after": 0.0,
          "delta": -0.3472,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.3271,
          "after": 1.0,
          "delta": -0.3271,
          "percent_delta": -0.2465,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 2,
        "deboosted_metrics": 5,
        "better_metrics": 3,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.5004,
          "after": 5.0,
          "delta": 0.4996,
          "percent_delta": 0.111,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3949,
          "after": 0.0,
          "delta": -0.3949,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.2453,
          "after": 0.0,
          "delta": -0.2453,
          "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.2453,
          "after": 0.0,
          "delta": -0.2453,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.2,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.2,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2033,
          "after": 0.2,
          "delta": -0.0033,
          "percent_delta": -0.0162,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2675,
          "after": 0.2,
          "delta": -0.0675,
          "percent_delta": -0.2523,
          "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.3003,
          "after": 0.2,
          "delta": -0.1003,
          "percent_delta": -0.334,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "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.3003,
          "after": 0.2,
          "delta": -0.1003,
          "percent_delta": -0.334,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 3.0,
          "delta": -2.0,
          "percent_delta": -0.4,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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_AB",
          "before": 5.0,
          "after": 3.0,
          "delta": -2.0,
          "percent_delta": -0.4,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2033,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2675,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3003,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2,
          "after": 0.2033,
          "delta": 0.0033,
          "percent_delta": 0.0164,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2,
          "after": 0.2675,
          "delta": 0.0675,
          "percent_delta": 0.3377,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2,
          "after": 0.3003,
          "delta": 0.1003,
          "percent_delta": 0.5014,
          "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.2,
          "after": 0.3003,
          "delta": 0.1003,
          "percent_delta": 0.5014,
          "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.102,
        "after": 0.0,
        "delta": -0.102,
        "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": 2.966,
        "after": 3.0,
        "delta": 0.034,
        "percent_delta": 0.0115,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AVG",
        "before": 0.258,
        "after": 0.2033,
        "delta": -0.0547,
        "percent_delta": -0.212,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.288,
        "after": 0.0,
        "delta": -0.288,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.6,
        "after": 1.0,
        "delta": 0.4,
        "percent_delta": 0.6667,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.07,
        "after": 0.0,
        "delta": -0.07,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.294,
        "after": 0.2675,
        "delta": -0.0265,
        "percent_delta": -0.0901,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.186,
        "after": 0.0,
        "delta": -0.186,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.27,
        "after": 0.0,
        "delta": -0.27,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.361,
        "after": 0.3003,
        "delta": -0.0607,
        "percent_delta": -0.1681,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.966,
        "after": 0.0,
        "delta": -0.966,
        "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_H",
        "before": 0.6,
        "after": 1.0,
        "delta": 0.4,
        "percent_delta": 0.6667,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.966,
        "after": 0.0,
        "delta": -0.966,
        "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.102-
predicted_3B0.034-
predicted_AB2.966-
predicted_AVG0.258-
predicted_BB0.288-
predicted_H0.600-
predicted_HR0.070-
predicted_OBP0.294-
predicted_R0.186-
predicted_RBI0.270-
predicted_SLG0.361-
predicted_SO0.966-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1400.038
predicted_3B0.0420.008
predicted_AB4.5001.534
predicted_AVG0.243-0.015
predicted_BB0.4020.114
predicted_H0.9650.365
predicted_HBP0.008-
predicted_HR0.0740.004
predicted_OBP0.290-0.004
predicted_R0.2700.084
predicted_RBI0.3820.112
predicted_SLG0.337-0.024
predicted_SO1.3040.338
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1400.000
predicted_3B0.0420.000
predicted_AB4.5000.000
predicted_AVG0.203-0.040
predicted_BB0.395-0.007
predicted_H0.915-0.050
predicted_HBP0.0080.000
predicted_HR0.071-0.003
predicted_OBP0.268-0.022
predicted_R0.245-0.024
predicted_RBI0.347-0.034
predicted_SLG0.300-0.037
predicted_SO1.3270.023
4. ab_floor_and_scaling

AB rounded to 5 (raw=4.50), rates preserved: AVG=0.203 HR/AB=0.016

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.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
6. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.140
predicted_3B0.000-0.042
predicted_AB5.0000.500
predicted_AVG0.200-0.003
predicted_BB0.000-0.395
predicted_H1.0000.085
predicted_HR0.000-0.071
predicted_OBP0.200-0.068
predicted_R0.000-0.245
predicted_RBI0.000-0.347
predicted_SLG0.200-0.100
predicted_SO1.000-0.327
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-2.000
BB0.0000.000
CS0.0000.000
H1.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: 59
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.203-14.0004.0000.0000.0000.0000.0000.0000.0002.0000.28570.28570.28570.28570.00000.00000.00000.1429
last_100.205-24.0008.0000.0000.0000.0000.0000.0003.0002.0000.33330.40740.33330.33330.00000.00000.12500.0833
season0.6022-175.00033.0006.0002.0002.00017.00011.00017.00057.0000.18860.26040.28000.18860.01140.09710.09710.3257
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1940
predicted_3B0.0530
predicted_AB6.7040
predicted_AVG0.2221
predicted_BB0.5660
predicted_H1.4880
predicted_HBP0.0080
predicted_HR0.0800
predicted_OBP0.2837
predicted_R0.3900
predicted_RBI0.5420
predicted_SLG0.3026
predicted_SO1.7890
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.10200.19400.1398model_form_blend
predicted_3B0.03400.05300.0418model_form_blend
predicted_AB2.96606.70404.5004model_form_blend
predicted_AVG0.25800.22210.2433model_form_blend
predicted_BB0.28800.56600.4021model_form_blend
predicted_H0.60001.48800.9645model_form_blend
predicted_HBP-0.00800.0080form_only
predicted_HR0.07000.08000.0741model_form_blend
predicted_OBP0.29400.28370.2898model_form_blend
predicted_R0.18600.39000.2697model_form_blend
predicted_RBI0.27000.54200.3817model_form_blend
predicted_SLG0.36100.30260.3370model_form_blend
predicted_SO0.96601.78901.3038model_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 date59
Season rows before report date59
Report year2026
Profile rows used59
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
H1
2B0
3B0
HR0
R0
RBI0
BB0
SO0
SF0
HBP0
season_avg0.189

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_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-3B
gameID20260520_CLE@DET
game_typefull
mlbID701678
playerID701678
playerNameHao-Yu Lee
pos2B
startedTrue
startingPosition2B
teamDET
teamID10
game_date2026-05-20
sl_k_percent29.3
sl_bb_percent6.9
sl_woba0.265
sl_xwoba0.302
sl_xba0.217
sl_xslg0.427
sl_sweet_spot_percent43.2
sl_barrel_batted_rate13.5
sl_hard_hit_percent37.8
sl_exit_velocity_avg90.4
sl_launch_angle_avg21.8
sl_whiff_percent33.7
sl_swing_percent48.6
Zack Short (670097) · BATTER · SS · Team DET
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 21
All-history rows before 20260521: 21
System season_avg: 0.0000
Data season_avg (2026 season-to-date): 0.0000
Diff (system - data): 0.0000
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.0000.0000.000Hitting_2B0.0000.0000.0000.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.5003.0003.000Hitting_AB1.7140.0001.2863.000
predicted_AVG0.2460.0000.000Hitting_AVG0.000-0.000-
predicted_BB0.9030.0001.000Hitting_BB0.6190.000-0.6190.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.1300.0000.000Hitting_H0.0000.0000.0000.000
predicted_HR0.0300.0000.000Hitting_HR0.0000.0000.0000.000
predicted_OBP0.2810.0000.250Hitting_OBP0.308--0.308-
predicted_R0.1390.0000.000Hitting_R0.0950.000-0.0950.000
predicted_RBI0.1000.0000.000Hitting_RBI0.0000.0000.0000.000
predicted_SLG0.2840.0000.000Hitting_SLG0.000-0.000-
predicted_SO0.9031.0001.000Hitting_SO0.6190.0000.3811.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics8
Boosted Metrics2
Deboosted Metrics6
Better Metrics1
Worse Metrics7
Biggest Boostpredicted_AB: 2.5000 -> 3.0000 (boost 0.5000, better)
Biggest Deboostpredicted_BB: 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_blend86253predicted_AB: 2.5000 -> 3.1935 (boost 0.6935, better)predicted_AVG: 0.2460 -> 0.1930 (deboost -0.0530, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot30303-predicted_AVG: 0.1930 -> 0.0675 (deboost -0.1255, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling61524predicted_BB: 0.9492 -> 1.0000 (boost 0.0508, better)predicted_HBP: 0.2660 -> 0.0000 (deboost -0.2660, worse)AB rounded to 3 (raw=3.19), rates preserved: AVG=0.068 HR/AB=0.012
5consistency_constraints10101-predicted_R: 0.1941 -> 0.0000 (deboost -0.1941, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context30303-predicted_SLG: 0.1123 -> 0.0000 (deboost -0.1123, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference10101-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final33030predicted_SLG: 0.0000 -> 0.1123 (boost 0.1123, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "670097",
  "player_name": "Zack Short",
  "position": "SS",
  "team": "DET",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "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.246,
        "predicted_BB": 0.903,
        "predicted_H": 0.13,
        "predicted_HR": 0.03,
        "predicted_OBP": 0.281,
        "predicted_R": 0.139,
        "predicted_RBI": 0.1,
        "predicted_SLG": 0.284,
        "predicted_SO": 0.903
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0278,
        "predicted_3B": 0.0021,
        "predicted_AB": 3.1935,
        "predicted_AVG": 0.193,
        "predicted_BB": 0.9665,
        "predicted_H": 0.2274,
        "predicted_HBP": 0.266,
        "predicted_HR": 0.0386,
        "predicted_OBP": 0.2884,
        "predicted_R": 0.2134,
        "predicted_RBI": 0.1405,
        "predicted_SLG": 0.2378,
        "predicted_SO": 1.0831
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0278,
          "delta": 0.0278,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0021,
          "delta": 0.0021,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.5,
          "after": 3.1935,
          "delta": 0.6935,
          "percent_delta": 0.2774,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.246,
          "after": 0.193,
          "delta": -0.053,
          "percent_delta": -0.2154,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.903,
          "after": 0.9665,
          "delta": 0.0635,
          "percent_delta": 0.0703,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.13,
          "after": 0.2274,
          "delta": 0.0974,
          "percent_delta": 0.7492,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.03,
          "after": 0.0386,
          "delta": 0.0086,
          "percent_delta": 0.2867,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.281,
          "after": 0.2884,
          "delta": 0.0074,
          "percent_delta": 0.0263,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.139,
          "after": 0.2134,
          "delta": 0.0744,
          "percent_delta": 0.5353,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1,
          "after": 0.1405,
          "delta": 0.0405,
          "percent_delta": 0.405,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.284,
          "after": 0.2378,
          "delta": -0.0462,
          "percent_delta": -0.1627,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.903,
          "after": 1.0831,
          "delta": 0.1801,
          "percent_delta": 0.1994,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 6,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.5,
          "after": 3.1935,
          "delta": 0.6935,
          "percent_delta": 0.2774,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.246,
          "after": 0.193,
          "delta": -0.053,
          "percent_delta": -0.2154,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 2,
        "last_10": 5,
        "season": 7
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0278,
        "predicted_3B": 0.0021,
        "predicted_AB": 3.1935,
        "predicted_AVG": 0.0675,
        "predicted_BB": 0.9492,
        "predicted_H": 0.2157,
        "predicted_HBP": 0.266,
        "predicted_HR": 0.037,
        "predicted_OBP": 0.2812,
        "predicted_R": 0.1941,
        "predicted_RBI": 0.1278,
        "predicted_SLG": 0.1123,
        "predicted_SO": 1.1025
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0278,
          "after": 0.0278,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0021,
          "after": 0.0021,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.1935,
          "after": 3.1935,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.193,
          "after": 0.0675,
          "delta": -0.1255,
          "percent_delta": -0.6503,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.9665,
          "after": 0.9492,
          "delta": -0.0173,
          "percent_delta": -0.0179,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.2274,
          "after": 0.2157,
          "delta": -0.0117,
          "percent_delta": -0.0515,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.266,
          "after": 0.266,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0386,
          "after": 0.037,
          "delta": -0.0016,
          "percent_delta": -0.0415,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2884,
          "after": 0.2812,
          "delta": -0.0072,
          "percent_delta": -0.025,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.2134,
          "after": 0.1941,
          "delta": -0.0193,
          "percent_delta": -0.0904,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1405,
          "after": 0.1278,
          "delta": -0.0127,
          "percent_delta": -0.0904,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2378,
          "after": 0.1123,
          "delta": -0.1255,
          "percent_delta": -0.5278,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0831,
          "after": 1.1025,
          "delta": 0.0194,
          "percent_delta": 0.0179,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.193,
          "after": 0.0675,
          "delta": -0.1255,
          "percent_delta": -0.6503,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.19), rates preserved: AVG=0.068 HR/AB=0.012",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.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.0278,
          "after": 0.0,
          "delta": -0.0278,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0021,
          "after": 0.0,
          "delta": -0.0021,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.1935,
          "after": 3.0,
          "delta": -0.1935,
          "percent_delta": -0.0606,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.9492,
          "after": 1.0,
          "delta": 0.0508,
          "percent_delta": 0.0535,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.2157,
          "after": 0.0,
          "delta": -0.2157,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.266,
          "after": 0.0,
          "delta": -0.266,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.037,
          "after": 0.0,
          "delta": -0.037,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1278,
          "after": 0.0,
          "delta": -0.1278,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1025,
          "after": 1.0,
          "delta": -0.1025,
          "percent_delta": -0.093,
          "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.9492,
          "after": 1.0,
          "delta": 0.0508,
          "percent_delta": 0.0535,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HBP",
          "before": 0.266,
          "after": 0.0,
          "delta": -0.266,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.1941,
          "after": 0.0,
          "delta": -0.1941,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.1941,
          "after": 0.0,
          "delta": -0.1941,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.0,
        "predicted_BB": 1.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.25,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.0675,
          "after": 0.0,
          "delta": -0.0675,
          "percent_delta": -1.0,
          "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": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2812,
          "after": 0.25,
          "delta": -0.0312,
          "percent_delta": -0.111,
          "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.1123,
          "after": 0.0,
          "delta": -0.1123,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.1123,
          "after": 0.0,
          "delta": -0.1123,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 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": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.0675,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2812,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.1123,
        "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.0,
          "after": 0.0675,
          "delta": 0.0675,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.25,
          "after": 0.2812,
          "delta": 0.0312,
          "percent_delta": 0.1248,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.0,
          "after": 0.1123,
          "delta": 0.1123,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.0,
          "after": 0.1123,
          "delta": 0.1123,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.5,
        "after": 3.0,
        "delta": 0.5,
        "percent_delta": 0.2,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.246,
        "after": 0.0675,
        "delta": -0.1785,
        "percent_delta": -0.7256,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.903,
        "after": 0.0,
        "delta": -0.903,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.13,
        "after": 0.0,
        "delta": -0.13,
        "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.281,
        "after": 0.2812,
        "delta": 0.0002,
        "percent_delta": 0.0007,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.139,
        "after": 0.0,
        "delta": -0.139,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.1,
        "after": 0.0,
        "delta": -0.1,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.284,
        "after": 0.1123,
        "delta": -0.1717,
        "percent_delta": -0.6046,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.903,
        "after": 1.0,
        "delta": 0.097,
        "percent_delta": 0.1074,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 8,
      "boosted_metrics": 2,
      "deboosted_metrics": 6,
      "better_metrics": 1,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 2.5,
        "after": 3.0,
        "delta": 0.5,
        "percent_delta": 0.2,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "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.000-
predicted_3B0.000-
predicted_AB2.500-
predicted_AVG0.246-
predicted_BB0.903-
predicted_H0.130-
predicted_HR0.030-
predicted_OBP0.281-
predicted_R0.139-
predicted_RBI0.100-
predicted_SLG0.284-
predicted_SO0.903-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.0280.028
predicted_3B0.0020.002
predicted_AB3.1930.693
predicted_AVG0.193-0.053
predicted_BB0.9670.064
predicted_H0.2270.097
predicted_HBP0.266-
predicted_HR0.0390.009
predicted_OBP0.2880.007
predicted_R0.2130.074
predicted_RBI0.1410.041
predicted_SLG0.238-0.046
predicted_SO1.0830.180
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.0280.000
predicted_3B0.0020.000
predicted_AB3.1930.000
predicted_AVG0.068-0.126
predicted_BB0.949-0.017
predicted_H0.216-0.012
predicted_HBP0.2660.000
predicted_HR0.037-0.002
predicted_OBP0.281-0.007
predicted_R0.194-0.019
predicted_RBI0.128-0.013
predicted_SLG0.112-0.126
predicted_SO1.1030.019
4. ab_floor_and_scaling

AB rounded to 3 (raw=3.19), rates preserved: AVG=0.068 HR/AB=0.012

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB1.000-
H0.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
5. consistency_constraints

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

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

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.028
predicted_3B0.000-0.002
predicted_AB3.000-0.193
predicted_AVG0.000-0.068
predicted_BB1.0000.051
predicted_H0.000-0.216
predicted_HR0.000-0.037
predicted_OBP0.250-0.031
predicted_R0.000-0.194
predicted_RBI0.000-0.128
predicted_SLG0.000-0.112
predicted_SO1.000-0.103
7. 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.000-1.000
CS0.0000.000
H0.0000.000
HBP0.0000.000
HR0.0000.000
PA3.000-
R0.0000.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 18
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-10.0000.0000.0000.0000.0000.0000.0003.0005.0000.00000.23080.00000.00000.00000.00000.30000.5000
last_100.205-18.0000.0000.0000.0000.0000.0001.0004.0006.0000.00000.28000.00000.00000.00000.00000.22220.3333
season0.607-36.0000.0000.0000.0000.0000.0002.00013.00013.0000.00000.30770.00000.00000.00000.00000.36110.3611
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0810
predicted_3B0.0060
predicted_AB4.5220
predicted_AVG0.0916
predicted_BB1.0880
predicted_H0.4140
predicted_HBP0.2660
predicted_HR0.0550
predicted_OBP0.3027
predicted_R0.3560
predicted_RBI0.2180
predicted_SLG0.1492
predicted_SO1.4280
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.00000.08100.0278model_form_blend
predicted_3B0.00000.00600.0021model_form_blend
predicted_AB2.50004.52203.1935model_form_blend
predicted_AVG0.24600.09160.1930model_form_blend
predicted_BB0.90301.08800.9665model_form_blend
predicted_H0.13000.41400.2274model_form_blend
predicted_HBP-0.26600.2660form_only
predicted_HR0.03000.05500.0386model_form_blend
predicted_OBP0.28100.30270.2884model_form_blend
predicted_R0.13900.35600.2134model_form_blend
predicted_RBI0.10000.21800.1405model_form_blend
predicted_SLG0.28400.14920.2378model_form_blend
predicted_SO0.90301.42801.0831model_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 date21
Season rows before report date21
Report year2026
Profile rows used18
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_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_battingOrder6
Hitting_substitutionOrder1
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedSS
gameID20260520_CLE@DET
game_typeshort
mlbID670097
playerID670097
playerNameZack Short
posSS
startedFalse
startingPositionSS
teamDET
teamID10
game_date2026-05-20
sl_k_percent27.8
sl_bb_percent22.2
sl_woba0.197
sl_xwoba0.312
sl_xba0.125
sl_xslg0.244
sl_sweet_spot_percent25.0
sl_barrel_batted_rate0.0
sl_hard_hit_percent25.0
sl_exit_velocity_avg90.5
sl_launch_angle_avg21.2
sl_whiff_percent28.9
sl_swing_percent45.2
Casey Mize (663554) · PITCHER · Starter · Team DET
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 7
All-history rows before 20260521: 7

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB3.0003.0003.000Pitching_BB1.5710.0001.4293.000
predicted_ER1.0001.0001.000Pitching_ER1.4290.000-0.4291.000
predicted_H5.0005.0005.000Pitching_H4.0002.0001.0003.000
predicted_IP5.1005.1005.100Pitching_InningsPitched5.0866.0000.014-0.900
predicted_SO7.0007.0007.000Pitching_SO5.5714.0001.4293.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectworse
Changed Metrics1
Boosted Metrics0
Deboosted Metrics1
Better Metrics0
Worse Metrics1
Biggest Boost-
Biggest Deboostpredicted_IP: 5.3333 -> 5.1000 (deboost -0.2333, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2pitcher_quality_guardrail10101-predicted_IP: 5.3333 -> 5.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": "663554",
  "player_name": "Casey Mize",
  "position": "Starter",
  "team": "DET",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 3.0,
        "predicted_ER": 1.0,
        "predicted_H": 5.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.3333,
        "predicted_SO": 7.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "pitcher_quality_guardrail",
      "description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
      "stats": {
        "predicted_BB": 3.0,
        "predicted_ER": 1.0,
        "predicted_H": 5.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.1,
        "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": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 5.3333,
          "after": 5.1,
          "delta": -0.2333,
          "percent_delta": -0.0438,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 7.0,
          "after": 7.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 5.3333,
          "after": 5.1,
          "delta": -0.2333,
          "percent_delta": -0.0438,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 3,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 3.0,
        "predicted_ER": 1.0,
        "predicted_H": 5.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.1,
        "predicted_R": 1.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": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 5.1,
          "after": 5.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": 3.0,
        "after": 3.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 5.0,
        "after": 5.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 5.3333,
        "after": 5.1,
        "delta": -0.2333,
        "percent_delta": -0.0437,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 7.0,
        "after": 7.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 0,
      "deboosted_metrics": 1,
      "better_metrics": 0,
      "worse_metrics": 1,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 5.3333,
        "after": 5.1,
        "delta": -0.2333,
        "percent_delta": -0.0437,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

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_ER1.000-
predicted_H5.000-
predicted_HR0.000-
predicted_IP5.333-
predicted_SO7.000-
2. pitcher_quality_guardrail

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

MetricValueDelta vs Prev Step
predicted_BB3.0000.000
predicted_ER1.0000.000
predicted_H5.0000.000
predicted_HR0.0000.000
predicted_IP5.100-0.233
predicted_SO7.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 7
Reference playing time: 5.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45526.2004.00017.0006.00026.0000.0001.35000.86250.15000.63750.22500.97500.0000
last_100.35737.00010.00028.00011.00039.0002.0002.43241.05410.27030.75680.29731.05400.0541
season0.20737.00010.00028.00011.00039.0002.0002.43241.05410.27030.75680.29731.05400.0541
Weighted Prediction From Real Data
MetricValue
predicted_BB1.5890
predicted_ER1.6020
predicted_ERA2.7036
predicted_H4.1630
predicted_HR0.3300
predicted_IP5.1000
predicted_SO5.2060
predicted_WHIP1.0786
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB3.00001.58902.3313model_form_blend
predicted_ER1.00001.60201.2853model_form_blend
predicted_ERA-2.70362.7036form_only
predicted_H5.00004.16304.6033model_form_blend
predicted_HR0.00000.33000.1564model_form_blend
predicted_IP5.10005.10005.1000model_form_blend
predicted_SO7.00005.20606.1497model_form_blend
predicted_WHIP-1.07861.0786form_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 date7
Season rows before report date7
Report year2026
Profile rows used7
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP5.1
H5
R1
ER1
BB3
SO7
HR0
BF24
Pitches106

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 Faced19
Pitching_ER0
Pitching_ERA2.43
Pitching_Flyouts5
Pitching_Groundouts4
Pitching_H2
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched6.0
Pitching_Pitches71
Pitching_R0
Pitching_SO4
Pitching_Strikes51
Pitching_Wild Pitch0
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260516_TOR@DET
game_typefull
mlbID663554
playerID663554
playerNameCasey Mize
posP
startedTrue
startingPositionP
teamDET
teamID10
game_date2026-05-16
game_pk824278.0
sl_k_percent26.5
sl_bb_percent7.5
sl_woba0.274
sl_xwoba0.276
sl_sweet_spot_percent28.1
sl_barrel_batted_rate8.3
sl_hard_hit_percent38.5
sl_whiff_percent27.5
sl_swing_percent48.2
sv_pitch_count71.0
sv_outs_recorded_est18.0
sv_release_speed90.1830985915493
sv_release_spin_rate2117.7042253521126
sv_effective_speed91.1676056338028
sv_launch_speed82.16774193548386
sv_launch_angle17.516129032258064
sv_woba_value2.15
sv_woba_denom19.0
sv_delta_run_exp-3.434
sv_delta_home_win_exp0.357
sl_avg_best_speed76.968629375
sl_avg_hyper_speed94.131298947
Kenley Jansen (445276) · PITCHER · Middle Reliever · Team DET
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 16
All-history rows before 20260521: 16

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.3751.000-0.375-1.000
predicted_ER0.0000.0000.000Pitching_ER0.3120.000-0.3120.000
predicted_H1.0001.0001.000Pitching_H0.5000.0000.5001.000
predicted_IP1.2001.2001.200Pitching_InningsPitched0.7751.0000.4250.200
predicted_SO2.0002.0002.000Pitching_SO1.1881.0000.8121.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics1
Boosted Metrics1
Deboosted Metrics0
Better Metrics1
Worse Metrics0
Biggest Boostpredicted_IP: 1.0000 -> 1.2000 (boost 0.2000, better)
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final11010predicted_IP: 1.0000 -> 1.2000 (boost 0.2000, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "445276",
  "player_name": "Kenley Jansen",
  "position": "Middle Reliever",
  "team": "DET",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.2,
        "predicted_R": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.2,
          "delta": 0.2,
          "percent_delta": 0.2,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.2,
          "delta": 0.2,
          "percent_delta": 0.2,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.2,
        "delta": 0.2,
        "percent_delta": 0.2,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 1,
      "deboosted_metrics": 0,
      "better_metrics": 1,
      "worse_metrics": 0,
      "biggest_boost": {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.2,
        "delta": 0.2,
        "percent_delta": 0.2,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": null,
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER0.000-
predicted_H1.000-
predicted_HR0.000-
predicted_IP1.000-
predicted_SO2.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 15
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.0000.0001.0009.0000.0000.00000.20000.00000.00000.20001.80000.0000
last_100.35109.2002.0005.0004.00013.0001.0001.86210.93100.20690.51720.41381.34480.1035
season0.201513.1003.0007.0005.00019.0002.0002.02500.90000.22500.52500.37501.42500.1500
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3530
predicted_ER0.3490
predicted_ERA3.1388
predicted_H0.7150
predicted_HR0.1080
predicted_IP1.0000
predicted_SO1.1640
predicted_WHIP1.0680
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.35300.1319model_form_blend
predicted_ER0.00000.34900.1304model_form_blend
predicted_ERA-3.13883.1388form_only
predicted_H1.00000.71500.8935model_form_blend
predicted_HR0.00000.10800.0403model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO2.00001.16401.6877model_form_blend
predicted_WHIP-1.06801.0680form_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 date16
Season rows before report date16
Report year2026
Profile rows used15
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.2
H1
R0
ER0
BB0
SO2
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 Faced4
Pitching_ER0
Pitching_ERA3.38
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
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_pitchingOrder4
allPositionsPlayedP
gameID20260520_CLE@DET
game_typefull
mlbID445276
playerID445276
playerNameKenley Jansen
posP
startedFalse
startingPositionP
teamDET
teamID10
game_date2026-05-20
sl_k_percent36.7
sl_bb_percent10.2
sl_woba0.291
sl_xwoba0.3
sl_sweet_spot_percent46.2
sl_barrel_batted_rate11.5
sl_hard_hit_percent34.6
sl_whiff_percent31.3
sl_swing_percent45.1
sl_avg_best_speed74.441288462
sl_avg_hyper_speed93.91599
Kyle Finnegan (640448) · PITCHER · Middle Reliever · Team DET
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 22
All-history rows before 20260521: 22

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.7270.000-0.7270.000
predicted_ER0.0000.0000.000Pitching_ER0.1820.000-0.1820.000
predicted_H0.0000.0000.000Pitching_H0.8182.000-0.818-2.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.9451.0000.0550.000
predicted_SO3.0003.0003.000Pitching_SO0.6821.0002.3182.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": "640448",
  "player_name": "Kyle Finnegan",
  "position": "Middle Reliever",
  "team": "DET",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 3.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 0.0,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 3.0,
        "after": 3.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 0,
      "boosted_metrics": 0,
      "deboosted_metrics": 0,
      "better_metrics": 0,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": null,
      "has_material_change": false,
      "dominant_effect": "neutral"
    }
  }
}

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 21
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4556.0001.0005.0005.0002.0001.0001.50001.66670.16670.83330.83330.33330.1667
last_100.351011.2002.00010.0007.00010.0002.0001.54291.45710.17140.85710.60000.85710.1714
season0.202122.2002.00015.00015.00015.0002.0000.79411.32350.08820.66180.66180.66180.0882
Weighted Prediction From Real Data
MetricValue
predicted_BB0.6050
predicted_ER0.3610
predicted_ERA2.8831
predicted_H0.9890
predicted_HR0.1590
predicted_IP1.0000
predicted_SO0.8750
predicted_WHIP1.4155
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.60500.2586model_form_blend
predicted_ER0.00000.36100.1543model_form_blend
predicted_ERA-2.88312.8831form_only
predicted_H0.00000.98900.4227model_form_blend
predicted_HR0.00000.15900.0680model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO3.00000.87502.0917model_form_blend
predicted_WHIP-1.41551.4155form_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 used21
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
SO3
HR0
BF3
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 Faced5
Pitching_ER0
Pitching_ERA1.59
Pitching_Flyouts2
Pitching_Groundouts0
Pitching_H2
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners2
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches12
Pitching_R0
Pitching_SO1
Pitching_Strikes9
Pitching_Wild Pitch0
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20260520_CLE@DET
game_typefull
mlbID640448
playerID640448
playerNameKyle Finnegan
posP
startedFalse
startingPositionP
teamDET
teamID10
game_date2026-05-20
sl_k_percent15.7
sl_bb_percent18.0
sl_woba0.336
sl_xwoba0.312
sl_sweet_spot_percent25.4
sl_barrel_batted_rate5.1
sl_hard_hit_percent42.4
sl_whiff_percent23.8
sl_swing_percent44.4
sl_avg_best_speed78.807096552
sl_avg_hyper_speed94.373903103
Will Vest (676684) · PITCHER · Middle Reliever · Team DET
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 15
All-history rows before 20260521: 15

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.4000.000-0.4000.000
predicted_ER4.0004.0004.000Pitching_ER0.6001.0003.4003.000
predicted_H5.0005.0005.000Pitching_H0.8672.0004.1333.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.7871.0000.2130.000
predicted_SO2.0002.0002.000Pitching_SO1.0001.0001.0001.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": "676684",
  "player_name": "Will Vest",
  "position": "Middle Reliever",
  "team": "DET",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 4.0,
        "predicted_H": 5.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": 4.0,
        "predicted_H": 5.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 4.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 4.0,
        "after": 4.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 5.0,
        "after": 5.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 0,
      "boosted_metrics": 0,
      "deboosted_metrics": 0,
      "better_metrics": 0,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": null,
      "has_material_change": false,
      "dominant_effect": "neutral"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER4.000-
predicted_H5.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: 15
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.2004.0006.0001.0004.0001.0007.71431.50000.85711.28570.21430.85710.2143
last_100.35109.2006.00010.0004.00011.0001.0005.58621.44830.62071.03450.41381.13790.1035
season0.201513.2009.00013.0006.00015.0001.0005.92681.39020.65850.95120.43901.09760.0732
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3600
predicted_ER0.5640
predicted_ERA5.0725
predicted_H1.0080
predicted_HR0.1360
predicted_IP1.0000
predicted_SO0.9700
predicted_WHIP1.3675
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.36000.1353model_form_blend
predicted_ER4.00000.56402.7083model_form_blend
predicted_ERA-5.07255.0725form_only
predicted_H5.00001.00803.4993model_form_blend
predicted_HR0.00000.13600.0511model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO2.00000.97001.6128model_form_blend
predicted_WHIP-1.36751.3675form_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 date15
Season rows before report date15
Report year2026
Profile rows used15
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H5
R4
ER4
BB0
SO2
HR0
BF8
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 Faced5
Pitching_ER1
Pitching_ERA5.93
Pitching_Flyouts0
Pitching_Groundouts2
Pitching_H2
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches20
Pitching_R1
Pitching_SO1
Pitching_Strikes13
Pitching_Wild Pitch0
Pitching_decisionBS
Pitching_pitchingOrder5
allPositionsPlayedP
gameID20260520_CLE@DET
game_typefull
mlbID676684
playerID676684
playerNameWill Vest
posP
startedFalse
startingPositionP
teamDET
teamID10
game_date2026-05-20
sl_k_percent25.5
sl_bb_percent10.9
sl_woba0.285
sl_xwoba0.275
sl_sweet_spot_percent17.1
sl_barrel_batted_rate5.9
sl_hard_hit_percent31.4
sl_whiff_percent29.1
sl_swing_percent45.5
sl_avg_best_speed78.535917059
sl_avg_hyper_speed94.349317647

20260521_COL@ARI

Prediction Method: enhanced_ml_savant_pitcher_quality
Team Recent Window (Home): 48 games
Team Recent Window (Away): 49 games
Team Recent Period: Latest 10 games from dataset
Enhanced Prediction Target: {"away_runs": 2, "home_runs": 4, "confidence": 0.596417, "home_win_probability": 0.596417, "away_win_probability": 0.403583, "predicted_score_text": "COL 2 - 4 ARI", "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": "COL", "original_runs": 2, "run_delta": 0.1545, "adjusted_runs": 2, "lineup": {"players_used": 8, "total_weight": 52.0, "quality": -0.12400713343053217, "contact": -0.1868089007799405, "power": -0.2963831915394774, "discipline": -0.37442187631931223, "xwoba": 0.3050769230769231, "recent_xwoba": 0.3050769230769231, "barrel": 5.371153846153846, "ab_hard_contact": -0.23722793335365772, "ab_bat_speed": 69.33261830398155, "ab_strikeout_rate": 0.2686498982973342, "available_players": 8, "top_players": [{"player_id": "650489", "player_name": "Willi Castro", "position": "1B", "weight": 7.0, "quality": -0.34673721969428356, "contact": -0.6690041575205695, "power": -0.30942141170692294, "discipline": -0.7147881562881563, "xwoba": 0.272, "recent_xwoba": 0.272, "barrel": 5.6, "ab_hard_contact": -0.29585680556703836, "ab_bat_speed": 70.38606277981278, "ab_strikeout_rate": 0.29914529914529914, "available": 1.0}, {"player_id": "664983", "player_name": "Jake McCarthy", "position": "CF", "weight": 6.0, "quality": -0.19622690678506288, "contact": -0.22783939217480398, "power": -0.6983704256375586, "discipline": -0.010201298701298808, "xwoba": 0.326, "recent_xwoba": 0.326, "barrel": 5.0, "ab_hard_contact": -0.46569422703689406, "ab_bat_speed": 66.79463443963444, "ab_strikeout_rate": 0.17727272727272725, "available": 1.0}, {"player_id": "671289", "player_name": "Tyler Freeman", "position": "RF", "weight": 7.0, "quality": -0.0772329858138536, "contact": 0.3221845801676682, "power": -0.8674413455108949, "discipline": 0.036598765432098807, "xwoba": 0.331, "recent_xwoba": 0.331, "barrel": 0.0, "ab_hard_contact": -0.3427316721226714, "ab_bat_speed": 66.38312669018225, "ab_strikeout_rate": 0.11790123456790123, "available": 1.0}, {"player_id": "690924", "player_name": "Braxton Fulford", "position": "DH", "weight": 3.0, "quality": -0.042440930618972264, "contact": -1.1541418573984694, "power": -0.9265885909694486, "discipline": -0.8210714285714285, "xwoba": 0.21, "recent_xwoba": 0.21, "barrel": 0.0, "ab_hard_contact": -0.069105152722319, "ab_bat_speed": 69.51666666666668, "ab_strikeout_rate": 0.6, "available": 1.0}, {"player_id": "696100", "player_name": "Hunter Goodman", "position": "C", "weight": 8.0, "quality": 0.010638460671836483, "contact": -0.25624710014738755, "power": 0.8158726001109979, "discipline": -1.1047878787878789, "xwoba": 0.301, "recent_xwoba": 0.301, "barrel": 13.6, "ab_hard_contact": 0.14849962126757882, "ab_bat_speed": 74.20455176767676, "ab_strikeout_rate": 0.3412878787878788, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "593958", "player_name": "Eduardo Rodriguez", "quality": -0.41390012793736797, "contact": -0.4128865006613969, "command": -0.636742408557626, "movement": -0.555185622740507, "xwoba": 0.334, "whiff": 18.8, "faced_est_woba": 0.33802248127622986, "faced_launch_speed": 84.79136342249842, "faced_strikeout_rate": 0.16802841910310354, "faced_run_exp": 0.01172017388644645}}, "home": {"team": "ARI", "original_runs": 4, "run_delta": 0.2756, "adjusted_runs": 4, "lineup": {"players_used": 9, "total_weight": 72.0, "quality": 0.1698003459910721, "contact": 0.25116875027520286, "power": 0.15581171352332876, "discipline": 0.16515740978759716, "xwoba": 0.3318333333333333, "recent_xwoba": 0.3318333333333333, "barrel": 8.752777777777778, "ab_hard_contact": 0.08273691596921627, "ab_bat_speed": 70.11945856531024, "ab_strikeout_rate": 0.19104695529176785, "available_players": 9, "top_players": [{"player_id": "682998", "player_name": "Corbin Carroll", "position": "RF", "weight": 8.0, "quality": 0.8255626558347141, "contact": 0.9632069312378941, "power": 1.356231011306284, "discipline": 0.4895692640692638, "xwoba": 0.384, "recent_xwoba": 0.384, "barrel": 14.5, "ab_hard_contact": 1.4362392737447316, "ab_bat_speed": 74.27078042328041, "ab_strikeout_rate": 0.2287878787878788, "available": 1.0}, {"player_id": "606466", "player_name": "Ketel Marte", "position": "2B", "weight": 10.0, "quality": 0.7507435364884549, "contact": 1.0403555461452734, "power": 0.8613470160313792, "discipline": 0.03714728682170526, "xwoba": 0.353, "recent_xwoba": 0.353, "barrel": 10.3, "ab_hard_contact": 0.505416511103771, "ab_bat_speed": 73.20473219125049, "ab_strikeout_rate": 0.16085271317829458, "available": 1.0}, {"player_id": "680728", "player_name": "Adrian Del Castillo", "position": "DH", "weight": 7.0, "quality": -0.36040444549441614, "contact": -1.206854325050358, "power": -0.33177085222727937, "discipline": -1.0320246305418719, "xwoba": 0.249, "recent_xwoba": 0.24899999999999997, "barrel": 8.1, "ab_hard_contact": -0.35160752073606377, "ab_bat_speed": 69.80908950617284, "ab_strikeout_rate": 0.32931034482758625, "available": 1.0}, {"player_id": "666971", "player_name": "Lourdes Gurriel Jr.", "position": "LF", "weight": 8.0, "quality": -0.1508553604573194, "contact": -0.37817756389197643, "power": -0.5655661369470826, "discipline": 0.05014069264069254, "xwoba": 0.297, "recent_xwoba": 0.297, "barrel": 5.9, "ab_hard_contact": -0.2907513103702266, "ab_bat_speed": 69.01922896825397, "ab_strikeout_rate": 0.17878787878787877, "available": 1.0}, {"player_id": "814439", "player_name": "Ryan Waldschmidt", "position": "CF", "weight": 6.0, "quality": 0.0740090817081745, "contact": 0.2657869382725262, "power": 0.727864023857391, "discipline": 0.045915584415584444, "xwoba": 0.355, "recent_xwoba": 0.355, "barrel": 16.0, "ab_hard_contact": 0.6014709533382865, "ab_bat_speed": 73.80549242424242, "ab_strikeout_rate": 0.22272727272727275, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "688642", "player_name": "Zach Agnos", "quality": -0.20366779065634288, "contact": -0.7129946508914073, "command": -0.30737134470467814, "movement": 0.09312910735038588, "xwoba": 0.334, "whiff": 25.7, "faced_est_woba": 0.31211668142436266, "faced_launch_speed": 83.56307945526696, "faced_strikeout_rate": 0.19059921559921558, "faced_run_exp": -0.014629634038800715}}}, "confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Production confidence governor cap enforced.", "pre_simulation_target": {"away_runs": 2, "home_runs": 4, "predicted_score_text": "COL 2 - 4 ARI", "confidence": 0.596417, "source": "enhanced_prediction_before_inning_simulation"}, "score_source": "enhanced_prediction.pre_simulation_target", "final_prediction_synced": true, "final_prediction_source": "pre_simulation_target", "simulation_usage": "advisory_box_score_draw", "simulation_score_matches_prediction": false, "simulation_reconciliation": {"pre_simulation_score": {"away_runs": 2, "home_runs": 4, "score_text": "COL 2 - 4 ARI", "winner": "ARI"}, "final_simulation_score": {"away_runs": 3, "home_runs": 5, "score_text": "COL 3 - 5 ARI", "winner": "ARI"}, "winner_flipped_by_simulation": false, "away_run_delta": 1, "home_run_delta": 1, "total_run_delta": 2, "score_source": "enhanced_prediction.pre_simulation_target", "simulation_usage": "advisory_box_score_draw", "final_prediction_source": "pre_simulation_target"}}
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, 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 predictionCOL 2 - 4 ARIARI0.596enhanced_prediction.pre_simulation_targetTrue
Simulation drawCOL 3 - 5 ARIARI-advisory_box_score_drawFalse

The shipped score is the pre-simulation model target. The inning simulation is a separate box-score realization used for player lines and stress testing.

Full Prediction Process

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.5964
9. Simulation reconciliationKeeps final shipped score and simulation box score auditable side by side.simulation_reconciliationadvisory_box_score_draw
10. Score evolution rendered6 stored score steps are rendered below.game.score_evolution.stepstrue

Score Evolution Steps

StepLayerAway RunsHome RunsConfidenceDescription
1historical_ml4.5496.353-Base ML historical model prediction
2variance_applied57-Random variance applied (0.9-1.1)
3enhanced_prediction240.5964Enhanced ML with recent form, H2H, low-score analysis
4embedded_savant_run_environment24-Target score adjusted by temporal Savant lineup quality versus opposing starter quality
5capped_target24-Capped at max 12 realistic runs
6simulation_result35-Final inning-by-inning simulation result

Governors, Guardrails, and Reconciliation

Low Score Analysis
{
  "low_score_probability": 0.5003081850533809,
  "base_low_score_probability": 0.4246737841043891,
  "low_score_signal_threshold": 0.5046737841043891,
  "low_score_signal_strength": 0.07563440094899182,
  "confidence": 0.6890500000000002,
  "factors": {
    "environmental": 1.0710000000000002,
    "pitcher_form": 1.1,
    "team_form": 1.0,
    "situational": 1.0,
    "combined": 1.1781000000000004
  },
  "prediction": "normal_scoring",
  "expected_total_runs": 6,
  "pre_simulation_expected_total_runs": 7.0,
  "low_score_model_expected_total_runs": 7.0,
  "final_simulation_total_runs": 8,
  "score_source": "enhanced_prediction.pre_simulation_target"
}
Win Probability Calibration
{
  "method": "historical_slate_bin_shrinkage",
  "sample_size": 51,
  "near_bucket_sample_size": 29,
  "medium_bucket_sample_size": 51,
  "wide_bucket_sample_size": 110,
  "global_sample_size": 205,
  "bucket_scope": "pooled_0.08",
  "sparse_bucket": false,
  "empirical_hit_rate": 0.5882,
  "bayesian_hit_rate": 0.5652,
  "sample_weight": 0.6,
  "prior_strength": 18.0,
  "reliability": 0.7391,
  "confidence_cap": 0.78,
  "raw_pick_probability": 0.67,
  "calibrated_pick_probability": 0.5964,
  "predicted_side": "home"
}
Season Run Differential Adjustment
{
  "applied": true,
  "home": {
    "team": "ARI",
    "games": 48,
    "wins": 25,
    "losses": 23,
    "win_pct": 0.5208333333333334,
    "runs_scored": 221,
    "runs_allowed": 223,
    "run_differential": -2,
    "run_differential_per_game": -0.041666666666666664,
    "available": true
  },
  "away": {
    "team": "COL",
    "games": 50,
    "wins": 19,
    "losses": 31,
    "win_pct": 0.38,
    "runs_scored": 210,
    "runs_allowed": 264,
    "run_differential": -54,
    "run_differential_per_game": -1.08,
    "available": true
  },
  "run_differential_edge_per_game": 1.0383,
  "win_pct_edge": 0.1408,
  "quality_edge": 1.2496,
  "margin_adjustment": 0.5248,
  "reason": "season-to-date run differential and record moved the score toward the stronger team",
  "adjusted_score": {
    "away_runs": 0.737,
    "home_runs": 4.807,
    "home_win_probability": 0.8459
  }
}
Matchup Recency Guardrail
{
  "applied": false,
  "confidence_cap": null,
  "winner_flipped": false,
  "reasons": [],
  "signals": {
    "predicted_team": "ARI",
    "guardrail_predicted_team": "ARI",
    "guardrail_opponent_team": null,
    "output_pre_simulation_winner": "ARI",
    "output_opponent_team": "COL",
    "final_score_winner": "ARI",
    "pre_simulation_winner": "ARI",
    "winner_flipped_by_simulation": false
  },
  "final_prediction_sync": {
    "pre_simulation_score": {
      "away_runs": 2,
      "home_runs": 4,
      "score_text": "COL 2 - 4 ARI",
      "winner": "ARI"
    },
    "final_simulation_score": {
      "away_runs": 3,
      "home_runs": 5,
      "score_text": "COL 3 - 5 ARI",
      "winner": "ARI"
    },
    "winner_flipped_by_simulation": false,
    "away_run_delta": 1,
    "home_run_delta": 1,
    "total_run_delta": 2,
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_usage": "advisory_box_score_draw",
    "final_prediction_source": "pre_simulation_target"
  }
}
Season Quality Guardrail
{
  "applied": false,
  "confidence_cap": null,
  "winner_flipped": false,
  "reasons": [],
  "signals": {
    "home": {
      "team": "ARI",
      "games": 48,
      "wins": 25,
      "losses": 23,
      "win_pct": 0.5208333333333334,
      "runs_scored": 221,
      "runs_allowed": 223,
      "run_differential": -2,
      "run_differential_per_game": -0.041666666666666664,
      "available": true
    },
    "away": {
      "team": "COL",
      "games": 50,
      "wins": 19,
      "losses": 31,
      "win_pct": 0.38,
      "runs_scored": 210,
      "runs_allowed": 264,
      "run_differential": -54,
      "run_differential_per_game": -1.08,
      "available": true
    }
  }
}
Margin Governor
{
  "applied": true,
  "raw_margin": 4.07,
  "final_margin": 2.0,
  "margin_cap": 2.0,
  "season_quality_edge": 1.2496,
  "reason": "large target margin capped because season quality evidence did not justify a decisive prediction",
  "adjusted_score": {
    "away_runs": 1.772,
    "home_runs": 3.772
  }
}
Confidence Governor
{
  "applied": false,
  "raw_confidence": 0.596417,
  "final_confidence": 0.596417,
  "confidence_cap": 0.63,
  "score_gap": 2.0,
  "calibration_sample_size": 51,
  "calibration_empirical_hit_rate": 0.5882,
  "calibration_bayesian_hit_rate": 0.5652,
  "calibration_sparse_bucket": false,
  "season_quality_edge": 1.2496,
  "reasons": [
    "unvalidated probabilities are capped for production display",
    "projected score gap is moderate",
    "local calibration sample has at least 30 games",
    "win-probability calibration cap enforced"
  ]
}
Simulation Reconciliation
{
  "pre_simulation_score": {
    "away_runs": 2,
    "home_runs": 4,
    "score_text": "COL 2 - 4 ARI",
    "winner": "ARI"
  },
  "final_simulation_score": {
    "away_runs": 3,
    "home_runs": 5,
    "score_text": "COL 3 - 5 ARI",
    "winner": "ARI"
  },
  "winner_flipped_by_simulation": false,
  "away_run_delta": 1,
  "home_run_delta": 1,
  "total_run_delta": 2,
  "score_source": "enhanced_prediction.pre_simulation_target",
  "simulation_usage": "advisory_box_score_draw",
  "final_prediction_source": "pre_simulation_target"
}
Enhanced Prediction Target
{
  "away_runs": 2,
  "home_runs": 4,
  "confidence": 0.596417,
  "home_win_probability": 0.596417,
  "away_win_probability": 0.403583,
  "predicted_score_text": "COL 2 - 4 ARI",
  "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": "COL",
      "original_runs": 2,
      "run_delta": 0.1545,
      "adjusted_runs": 2,
      "lineup": {
        "players_used": 8,
        "total_weight": 52.0,
        "quality": -0.12400713343053217,
        "contact": -0.1868089007799405,
        "power": -0.2963831915394774,
        "discipline": -0.37442187631931223,
        "xwoba": 0.3050769230769231,
        "recent_xwoba": 0.3050769230769231,
        "barrel": 5.371153846153846,
        "ab_hard_contact": -0.23722793335365772,
        "ab_bat_speed": 69.33261830398155,
        "ab_strikeout_rate": 0.2686498982973342,
        "available_players": 8,
        "top_players": [
          {
            "player_id": "650489",
            "player_name": "Willi Castro",
            "position": "1B",
            "weight": 7.0,
            "quality": -0.34673721969428356,
            "contact": -0.6690041575205695,
            "power": -0.30942141170692294,
            "discipline": -0.7147881562881563,
            "xwoba": 0.272,
            "recent_xwoba": 0.272,
            "barrel": 5.6,
            "ab_hard_contact": -0.29585680556703836,
            "ab_bat_speed": 70.38606277981278,
            "ab_strikeout_rate": 0.29914529914529914,
            "available": 1.0
          },
          {
            "player_id": "664983",
            "player_name": "Jake McCarthy",
            "position": "CF",
            "weight": 6.0,
            "quality": -0.19622690678506288,
            "contact": -0.22783939217480398,
            "power": -0.6983704256375586,
            "discipline": -0.010201298701298808,
            "xwoba": 0.326,
            "recent_xwoba": 0.326,
            "barrel": 5.0,
            "ab_hard_contact": -0.46569422703689406,
            "ab_bat_speed": 66.79463443963444,
            "ab_strikeout_rate": 0.17727272727272725,
            "available": 1.0
          },
          {
            "player_id": "671289",
            "player_name": "Tyler Freeman",
            "position": "RF",
            "weight": 7.0,
            "quality": -0.0772329858138536,
            "contact": 0.3221845801676682,
            "power": -0.8674413455108949,
            "discipline": 0.036598765432098807,
            "xwoba": 0.331,
            "recent_xwoba": 0.331,
            "barrel": 0.0,
            "ab_hard_contact": -0.3427316721226714,
            "ab_bat_speed": 66.38312669018225,
            "ab_strikeout_rate": 0.11790123456790123,
            "available": 1.0
          },
          {
            "player_id": "690924",
            "player_name": "Braxton Fulford",
            "position": "DH",
            "weight": 3.0,
            "quality": -0.042440930618972264,
            "contact": -1.1541418573984694,
            "power": -0.9265885909694486,
            "discipline": -0.8210714285714285,
            "xwoba": 0.21,
            "recent_xwoba": 0.21,
            "barrel": 0.0,
            "ab_hard_contact": -0.069105152722319,
            "ab_bat_speed": 69.51666666666668,
            "ab_strikeout_rate": 0.6,
            "available": 1.0
          },
          {
            "player_id": "696100",
            "player_name": "Hunter Goodman",
            "position": "C",
            "weight": 8.0,
            "quality": 0.010638460671836483,
            "contact": -0.25624710014738755,
            "power": 0.8158726001109979,
            "discipline": -1.1047878787878789,
            "xwoba": 0.301,
            "recent_xwoba": 0.301,
            "barrel": 13.6,
            "ab_hard_contact": 0.14849962126757882,
            "ab_bat_speed": 74.20455176767676,
            "ab_strikeout_rate": 0.3412878787878788,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "593958",
        "player_name": "Eduardo Rodriguez",
        "quality": -0.41390012793736797,
        "contact": -0.4128865006613969,
        "command": -0.636742408557626,
        "movement": -0.555185622740507,
        "xwoba": 0.334,
        "whiff": 18.8,
        "faced_est_woba": 0.33802248127622986,
        "faced_launch_speed": 84.79136342249842,
        "faced_strikeout_rate": 0.16802841910310354,
        "faced_run_exp": 0.01172017388644645
      }
    },
    "home": {
      "team": "ARI",
      "original_runs": 4,
      "run_delta": 0.2756,
      "adjusted_runs": 4,
      "lineup": {
        "players_used": 9,
        "total_weight": 72.0,
        "quality": 0.1698003459910721,
        "contact": 0.25116875027520286,
        "power": 0.15581171352332876,
        "discipline": 0.16515740978759716,
        "xwoba": 0.3318333333333333,
        "recent_xwoba": 0.3318333333333333,
        "barrel": 8.752777777777778,
        "ab_hard_contact": 0.08273691596921627,
        "ab_bat_speed": 70.11945856531024,
        "ab_strikeout_rate": 0.19104695529176785,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "682998",
            "player_name": "Corbin Carroll",
            "position": "RF",
            "weight": 8.0,
            "quality": 0.8255626558347141,
            "contact": 0.9632069312378941,
            "power": 1.356231011306284,
            "discipline": 0.4895692640692638,
            "xwoba": 0.384,
            "recent_xwoba": 0.384,
            "barrel": 14.5,
            "ab_hard_contact": 1.4362392737447316,
            "ab_bat_speed": 74.27078042328041,
            "ab_strikeout_rate": 0.2287878787878788,
            "available": 1.0
          },
          {
            "player_id": "606466",
            "player_name": "Ketel Marte",
            "position": "2B",
            "weight": 10.0,
            "quality": 0.7507435364884549,
            "contact": 1.0403555461452734,
            "power": 0.8613470160313792,
            "discipline": 0.03714728682170526,
            "xwoba": 0.353,
            "recent_xwoba": 0.353,
            "barrel": 10.3,
            "ab_hard_contact": 0.505416511103771,
            "ab_bat_speed": 73.20473219125049,
            "ab_strikeout_rate": 0.16085271317829458,
            "available": 1.0
          },
          {
            "player_id": "680728",
            "player_name": "Adrian Del Castillo",
            "position": "DH",
            "weight": 7.0,
            "quality": -0.36040444549441614,
            "contact": -1.206854325050358,
            "power": -0.33177085222727937,
            "discipline": -1.0320246305418719,
            "xwoba": 0.249,
            "recent_xwoba": 0.24899999999999997,
            "barrel": 8.1,
            "ab_hard_contact": -0.35160752073606377,
            "ab_bat_speed": 69.80908950617284,
            "ab_strikeout_rate": 0.32931034482758625,
            "available": 1.0
          },
          {
            "player_id": "666971",
            "player_name": "Lourdes Gurriel Jr.",
            "position": "LF",
            "weight": 8.0,
            "quality": -0.1508553604573194,
            "contact": -0.37817756389197643,
            "power": -0.5655661369470826,
            "discipline": 0.05014069264069254,
            "xwoba": 0.297,
            "recent_xwoba": 0.297,
            "barrel": 5.9,
            "ab_hard_contact": -0.2907513103702266,
            "ab_bat_speed": 69.01922896825397,
            "ab_strikeout_rate": 0.17878787878787877,
            "available": 1.0
          },
          {
            "player_id": "814439",
            "player_name": "Ryan Waldschmidt",
            "position": "CF",
            "weight": 6.0,
            "quality": 0.0740090817081745,
            "contact": 0.2657869382725262,
            "power": 0.727864023857391,
            "discipline": 0.045915584415584444,
            "xwoba": 0.355,
            "recent_xwoba": 0.355,
            "barrel": 16.0,
            "ab_hard_contact": 0.6014709533382865,
            "ab_bat_speed": 73.80549242424242,
            "ab_strikeout_rate": 0.22272727272727275,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "688642",
        "player_name": "Zach Agnos",
        "quality": -0.20366779065634288,
        "contact": -0.7129946508914073,
        "command": -0.30737134470467814,
        "movement": 0.09312910735038588,
        "xwoba": 0.334,
        "whiff": 25.7,
        "faced_est_woba": 0.31211668142436266,
        "faced_launch_speed": 83.56307945526696,
        "faced_strikeout_rate": 0.19059921559921558,
        "faced_run_exp": -0.014629634038800715
      }
    }
  },
  "confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Production confidence governor cap enforced.",
  "pre_simulation_target": {
    "away_runs": 2,
    "home_runs": 4,
    "predicted_score_text": "COL 2 - 4 ARI",
    "confidence": 0.596417,
    "source": "enhanced_prediction_before_inning_simulation"
  },
  "score_source": "enhanced_prediction.pre_simulation_target",
  "final_prediction_synced": true,
  "final_prediction_source": "pre_simulation_target",
  "simulation_usage": "advisory_box_score_draw",
  "simulation_score_matches_prediction": false,
  "simulation_reconciliation": {
    "pre_simulation_score": {
      "away_runs": 2,
      "home_runs": 4,
      "score_text": "COL 2 - 4 ARI",
      "winner": "ARI"
    },
    "final_simulation_score": {
      "away_runs": 3,
      "home_runs": 5,
      "score_text": "COL 3 - 5 ARI",
      "winner": "ARI"
    },
    "winner_flipped_by_simulation": false,
    "away_run_delta": 1,
    "home_run_delta": 1,
    "total_run_delta": 2,
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_usage": "advisory_box_score_draw",
    "final_prediction_source": "pre_simulation_target"
  }
}

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 COLTrue0.99480.99410.888981
Home ARITrue1.02231.0223190

Away Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
1BWilli Castro-0.9724-0.3675neutral0.27200.20900.33805.6046.1089.5017.603131.307.50-0.5143
CHunter Goodman-1.00560.0749negative_batter_regression0.30100.21800.412013.6048.1092.3020.3034.5035.306.50-1.2286
RFTyler Freeman-1.00340.0449neutral0.33100.28500.3770029.6086.9011.4011.7012.502.900.5714
SSEzequiel Tovar-1.00910.1219positive_batter_regression0.30000.24200.38407.1038.108814.6029.9026.306.401.3714
3BKyle Karros-1.02050.2728positive_batter_regression0.32900.25500.35605.2038.808910.1025.6023.60140.9714
CFJake McCarthy-0.9956-0.0582negative_batter_regression0.32600.27900.4020519.8083.201323.1018.207.30-0.8571
DHBraxton Fulford-0.9457-0.7237negative_batter_regression0.21000.14000.207006093.2023.9053.3033.3011.10-2
LFTroy Johnston-1.00060.0081negative_batter_regression0.32500.27500.38901.9038.9088.9012.8024.6021.807.70-1.5143

Home Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
3BNolan Arenado-1.01320.1762neutral0.33900.27100.42607.503085.2018.6023.5019.309.40-0.7143
SSGeraldo Perdomo-1.00550.0732neutral0.32900.25000.3360335.1087.6011.201112.4015.600.3714
RFCorbin Carroll-1.07811.0418neutral0.38400.26500.512014.50479113.4030.7022.6014.70-0.8000
2BKetel Marte-1.07541.0058positive_batter_regression0.35300.28900.470010.3047.9091.909.3021.8016.306.801.8000
LFLourdes Gurriel Jr.-0.9926-0.0992neutral0.29700.24200.34305.9033.8087.3012.302717.408.700.3143
CGabriel Moreno-1.02030.2705neutral0.33300.24600.429011.3042.3088.901620.4021.806.900.6286
1BIldemaro Vargas-1.01160.1545negative_batter_regression0.33700.31300.44104.103487.2010.6014.909.503-1.6286
DHAdrian Del Castillo-0.9731-0.3587neutral0.24900.19100.33108.1039.7088.6015.3031.90335.80-0.2000
CFRyan Waldschmidt-1.03100.4134neutral0.35500.27100.4680163685.4015.2027.4023.1010.300.1143
Raw Savant Batter Quality JSON
{
  "home": {
    "applied": true,
    "offense_factor": 1.0223,
    "raw_average_factor": 1.0223,
    "team_espn_average_rank": null,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "3B",
        "player_id": "571448",
        "player_name": "Nolan Arenado",
        "offense_factor": 1.0132,
        "quality_score": 0.1762,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "571448",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 167.0,
          "k_percent": 19.3,
          "bb_percent": 9.4,
          "woba": 0.364,
          "xwoba": 0.339,
          "xba": 0.271,
          "xslg": 0.426,
          "sweet_spot_percent": 36.7,
          "barrel_batted_rate": 7.5,
          "hard_hit_percent": 30.0,
          "exit_velocity_avg": 85.2,
          "launch_angle_avg": 18.6,
          "whiff_percent": 23.5,
          "swing_percent": 44.5
        },
        "components": {
          "expected_quality": 0.3861,
          "regression_edge": -0.7143,
          "xwoba_edge": 0.8857,
          "xba_edge": 0.8857,
          "xslg_edge": 0.7143,
          "barrel_edge": 0.1333,
          "hard_hit_edge": -1.35,
          "exit_velocity_edge": -1.52,
          "sweet_spot_edge": 0.5667,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "SS",
        "player_id": "672695",
        "player_name": "Geraldo Perdomo",
        "offense_factor": 1.0055,
        "quality_score": 0.0732,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "672695",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 183.0,
          "k_percent": 12.4,
          "bb_percent": 15.6,
          "woba": 0.316,
          "xwoba": 0.329,
          "xba": 0.25,
          "xslg": 0.336,
          "sweet_spot_percent": 32.8,
          "barrel_batted_rate": 3.0,
          "hard_hit_percent": 35.1,
          "exit_velocity_avg": 87.6,
          "launch_angle_avg": 11.2,
          "whiff_percent": 11.0,
          "swing_percent": 38.9
        },
        "components": {
          "expected_quality": 0.0419,
          "regression_edge": 0.3714,
          "xwoba_edge": 0.6,
          "xba_edge": 0.2857,
          "xslg_edge": -0.5714,
          "barrel_edge": -0.8667,
          "hard_hit_edge": -0.6214,
          "exit_velocity_edge": -0.56,
          "sweet_spot_edge": -0.0833,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "RF",
        "player_id": "682998",
        "player_name": "Corbin Carroll",
        "offense_factor": 1.0781,
        "quality_score": 1.0418,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "682998",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 185.0,
          "k_percent": 22.6,
          "bb_percent": 14.7,
          "woba": 0.412,
          "xwoba": 0.384,
          "xba": 0.265,
          "xslg": 0.512,
          "sweet_spot_percent": 35.0,
          "barrel_batted_rate": 14.5,
          "hard_hit_percent": 47.0,
          "exit_velocity_avg": 91.0,
          "launch_angle_avg": 13.4,
          "whiff_percent": 30.7,
          "swing_percent": 43.0
        },
        "components": {
          "expected_quality": 1.5709,
          "regression_edge": -0.8,
          "xwoba_edge": 2.1714,
          "xba_edge": 0.7143,
          "xslg_edge": 1.9429,
          "barrel_edge": 1.6889,
          "hard_hit_edge": 1.0786,
          "exit_velocity_edge": 0.8,
          "sweet_spot_edge": 0.2833,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "2B",
        "player_id": "606466",
        "player_name": "Ketel Marte",
        "offense_factor": 1.0754,
        "quality_score": 1.0058,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "606466",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 189.0,
          "k_percent": 16.3,
          "bb_percent": 6.8,
          "woba": 0.29,
          "xwoba": 0.353,
          "xba": 0.289,
          "xslg": 0.47,
          "sweet_spot_percent": 30.1,
          "barrel_batted_rate": 10.3,
          "hard_hit_percent": 47.9,
          "exit_velocity_avg": 91.9,
          "launch_angle_avg": 9.3,
          "whiff_percent": 21.8,
          "swing_percent": 48.7
        },
        "components": {
          "expected_quality": 1.0683,
          "regression_edge": 1.8,
          "xwoba_edge": 1.2857,
          "xba_edge": 1.4,
          "xslg_edge": 1.3429,
          "barrel_edge": 0.7556,
          "hard_hit_edge": 1.2071,
          "exit_velocity_edge": 1.16,
          "sweet_spot_edge": -0.5333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "LF",
        "player_id": "666971",
        "player_name": "Lourdes Gurriel Jr.",
        "offense_factor": 0.9926,
        "quality_score": -0.0992,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "666971",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 92.0,
          "k_percent": 17.4,
          "bb_percent": 8.7,
          "woba": 0.286,
          "xwoba": 0.297,
          "xba": 0.242,
          "xslg": 0.343,
          "sweet_spot_percent": 32.4,
          "barrel_batted_rate": 5.9,
          "hard_hit_percent": 33.8,
          "exit_velocity_avg": 87.3,
          "launch_angle_avg": 12.3,
          "whiff_percent": 27.0,
          "swing_percent": 52.0
        },
        "components": {
          "expected_quality": -0.3076,
          "regression_edge": 0.3143,
          "xwoba_edge": -0.3143,
          "xba_edge": 0.0571,
          "xslg_edge": -0.4714,
          "barrel_edge": -0.2222,
          "hard_hit_edge": -0.8071,
          "exit_velocity_edge": -0.68,
          "sweet_spot_edge": -0.15,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "C",
        "player_id": "672515",
        "player_name": "Gabriel Moreno",
        "offense_factor": 1.0203,
        "quality_score": 0.2705,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "672515",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 97.0,
          "k_percent": 21.8,
          "bb_percent": 6.9,
          "woba": 0.311,
          "xwoba": 0.333,
          "xba": 0.246,
          "xslg": 0.429,
          "sweet_spot_percent": 39.4,
          "barrel_batted_rate": 11.3,
          "hard_hit_percent": 42.3,
          "exit_velocity_avg": 88.9,
          "launch_angle_avg": 16.0,
          "whiff_percent": 20.4,
          "swing_percent": 46.2
        },
        "components": {
          "expected_quality": 0.5968,
          "regression_edge": 0.6286,
          "xwoba_edge": 0.7143,
          "xba_edge": 0.1714,
          "xslg_edge": 0.7571,
          "barrel_edge": 0.9778,
          "hard_hit_edge": 0.4071,
          "exit_velocity_edge": -0.04,
          "sweet_spot_edge": 1.0167,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "1B",
        "player_id": "545121",
        "player_name": "Ildemaro Vargas",
        "offense_factor": 1.0116,
        "quality_score": 0.1545,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "545121",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 168.0,
          "k_percent": 9.5,
          "bb_percent": 3.0,
          "woba": 0.394,
          "xwoba": 0.337,
          "xba": 0.313,
          "xslg": 0.441,
          "sweet_spot_percent": 34.0,
          "barrel_batted_rate": 4.1,
          "hard_hit_percent": 34.0,
          "exit_velocity_avg": 87.2,
          "launch_angle_avg": 10.6,
          "whiff_percent": 14.9,
          "swing_percent": 50.8
        },
        "components": {
          "expected_quality": 0.5004,
          "regression_edge": -1.6286,
          "xwoba_edge": 0.8286,
          "xba_edge": 2.0857,
          "xslg_edge": 0.9286,
          "barrel_edge": -0.6222,
          "hard_hit_edge": -0.7786,
          "exit_velocity_edge": -0.72,
          "sweet_spot_edge": 0.1167,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "DH",
        "player_id": "680728",
        "player_name": "Adrian Del Castillo",
        "offense_factor": 0.9731,
        "quality_score": -0.3587,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "680728",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 102.0,
          "k_percent": 33.0,
          "bb_percent": 5.8,
          "woba": 0.256,
          "xwoba": 0.249,
          "xba": 0.191,
          "xslg": 0.331,
          "sweet_spot_percent": 33.3,
          "barrel_batted_rate": 8.1,
          "hard_hit_percent": 39.7,
          "exit_velocity_avg": 88.6,
          "launch_angle_avg": 15.3,
          "whiff_percent": 31.9,
          "swing_percent": 48.4
        },
        "components": {
          "expected_quality": -0.867,
          "regression_edge": -0.2,
          "xwoba_edge": -1.6857,
          "xba_edge": -1.4,
          "xslg_edge": -0.6429,
          "barrel_edge": 0.2667,
          "hard_hit_edge": 0.0357,
          "exit_velocity_edge": -0.16,
          "sweet_spot_edge": 0.0,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "CF",
        "player_id": "814439",
        "player_name": "Ryan Waldschmidt",
        "offense_factor": 1.031,
        "quality_score": 0.4134,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "814439",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 39.0,
          "k_percent": 23.1,
          "bb_percent": 10.3,
          "woba": 0.351,
          "xwoba": 0.355,
          "xba": 0.271,
          "xslg": 0.468,
          "sweet_spot_percent": 56.0,
          "barrel_batted_rate": 16.0,
          "hard_hit_percent": 36.0,
          "exit_velocity_avg": 85.4,
          "launch_angle_avg": 15.2,
          "whiff_percent": 27.4,
          "swing_percent": 39.5
        },
        "components": {
          "expected_quality": 1.0495,
          "regression_edge": 0.1143,
          "xwoba_edge": 1.3429,
          "xba_edge": 0.8857,
          "xslg_edge": 1.3143,
          "barrel_edge": 2.0222,
          "hard_hit_edge": -0.4929,
          "exit_velocity_edge": -1.44,
          "sweet_spot_edge": 2.5,
          "launch_angle_hr_bonus": 0.0
        }
      }
    ],
    "source": "all_players_stats.csv embedded Savant batter features"
  },
  "away": {
    "applied": true,
    "offense_factor": 0.9948,
    "raw_average_factor": 0.9941,
    "team_espn_average_rank": null,
    "coverage_weight": 0.8889,
    "covered_batters": 8,
    "missing_batters": 1,
    "players": [
      {
        "position": "1B",
        "player_id": "650489",
        "player_name": "Willi Castro",
        "offense_factor": 0.9724,
        "quality_score": -0.3675,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "650489",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 147.0,
          "k_percent": 31.3,
          "bb_percent": 7.5,
          "woba": 0.29,
          "xwoba": 0.272,
          "xba": 0.209,
          "xslg": 0.338,
          "sweet_spot_percent": 28.1,
          "barrel_batted_rate": 5.6,
          "hard_hit_percent": 46.1,
          "exit_velocity_avg": 89.5,
          "launch_angle_avg": 17.6,
          "whiff_percent": 31.0,
          "swing_percent": 55.9
        },
        "components": {
          "expected_quality": -0.5559,
          "regression_edge": -0.5143,
          "xwoba_edge": -1.0286,
          "xba_edge": -0.8857,
          "xslg_edge": -0.5429,
          "barrel_edge": -0.2889,
          "hard_hit_edge": 0.95,
          "exit_velocity_edge": 0.2,
          "sweet_spot_edge": -0.8667,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "C",
        "player_id": "696100",
        "player_name": "Hunter Goodman",
        "offense_factor": 1.0056,
        "quality_score": 0.0749,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "696100",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 182.0,
          "k_percent": 35.3,
          "bb_percent": 6.5,
          "woba": 0.344,
          "xwoba": 0.301,
          "xba": 0.218,
          "xslg": 0.412,
          "sweet_spot_percent": 34.6,
          "barrel_batted_rate": 13.6,
          "hard_hit_percent": 48.1,
          "exit_velocity_avg": 92.3,
          "launch_angle_avg": 20.3,
          "whiff_percent": 34.5,
          "swing_percent": 56.6
        },
        "components": {
          "expected_quality": 0.3052,
          "regression_edge": -1.2286,
          "xwoba_edge": -0.2,
          "xba_edge": -0.6286,
          "xslg_edge": 0.5143,
          "barrel_edge": 1.4889,
          "hard_hit_edge": 1.2357,
          "exit_velocity_edge": 1.32,
          "sweet_spot_edge": 0.2167,
          "launch_angle_hr_bonus": 0.45
        }
      },
      {
        "position": "RF",
        "player_id": "671289",
        "player_name": "Tyler Freeman",
        "offense_factor": 1.0034,
        "quality_score": 0.0449,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "671289",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 99.0,
          "k_percent": 12.5,
          "bb_percent": 2.9,
          "woba": 0.311,
          "xwoba": 0.331,
          "xba": 0.285,
          "xslg": 0.377,
          "sweet_spot_percent": 34.6,
          "barrel_batted_rate": 0.0,
          "hard_hit_percent": 29.6,
          "exit_velocity_avg": 86.9,
          "launch_angle_avg": 11.4,
          "whiff_percent": 11.7,
          "swing_percent": 48.9
        },
        "components": {
          "expected_quality": 0.023,
          "regression_edge": 0.5714,
          "xwoba_edge": 0.6571,
          "xba_edge": 1.2857,
          "xslg_edge": 0.0143,
          "barrel_edge": -1.5333,
          "hard_hit_edge": -1.4071,
          "exit_velocity_edge": -0.84,
          "sweet_spot_edge": 0.2167,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "SS",
        "player_id": "678662",
        "player_name": "Ezequiel Tovar",
        "offense_factor": 1.0091,
        "quality_score": 0.1219,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "678662",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 171.0,
          "k_percent": 26.3,
          "bb_percent": 6.4,
          "woba": 0.252,
          "xwoba": 0.3,
          "xba": 0.242,
          "xslg": 0.384,
          "sweet_spot_percent": 42.5,
          "barrel_batted_rate": 7.1,
          "hard_hit_percent": 38.1,
          "exit_velocity_avg": 88.0,
          "launch_angle_avg": 14.6,
          "whiff_percent": 29.9,
          "swing_percent": 61.1
        },
        "components": {
          "expected_quality": -0.0409,
          "regression_edge": 1.3714,
          "xwoba_edge": -0.2286,
          "xba_edge": 0.0571,
          "xslg_edge": 0.1143,
          "barrel_edge": 0.0444,
          "hard_hit_edge": -0.1929,
          "exit_velocity_edge": -0.4,
          "sweet_spot_edge": 1.5333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "3B",
        "player_id": "691720",
        "player_name": "Kyle Karros",
        "offense_factor": 1.0205,
        "quality_score": 0.2728,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "691720",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 156.0,
          "k_percent": 23.6,
          "bb_percent": 14.0,
          "woba": 0.295,
          "xwoba": 0.329,
          "xba": 0.255,
          "xslg": 0.356,
          "sweet_spot_percent": 43.9,
          "barrel_batted_rate": 5.2,
          "hard_hit_percent": 38.8,
          "exit_velocity_avg": 89.0,
          "launch_angle_avg": 10.1,
          "whiff_percent": 25.6,
          "swing_percent": 41.0
        },
        "components": {
          "expected_quality": 0.2893,
          "regression_edge": 0.9714,
          "xwoba_edge": 0.6,
          "xba_edge": 0.4286,
          "xslg_edge": -0.2857,
          "barrel_edge": -0.3778,
          "hard_hit_edge": -0.0929,
          "exit_velocity_edge": 0.0,
          "sweet_spot_edge": 1.7667,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "CF",
        "player_id": "664983",
        "player_name": "Jake McCarthy",
        "offense_factor": 0.9956,
        "quality_score": -0.0582,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "664983",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 103.0,
          "k_percent": 18.2,
          "bb_percent": 7.3,
          "woba": 0.356,
          "xwoba": 0.326,
          "xba": 0.279,
          "xslg": 0.402,
          "sweet_spot_percent": 35.8,
          "barrel_batted_rate": 5.0,
          "hard_hit_percent": 19.8,
          "exit_velocity_avg": 83.2,
          "launch_angle_avg": 13.0,
          "whiff_percent": 23.1,
          "swing_percent": 52.7
        },
        "components": {
          "expected_quality": -0.005,
          "regression_edge": -0.8571,
          "xwoba_edge": 0.5143,
          "xba_edge": 1.1143,
          "xslg_edge": 0.3714,
          "barrel_edge": -0.4222,
          "hard_hit_edge": -2.5,
          "exit_velocity_edge": -2.32,
          "sweet_spot_edge": 0.4167,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "DH",
        "player_id": "690924",
        "player_name": "Braxton Fulford",
        "offense_factor": 0.9457,
        "quality_score": -0.7237,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "690924",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 9.0,
          "k_percent": 33.3,
          "bb_percent": 11.1,
          "woba": 0.41,
          "xwoba": 0.21,
          "xba": 0.14,
          "xslg": 0.207,
          "sweet_spot_percent": 20.0,
          "barrel_batted_rate": 0.0,
          "hard_hit_percent": 60.0,
          "exit_velocity_avg": 93.2,
          "launch_angle_avg": 23.9,
          "whiff_percent": 53.3,
          "swing_percent": 44.1
        },
        "components": {
          "expected_quality": -1.5444,
          "regression_edge": -2.0,
          "xwoba_edge": -2.5,
          "xba_edge": -2.5,
          "xslg_edge": -2.4143,
          "barrel_edge": -1.5333,
          "hard_hit_edge": 2.5,
          "exit_velocity_edge": 1.68,
          "sweet_spot_edge": -2.2167,
          "launch_angle_hr_bonus": 0.45
        }
      },
      {
        "position": "LF",
        "player_id": "687859",
        "player_name": "Troy Johnston",
        "offense_factor": 1.0006,
        "quality_score": 0.0081,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "687859",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 153.0,
          "k_percent": 21.8,
          "bb_percent": 7.7,
          "woba": 0.378,
          "xwoba": 0.325,
          "xba": 0.275,
          "xslg": 0.389,
          "sweet_spot_percent": 46.3,
          "barrel_batted_rate": 1.9,
          "hard_hit_percent": 38.9,
          "exit_velocity_avg": 88.9,
          "launch_angle_avg": 12.8,
          "whiff_percent": 24.6,
          "swing_percent": 49.3
        },
        "components": {
          "expected_quality": 0.2601,
          "regression_edge": -1.5143,
          "xwoba_edge": 0.4857,
          "xba_edge": 1.0,
          "xslg_edge": 0.1857,
          "barrel_edge": -1.1111,
          "hard_hit_edge": -0.0786,
          "exit_velocity_edge": -0.04,
          "sweet_spot_edge": 2.1667,
          "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 COLTrue--0.17000.45001.01440.98170.98561.0317neutral0.33400.333015.607.8025.7010.3038.10
Home ARITrue--0.32860.80001.02790.94471.00801.0074negative_pitcher_regression0.33400.293017.509.9018.807.4036.40

Pitch Movement And Arsenal

TeamPitcherMovement AvailablePrimary PitchPitchesVeloSpinAxisHBIVBDropRel XRel ZExtensionArm AngleMovement Score
Away COLTrueNone3890.292252000000000.0341
Home ARITrueNone9688.04215500000000-0.0921
Run FactorValue
away_runs_vs_home_pitcher1.0223
home_runs_vs_away_pitcher1.0065
home_pitcher_quality_edge-0.1586
Raw Savant Pitcher Quality JSON
{
  "applied": true,
  "home_pitcher": {
    "available": true,
    "pitcher_id": "593958",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 200.0,
      "k_percent": 17.5,
      "bb_percent": 9.9,
      "woba": 0.293,
      "xwoba": 0.334,
      "sweet_spot_percent": 35.2,
      "barrel_batted_rate": 7.4,
      "hard_hit_percent": 36.4,
      "avg_best_speed": 78.6068,
      "avg_hyper_speed": 93.8492,
      "whiff_percent": 18.8,
      "swing_percent": 45.2
    },
    "league_medians": {
      "pa": 69.0,
      "k_percent": 22.7,
      "bb_percent": 9.4,
      "woba": 0.308,
      "xwoba": 0.312,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.2,
      "hard_hit_percent": 38.7,
      "avg_best_speed": 78.2751,
      "avg_hyper_speed": 94.07,
      "whiff_percent": 25.7,
      "swing_percent": 46.9
    },
    "components": {
      "contact_quality": -0.1842,
      "command_and_miss": -0.7043,
      "regression_edge": -1.1714,
      "xwoba_edge": -0.6286,
      "barrel_edge": -0.0444,
      "hard_hit_edge": 0.3286,
      "whiff_edge": -0.9857,
      "bb_edge": -0.125,
      "pitch_design_score": -0.0921
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "593958",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 96,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 96,
        "pitch_usage": 0.0,
        "release_speed": 88.03946582700056,
        "release_spin_rate": 2154.7111151285885,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 96,
          "pitch_usage": 0.0,
          "release_speed": 88.03946582700056,
          "release_spin_rate": 2154.7111151285885,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.0395,
        "release_spin_rate": 2154.7111,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": -0.0921,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": -0.6576,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -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.3286,
    "sample_weight": 0.8,
    "run_prevention_factor": 1.0279,
    "strikeout_factor": 0.9447,
    "walk_factor": 1.008,
    "homer_factor": 1.0074,
    "woba_minus_xwoba": -0.041,
    "regression_flag": "negative_pitcher_regression",
    "espn_rank": {
      "available": false,
      "player_id": "593958",
      "reason": "player_not_in_espn_rankings"
    }
  },
  "away_pitcher": {
    "available": true,
    "pitcher_id": "688642",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 109.0,
      "k_percent": 15.6,
      "bb_percent": 7.8,
      "woba": 0.333,
      "xwoba": 0.334,
      "sweet_spot_percent": 39.2,
      "barrel_batted_rate": 10.3,
      "hard_hit_percent": 38.1,
      "avg_best_speed": 77.102,
      "avg_hyper_speed": 93.7921,
      "whiff_percent": 25.7,
      "swing_percent": 51.3
    },
    "league_medians": {
      "pa": 69.0,
      "k_percent": 22.7,
      "bb_percent": 9.4,
      "woba": 0.308,
      "xwoba": 0.312,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.2,
      "hard_hit_percent": 38.7,
      "avg_best_speed": 78.2751,
      "avg_hyper_speed": 94.07,
      "whiff_percent": 25.7,
      "swing_percent": 46.9
    },
    "components": {
      "contact_quality": -0.4995,
      "command_and_miss": -0.3764,
      "regression_edge": -0.0286,
      "xwoba_edge": -0.6286,
      "barrel_edge": -0.6889,
      "hard_hit_edge": 0.0857,
      "whiff_edge": 0.0,
      "bb_edge": 0.4,
      "pitch_design_score": 0.0341
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "688642",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 38,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 38,
        "pitch_usage": 0.0,
        "release_speed": 90.29253583212686,
        "release_spin_rate": 2252.1372713069964,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 38,
          "pitch_usage": 0.0,
          "release_speed": 90.29253583212686,
          "release_spin_rate": 2252.1372713069964,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.2925,
        "release_spin_rate": 2252.1373,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": 0.0341,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": 0.2436,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -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.17,
    "sample_weight": 0.45,
    "run_prevention_factor": 1.0144,
    "strikeout_factor": 0.9817,
    "walk_factor": 0.9856,
    "homer_factor": 1.0317,
    "woba_minus_xwoba": -0.001,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": false,
      "player_id": "688642",
      "reason": "player_not_in_espn_rankings"
    }
  },
  "run_factors": {
    "away_runs_vs_home_pitcher": 1.0223,
    "home_runs_vs_away_pitcher": 1.0065,
    "home_pitcher_quality_edge": -0.1586
  },
  "score_before": {
    "away_runs": 0.9519,
    "home_runs": 4.4892
  },
  "score_after": {
    "away_runs": 0.9732,
    "home_runs": 4.5183,
    "home_win_probability": 0.7985
  },
  "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 COL6-430.1221.104.60-170coldaverage
Home ARI19-290.3961.502.70-55coldstrong

Season Run Differential

TeamRecordWin %Run DiffRD/GameAvailable
Away COL19-310.380-54-1.080True
Home ARI25-230.521-2-0.042True
Signal--1.0381.250applied=True

Recent Head-to-Head

DateMatchupScoreWinnerMarginType
------

Player/Game Reconciliation

LayerABHRHRRBIBBSO
Game target COL--2----
Game target ARI--4----
Player finalized COL5614807514
Player finalized ARI721812112816
Player model fractional COL55.7212.437.581.185.795.2415.05
Player model fractional ARI71.6519.3711.502.4611.457.4614.39
Simulation box COL34731326
Simulation box ARI32853545

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 COLStarterZach Agnos4.1053714.631.24True
Away COLMiddle RelieverAntonio Senzatela1.1001023.001.12True
Away COLMiddle RelieverJaden Hill101003.261.16True
Away COLMiddle RelieverJuan Mejia0.2000002.811.20True
Away COLMiddle RelieverSeth Halvorsen0.2000114.051.45True
Away COLMiddle RelieverBrennan Bernardino000006.041.53True
Home ARIStarterEduardo Rodriguez6.2016213.311.29True
Home ARIMiddle RelieverJuan Morillo110104.641.38True
Home ARIMiddle RelieverPaul Sewald100104.181.30True
Home ARIMiddle RelieverTaylor Clarke0.1010315.591.42True
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
homeARIbatterCGabriel Morenobetter95463predicted_H2.1800boostbetter
awayCOLpitcherStarterZach Agnosneutral21111predicted_SO2.0000boostbetter
awayCOLpitcherMiddle RelieverBrennan Bernardinoworse20202predicted_SO-2.0000deboostworse
homeARIbatter1BIldemaro Vargasbetter117483predicted_HR1.8900boostbetter
homeARIpitcherStarterEduardo Rodriguezneutral21111predicted_IP-1.8000deboostworse
awayCOLbatterSSEzequiel Tovarworse1111029predicted_AB-1.7700deboostworse
awayCOLbatterDHBraxton Fulfordworse105546predicted_AB1.5000boostbetter
homeARIbatterSSGeraldo Perdomoworse1239210predicted_SO1.4710boostworse
homeARIbatter2BKetel Marteworse116556predicted_AB-1.4700deboostworse
homeARIbatterDHAdrian Del Castilloworse112938predicted_SO-1.2980deboostbetter
awayCOLbatterCFJake McCarthydeboosted125766predicted_H1.2600boostbetter
homeARIbatterRFCorbin Carrollworse114747predicted_H-1.0100deboostworse
homeARIpitcherMiddle RelieverJuan Morilloneutral21111predicted_SO-1.0000deboostworse
awayCOLbatter3BKyle Karrosworse114756predicted_AB0.9310boostbetter
awayCOLbatter2BChad Stevensboosted106455predicted_HR0.9120boostbetter
homeARIpitcherMiddle RelieverPaul Sewaldbetter11010predicted_IP0.9000boostbetter
homeARIbatterLFLourdes Gurriel Jr.worse114756predicted_H-0.8900deboostworse
awayCOLbatter1BWilli Castroworse1111029predicted_H-0.8600deboostworse
homeARIbatter3BNolan Arenadobetter119283predicted_HR0.8600boostbetter
homeARIbatterCFRyan Waldschmidtworse93645predicted_SO-0.8500deboostbetter
awayCOLbatterCHunter Goodmanworse91827predicted_R-0.6860deboostworse
awayCOLpitcherMiddle RelieverJuan Mejiaworse10101predicted_IP-0.4667deboostworse
awayCOLpitcherMiddle RelieverSeth Halvorsenworse10101predicted_IP-0.4667deboostworse
awayCOLbatterRFTyler Freemanworse1129110predicted_SO0.4430boostworse
awayCOLbatterLFTroy Johnstonworse116556predicted_R-0.4390deboostworse
awayCOLpitcherMiddle RelieverAntonio Senzatelaworse10101predicted_IP-0.2333deboostworse

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

Away Team: COL

Away Pitcher Deep Analysis

FieldValue
PitcherZach Agnos
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.1700
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.0341
Avg Velo90.2925
Avg Spin2252.1373
HB Inches0
IVB Inches0
Release Extension0
Pre IP4.1000
Pre ER5
Pre H7
Pre BB1
Pre SO3
Season ERA5.5862
Season WHIP1.4138
Role Avg IP3.7330
Recent Avg IP3.7330
Last Start IP4.1000
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "COL",
    "games": 59,
    "wins": 23,
    "losses": 36,
    "win_pct": 0.3898,
    "runs_scored": 263.0,
    "runs_allowed": 314.0,
    "run_differential": -51.0,
    "run_differential_per_game": -0.8644,
    "avg_runs_scored": 4.4576,
    "avg_runs_allowed": 5.322,
    "offense_index": 0.9977,
    "defense_index": 0.8396,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 3.5,
      "avg_runs_allowed": 6.0,
      "run_differential": -25.0
    },
    "available": true,
    "quality_score": -0.2701
  },
  "opponent": {
    "team": "ARI",
    "games": 55,
    "wins": 29,
    "losses": 26,
    "win_pct": 0.5273,
    "runs_scored": 268.0,
    "runs_allowed": 262.0,
    "run_differential": 6.0,
    "run_differential_per_game": 0.1091,
    "avg_runs_scored": 4.8727,
    "avg_runs_allowed": 4.7636,
    "offense_index": 1.0906,
    "defense_index": 0.938,
    "current_streak": "W4",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 5.7,
      "avg_runs_allowed": 3.3,
      "run_differential": 24.0
    },
    "available": true,
    "quality_score": 0.1066
  },
  "edges": {
    "quality_edge": -0.3767,
    "offense_edge": -0.0023,
    "opponent_offense_edge": 0.0906,
    "defense_strength": -0.1604,
    "opponent_defense_weakness": 0.062,
    "recent_win_pct_edge": -0.4
  },
  "player_factors": {
    "ip": 0.9765,
    "run_prevention": 1.0494,
    "strikeout": 0.9815
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "688642",
    "profile": {
      "available": true,
      "pitcher_id": "688642",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 109.0,
        "k_percent": 15.6,
        "bb_percent": 7.8,
        "woba": 0.333,
        "xwoba": 0.334,
        "sweet_spot_percent": 39.2,
        "barrel_batted_rate": 10.3,
        "hard_hit_percent": 38.1,
        "avg_best_speed": 77.102,
        "avg_hyper_speed": 93.7921,
        "whiff_percent": 25.7,
        "swing_percent": 51.3
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": -0.4995,
        "command_and_miss": -0.3764,
        "regression_edge": -0.0286,
        "xwoba_edge": -0.6286,
        "barrel_edge": -0.6889,
        "hard_hit_edge": 0.0857,
        "whiff_edge": 0.0,
        "bb_edge": 0.4,
        "pitch_design_score": 0.0341
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "688642",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 38,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 38,
          "pitch_usage": 0.0,
          "release_speed": 90.29253583212686,
          "release_spin_rate": 2252.1372713069964,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 38,
            "pitch_usage": 0.0,
            "release_speed": 90.29253583212686,
            "release_spin_rate": 2252.1372713069964,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.2925,
          "release_spin_rate": 2252.1373,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.0341,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.2436,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.17,
      "sample_weight": 0.45,
      "run_prevention_factor": 1.0144,
      "strikeout_factor": 0.9817,
      "walk_factor": 0.9856,
      "homer_factor": 1.0317,
      "woba_minus_xwoba": -0.001,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "688642",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 2.0,
        "factor": 1.0065,
        "adjusted": 2
      },
      "predicted_H": {
        "original": 4.0,
        "factor": 1.0065,
        "adjusted": 4
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 0.9935,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 1.0,
        "factor": 1.0143,
        "adjusted": 1
      },
      "predicted_SO": {
        "original": 3.0,
        "factor": 0.9918,
        "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": 25.1,
    "ER": 13,
    "H": 20,
    "BB": 8,
    "SO": 15,
    "HR": 3,
    "ERA": 4.61842105263158,
    "WHIP": 1.105263157894737,
    "K9": 5.328947368421054,
    "HR9": 1.0657894736842106,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-05-15T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "688642",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 38,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 38,
    "pitch_usage": 0.0,
    "release_speed": 90.29253583212686,
    "release_spin_rate": 2252.1372713069964,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 38,
      "pitch_usage": 0.0,
      "release_speed": 90.29253583212686,
      "release_spin_rate": 2252.1372713069964,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.2925,
    "release_spin_rate": 2252.1373,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.0341,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.2436,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 5.745,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5347,
    "prior_weight": 0.4653
  },
  "role": "pitcher",
  "player_id": "688642",
  "report_date": "20260521_C",
  "season_year": 2026,
  "rows_used": 13,
  "reference_playing_time": 4.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 12.2,
        "ER": 7.0,
        "R": 8.0,
        "H": 11.0,
        "BB": 3.0,
        "SO": 4.0,
        "HR": 1.0,
        "BF": 53.0,
        "Pitches": 180.0
      },
      "per_game": {
        "IP": 2.2,
        "ER": 1.4,
        "R": 1.6,
        "H": 2.2,
        "BB": 0.6,
        "SO": 0.8,
        "HR": 0.2,
        "BF": 10.6,
        "Pitches": 36.0
      },
      "rates": {
        "ERA": 4.9737,
        "WHIP": 1.1053,
        "ER_per_IP": 0.55263,
        "H_per_IP": 0.86842,
        "BB_per_IP": 0.23684,
        "SO_per_IP": 0.31579,
        "HR_per_IP": 0.07895
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 25.1,
        "ER": 13.0,
        "R": 15.0,
        "H": 20.0,
        "BB": 8.0,
        "SO": 15.0,
        "HR": 3.0,
        "BF": 105.0,
        "Pitches": 385.0
      },
      "per_game": {
        "IP": 2.2,
        "ER": 1.3,
        "R": 1.5,
        "H": 2.0,
        "BB": 0.8,
        "SO": 1.5,
        "HR": 0.3,
        "BF": 10.5,
        "Pitches": 38.5
      },
      "rates": {
        "ERA": 4.6184,
        "WHIP": 1.1053,
        "ER_per_IP": 0.51316,
        "H_per_IP": 0.78947,
        "BB_per_IP": 0.31579,
        "SO_per_IP": 0.59211,
        "HR_per_IP": 0.11842
      }
    },
    "season": {
      "games": 13,
      "totals": {
        "IP": 29.0,
        "ER": 18.0,
        "R": 20.0,
        "H": 31.0,
        "BB": 10.0,
        "SO": 20.0,
        "HR": 3.0,
        "BF": 128.0,
        "Pitches": 478.0
      },
      "per_game": {
        "IP": 2.1,
        "ER": 1.3846,
        "R": 1.5385,
        "H": 2.3846,
        "BB": 0.7692,
        "SO": 1.5385,
        "HR": 0.2308,
        "BF": 9.8462,
        "Pitches": 36.7692
      },
      "rates": {
        "ERA": 5.5862,
        "WHIP": 1.4138,
        "ER_per_IP": 0.62069,
        "H_per_IP": 1.06897,
        "BB_per_IP": 0.34483,
        "SO_per_IP": 0.68966,
        "HR_per_IP": 0.10345
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 3.1,
    "predicted_ER": 1.753,
    "predicted_H": 3.096,
    "predicted_BB": 1.117,
    "predicted_SO": 2.395,
    "predicted_HR": 0.385,
    "predicted_ERA": 4.6308,
    "predicted_WHIP": 1.237
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5466,
  "form_weight": 0.4534,
  "form_reliability": 0.5347,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 5.745,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5347,
    "prior_weight": 0.4653
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 4.1,
      "form": 3.1,
      "final": 4.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 5.0,
      "form": 1.753,
      "final": 3.5278,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 7.0,
      "form": 3.096,
      "final": 5.2299,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 1.117,
      "final": 1.053,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 2.395,
      "final": 1.6325,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 3.0,
      "form": 0.385,
      "final": 1.8143,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.6308,
      "final": 4.6308,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.237,
      "final": 1.237,
      "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
PitcherAntonio Senzatela
RoleMiddle Reliever
Projection Source-
Savant Quality Score0.2211
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.1697
Avg Velo92.7135
Avg Spin2305.0194
HB Inches0
IVB Inches0
Release Extension0
Pre IP1.1000
Pre ER0
Pre H0
Pre BB2
Pre SO1
Season ERA1.1868
Season WHIP0.8242
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "COL",
    "games": 59,
    "wins": 23,
    "losses": 36,
    "win_pct": 0.3898,
    "runs_scored": 263.0,
    "runs_allowed": 314.0,
    "run_differential": -51.0,
    "run_differential_per_game": -0.8644,
    "avg_runs_scored": 4.4576,
    "avg_runs_allowed": 5.322,
    "offense_index": 0.9977,
    "defense_index": 0.8396,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 3.5,
      "avg_runs_allowed": 6.0,
      "run_differential": -25.0
    },
    "available": true,
    "quality_score": -0.2701
  },
  "opponent": {
    "team": "ARI",
    "games": 55,
    "wins": 29,
    "losses": 26,
    "win_pct": 0.5273,
    "runs_scored": 268.0,
    "runs_allowed": 262.0,
    "run_differential": 6.0,
    "run_differential_per_game": 0.1091,
    "avg_runs_scored": 4.8727,
    "avg_runs_allowed": 4.7636,
    "offense_index": 1.0906,
    "defense_index": 0.938,
    "current_streak": "W4",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 5.7,
      "avg_runs_allowed": 3.3,
      "run_differential": 24.0
    },
    "available": true,
    "quality_score": 0.1066
  },
  "edges": {
    "quality_edge": -0.3767,
    "offense_edge": -0.0023,
    "opponent_offense_edge": 0.0906,
    "defense_strength": -0.1604,
    "opponent_defense_weakness": 0.062,
    "recent_win_pct_edge": -0.4
  },
  "player_factors": {
    "ip": 0.9765,
    "run_prevention": 1.0494,
    "strikeout": 0.9815
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "622608",
    "profile": {
      "available": true,
      "pitcher_id": "622608",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 104.0,
        "k_percent": 23.8,
        "bb_percent": 7.6,
        "woba": 0.196,
        "xwoba": 0.269,
        "sweet_spot_percent": 36.1,
        "barrel_batted_rate": 5.6,
        "hard_hit_percent": 34.7,
        "avg_best_speed": 75.4836,
        "avg_hyper_speed": 93.1916,
        "whiff_percent": 26.8,
        "swing_percent": 50.5
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": 1.1101,
        "command_and_miss": 0.2157,
        "regression_edge": -2.0,
        "xwoba_edge": 1.2286,
        "barrel_edge": 0.3556,
        "hard_hit_edge": 0.5714,
        "whiff_edge": 0.1571,
        "bb_edge": 0.45,
        "pitch_design_score": 0.1697
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "622608",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 27,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 27,
          "pitch_usage": 0.0,
          "release_speed": 92.71349997372275,
          "release_spin_rate": 2305.0194314642968,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 27,
            "pitch_usage": 0.0,
            "release_speed": 92.71349997372275,
            "release_spin_rate": 2305.0194314642968,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.7135,
          "release_spin_rate": 2305.0194,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.1697,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.212,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.2211,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9812,
      "strikeout_factor": 1.0057,
      "walk_factor": 0.9838,
      "homer_factor": 0.9603,
      "woba_minus_xwoba": -0.073,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "622608",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9915,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9915,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9927,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9821,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 3.0,
        "factor": 1.0026,
        "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": 21.1,
    "ER": 4,
    "H": 15,
    "BB": 5,
    "SO": 14,
    "HR": 1,
    "ERA": 1.6875,
    "WHIP": 0.9375,
    "K9": 5.90625,
    "HR9": 0.421875,
    "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-05-20T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "622608",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 27,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 27,
    "pitch_usage": 0.0,
    "release_speed": 92.71349997372275,
    "release_spin_rate": 2305.0194314642968,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 27,
      "pitch_usage": 0.0,
      "release_speed": 92.71349997372275,
      "release_spin_rate": 2305.0194314642968,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.7135,
    "release_spin_rate": 2305.0194,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1697,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.212,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 6.009,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5458,
    "prior_weight": 0.4542
  },
  "role": "pitcher",
  "player_id": "622608",
  "report_date": "20260521_C",
  "season_year": 2026,
  "rows_used": 14,
  "reference_playing_time": 1.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 10.2,
        "ER": 3.0,
        "R": 3.0,
        "H": 8.0,
        "BB": 3.0,
        "SO": 7.0,
        "HR": 1.0,
        "BF": 42.0,
        "Pitches": 139.0
      },
      "per_game": {
        "IP": 2.0,
        "ER": 0.6,
        "R": 0.6,
        "H": 1.6,
        "BB": 0.6,
        "SO": 1.4,
        "HR": 0.2,
        "BF": 8.4,
        "Pitches": 27.8
      },
      "rates": {
        "ERA": 2.5312,
        "WHIP": 1.0312,
        "ER_per_IP": 0.28125,
        "H_per_IP": 0.75,
        "BB_per_IP": 0.28125,
        "SO_per_IP": 0.65625,
        "HR_per_IP": 0.09375
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 21.1,
        "ER": 4.0,
        "R": 5.0,
        "H": 15.0,
        "BB": 5.0,
        "SO": 14.0,
        "HR": 1.0,
        "BF": 82.0,
        "Pitches": 271.0
      },
      "per_game": {
        "IP": 2.0,
        "ER": 0.4,
        "R": 0.5,
        "H": 1.5,
        "BB": 0.5,
        "SO": 1.4,
        "HR": 0.1,
        "BF": 8.2,
        "Pitches": 27.1
      },
      "rates": {
        "ERA": 1.6875,
        "WHIP": 0.9375,
        "ER_per_IP": 0.1875,
        "H_per_IP": 0.70312,
        "BB_per_IP": 0.23438,
        "SO_per_IP": 0.65625,
        "HR_per_IP": 0.04688
      }
    },
    "season": {
      "games": 14,
      "totals": {
        "IP": 30.1,
        "ER": 4.0,
        "R": 5.0,
        "H": 17.0,
        "BB": 8.0,
        "SO": 26.0,
        "HR": 1.0,
        "BF": 113.0,
        "Pitches": 397.0
      },
      "per_game": {
        "IP": 2.0,
        "ER": 0.2857,
        "R": 0.3571,
        "H": 1.2143,
        "BB": 0.5714,
        "SO": 1.8571,
        "HR": 0.0714,
        "BF": 8.0714,
        "Pitches": 28.3571
      },
      "rates": {
        "ERA": 1.1868,
        "WHIP": 0.8242,
        "ER_per_IP": 0.13187,
        "H_per_IP": 0.56044,
        "BB_per_IP": 0.26374,
        "SO_per_IP": 0.85714,
        "HR_per_IP": 0.03297
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 1.2,
    "predicted_ER": 0.566,
    "predicted_H": 1.37,
    "predicted_BB": 0.532,
    "predicted_SO": 1.378,
    "predicted_HR": 0.161,
    "predicted_ERA": 2.9989,
    "predicted_WHIP": 1.1207
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5419,
  "form_weight": 0.4581,
  "form_reliability": 0.5458,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 6.009,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5458,
    "prior_weight": 0.4542
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.1,
      "form": 1.2,
      "final": 1.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.566,
      "final": 0.2593,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 1.37,
      "final": 0.6276,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 2.0,
      "form": 0.532,
      "final": 1.3275,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.378,
      "final": 1.1732,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.161,
      "final": 0.0738,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.9989,
      "final": 2.9989,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1207,
      "final": 1.1207,
      "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
PitcherJaden Hill
RoleMiddle Reliever
Projection Source-
Savant Quality Score0.1677
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.1203
Avg Velo91.8326
Avg Spin2263.0417
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO1
Season ERA2.8421
Season WHIP1.3684
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "COL",
    "games": 59,
    "wins": 23,
    "losses": 36,
    "win_pct": 0.3898,
    "runs_scored": 263.0,
    "runs_allowed": 314.0,
    "run_differential": -51.0,
    "run_differential_per_game": -0.8644,
    "avg_runs_scored": 4.4576,
    "avg_runs_allowed": 5.322,
    "offense_index": 0.9977,
    "defense_index": 0.8396,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 3.5,
      "avg_runs_allowed": 6.0,
      "run_differential": -25.0
    },
    "available": true,
    "quality_score": -0.2701
  },
  "opponent": {
    "team": "ARI",
    "games": 55,
    "wins": 29,
    "losses": 26,
    "win_pct": 0.5273,
    "runs_scored": 268.0,
    "runs_allowed": 262.0,
    "run_differential": 6.0,
    "run_differential_per_game": 0.1091,
    "avg_runs_scored": 4.8727,
    "avg_runs_allowed": 4.7636,
    "offense_index": 1.0906,
    "defense_index": 0.938,
    "current_streak": "W4",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 5.7,
      "avg_runs_allowed": 3.3,
      "run_differential": 24.0
    },
    "available": true,
    "quality_score": 0.1066
  },
  "edges": {
    "quality_edge": -0.3767,
    "offense_edge": -0.0023,
    "opponent_offense_edge": 0.0906,
    "defense_strength": -0.1604,
    "opponent_defense_weakness": 0.062,
    "recent_win_pct_edge": -0.4
  },
  "player_factors": {
    "ip": 0.9765,
    "run_prevention": 1.0494,
    "strikeout": 0.9815
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "677955",
    "profile": {
      "available": true,
      "pitcher_id": "677955",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 78.0,
        "k_percent": 26.6,
        "bb_percent": 11.4,
        "woba": 0.29,
        "xwoba": 0.289,
        "sweet_spot_percent": 35.4,
        "barrel_batted_rate": 2.1,
        "hard_hit_percent": 37.5,
        "avg_best_speed": 79.277,
        "avg_hyper_speed": 93.7651,
        "whiff_percent": 28.9,
        "swing_percent": 46.3
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": 0.4989,
        "command_and_miss": 0.3107,
        "regression_edge": 0.0286,
        "xwoba_edge": 0.6571,
        "barrel_edge": 1.1333,
        "hard_hit_edge": 0.1714,
        "whiff_edge": 0.4571,
        "bb_edge": -0.5,
        "pitch_design_score": 0.1203
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "677955",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 14,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 14,
          "pitch_usage": 0.0,
          "release_speed": 91.83260025253159,
          "release_spin_rate": 2263.0417109838395,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 14,
            "pitch_usage": 0.0,
            "release_speed": 91.83260025253159,
            "release_spin_rate": 2263.0417109838395,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.8326,
          "release_spin_rate": 2263.0417,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.1203,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.8596,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.1677,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9857,
      "strikeout_factor": 1.0183,
      "walk_factor": 1.018,
      "homer_factor": 0.9472,
      "woba_minus_xwoba": 0.001,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "677955",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9936,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9936,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0081,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9762,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0082,
        "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": 4,
    "H": 11,
    "BB": 2,
    "SO": 10,
    "HR": 0,
    "ERA": 4.0,
    "WHIP": 1.4444444444444444,
    "K9": 10.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-05-20T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "677955",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 14,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 14,
    "pitch_usage": 0.0,
    "release_speed": 91.83260025253159,
    "release_spin_rate": 2263.0417109838395,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 14,
      "pitch_usage": 0.0,
      "release_speed": 91.83260025253159,
      "release_spin_rate": 2263.0417109838395,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.8326,
    "release_spin_rate": 2263.0417,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1203,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.8596,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 3.764,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4295,
    "prior_weight": 0.5705
  },
  "role": "pitcher",
  "player_id": "677955",
  "report_date": "20260521_C",
  "season_year": 2026,
  "rows_used": 21,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.1,
        "ER": 0.0,
        "R": 0.0,
        "H": 2.0,
        "BB": 0.0,
        "SO": 6.0,
        "HR": 0.0,
        "BF": 18.0,
        "Pitches": 73.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.4,
        "BB": 0.0,
        "SO": 1.2,
        "HR": 0.0,
        "BF": 3.6,
        "Pitches": 14.6
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.375,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.375,
        "BB_per_IP": 0.0,
        "SO_per_IP": 1.125,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.0,
        "ER": 4.0,
        "R": 4.0,
        "H": 11.0,
        "BB": 2.0,
        "SO": 10.0,
        "HR": 0.0,
        "BF": 40.0,
        "Pitches": 156.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.4,
        "H": 1.1,
        "BB": 0.2,
        "SO": 1.0,
        "HR": 0.0,
        "BF": 4.0,
        "Pitches": 15.6
      },
      "rates": {
        "ERA": 4.0,
        "WHIP": 1.4444,
        "ER_per_IP": 0.44444,
        "H_per_IP": 1.22222,
        "BB_per_IP": 0.22222,
        "SO_per_IP": 1.11111,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 21,
      "totals": {
        "IP": 19.0,
        "ER": 6.0,
        "R": 6.0,
        "H": 17.0,
        "BB": 9.0,
        "SO": 21.0,
        "HR": 1.0,
        "BF": 84.0,
        "Pitches": 324.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2857,
        "R": 0.2857,
        "H": 0.8095,
        "BB": 0.4286,
        "SO": 1.0,
        "HR": 0.0476,
        "BF": 4.0,
        "Pitches": 15.4286
      },
      "rates": {
        "ERA": 2.8421,
        "WHIP": 1.3684,
        "ER_per_IP": 0.31579,
        "H_per_IP": 0.89474,
        "BB_per_IP": 0.47368,
        "SO_per_IP": 1.10526,
        "HR_per_IP": 0.05263
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.363,
    "predicted_H": 0.87,
    "predicted_BB": 0.289,
    "predicted_SO": 1.022,
    "predicted_HR": 0.079,
    "predicted_ERA": 3.2637,
    "predicted_WHIP": 1.1587
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.591,
  "form_weight": 0.409,
  "form_reliability": 0.4295,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 3.764,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4295,
    "prior_weight": 0.5705
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.363,
      "final": 0.1485,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.87,
      "final": 0.3558,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.289,
      "final": 0.1182,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.022,
      "final": 1.009,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.079,
      "final": 0.0323,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.2637,
      "final": 3.2637,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1587,
      "final": 1.1587,
      "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
PitcherJuan Mejia
RoleMiddle Reliever
Projection Source-
Savant Quality Score0.1690
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.1060
Avg Velo91.5768
Avg Spin2607.0948
HB Inches0
IVB Inches0
Release Extension0
Pre IP0.2000
Pre ER0
Pre H0
Pre BB0
Pre SO0
Season ERA3.8028
Season WHIP1.4789
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "COL",
    "games": 59,
    "wins": 23,
    "losses": 36,
    "win_pct": 0.3898,
    "runs_scored": 263.0,
    "runs_allowed": 314.0,
    "run_differential": -51.0,
    "run_differential_per_game": -0.8644,
    "avg_runs_scored": 4.4576,
    "avg_runs_allowed": 5.322,
    "offense_index": 0.9977,
    "defense_index": 0.8396,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 3.5,
      "avg_runs_allowed": 6.0,
      "run_differential": -25.0
    },
    "available": true,
    "quality_score": -0.2701
  },
  "opponent": {
    "team": "ARI",
    "games": 55,
    "wins": 29,
    "losses": 26,
    "win_pct": 0.5273,
    "runs_scored": 268.0,
    "runs_allowed": 262.0,
    "run_differential": 6.0,
    "run_differential_per_game": 0.1091,
    "avg_runs_scored": 4.8727,
    "avg_runs_allowed": 4.7636,
    "offense_index": 1.0906,
    "defense_index": 0.938,
    "current_streak": "W4",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 5.7,
      "avg_runs_allowed": 3.3,
      "run_differential": 24.0
    },
    "available": true,
    "quality_score": 0.1066
  },
  "edges": {
    "quality_edge": -0.3767,
    "offense_edge": -0.0023,
    "opponent_offense_edge": 0.0906,
    "defense_strength": -0.1604,
    "opponent_defense_weakness": 0.062,
    "recent_win_pct_edge": -0.4
  },
  "player_factors": {
    "ip": 0.9765,
    "run_prevention": 1.0494,
    "strikeout": 0.9815
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "675848",
    "profile": {
      "available": true,
      "pitcher_id": "675848",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 99.0,
        "k_percent": 26.7,
        "bb_percent": 10.9,
        "woba": 0.308,
        "xwoba": 0.292,
        "sweet_spot_percent": 33.9,
        "barrel_batted_rate": 3.2,
        "hard_hit_percent": 37.1,
        "avg_best_speed": 79.1267,
        "avg_hyper_speed": 94.2668,
        "whiff_percent": 31.2,
        "swing_percent": 47.8
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": 0.3614,
        "command_and_miss": 0.4571,
        "regression_edge": 0.4571,
        "xwoba_edge": 0.5714,
        "barrel_edge": 0.8889,
        "hard_hit_edge": 0.2286,
        "whiff_edge": 0.7857,
        "bb_edge": -0.375,
        "pitch_design_score": 0.106
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "675848",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 19,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 19,
          "pitch_usage": 0.0,
          "release_speed": 91.57678804006758,
          "release_spin_rate": 2607.0948130758065,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 19,
            "pitch_usage": 0.0,
            "release_speed": 91.57678804006758,
            "release_spin_rate": 2607.0948130758065,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.5768,
          "release_spin_rate": 2607.0948,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.106,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.7573,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.169,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9856,
      "strikeout_factor": 1.0244,
      "walk_factor": 1.0135,
      "homer_factor": 0.9562,
      "woba_minus_xwoba": 0.016,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "675848",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9935,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9935,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0061,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9803,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.011,
        "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.0,
    "ER": 2,
    "H": 6,
    "BB": 6,
    "SO": 17,
    "HR": 1,
    "ERA": 1.5,
    "WHIP": 1.0,
    "K9": 12.75,
    "HR9": 0.75,
    "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-05-20T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "675848",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 19,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 19,
    "pitch_usage": 0.0,
    "release_speed": 91.57678804006758,
    "release_spin_rate": 2607.0948130758065,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 19,
      "pitch_usage": 0.0,
      "release_speed": 91.57678804006758,
      "release_spin_rate": 2607.0948130758065,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.5768,
    "release_spin_rate": 2607.0948,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.106,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.7573,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.689,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4839,
    "prior_weight": 0.5161
  },
  "role": "pitcher",
  "player_id": "675848",
  "report_date": "20260521_C",
  "season_year": 2026,
  "rows_used": 20,
  "reference_playing_time": 0.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.1,
        "ER": 0.0,
        "R": 0.0,
        "H": 3.0,
        "BB": 2.0,
        "SO": 4.0,
        "HR": 0.0,
        "BF": 21.0,
        "Pitches": 90.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.6,
        "BB": 0.4,
        "SO": 0.8,
        "HR": 0.0,
        "BF": 4.2,
        "Pitches": 18.0
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.9375,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.5625,
        "BB_per_IP": 0.375,
        "SO_per_IP": 0.75,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 12.0,
        "ER": 2.0,
        "R": 2.0,
        "H": 6.0,
        "BB": 6.0,
        "SO": 17.0,
        "HR": 1.0,
        "BF": 48.0,
        "Pitches": 199.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.6,
        "BB": 0.6,
        "SO": 1.7,
        "HR": 0.1,
        "BF": 4.8,
        "Pitches": 19.9
      },
      "rates": {
        "ERA": 1.5,
        "WHIP": 1.0,
        "ER_per_IP": 0.16667,
        "H_per_IP": 0.5,
        "BB_per_IP": 0.5,
        "SO_per_IP": 1.41667,
        "HR_per_IP": 0.08333
      }
    },
    "season": {
      "games": 20,
      "totals": {
        "IP": 23.2,
        "ER": 10.0,
        "R": 10.0,
        "H": 24.0,
        "BB": 11.0,
        "SO": 28.0,
        "HR": 2.0,
        "BF": 104.0,
        "Pitches": 441.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.5,
        "R": 0.5,
        "H": 1.2,
        "BB": 0.55,
        "SO": 1.4,
        "HR": 0.1,
        "BF": 5.2,
        "Pitches": 22.05
      },
      "rates": {
        "ERA": 3.8028,
        "WHIP": 1.4789,
        "ER_per_IP": 0.42254,
        "H_per_IP": 1.01408,
        "BB_per_IP": 0.46479,
        "SO_per_IP": 1.1831,
        "HR_per_IP": 0.08451
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.286,
    "predicted_H": 0.725,
    "predicted_BB": 0.372,
    "predicted_SO": 0.925,
    "predicted_HR": 0.082,
    "predicted_ERA": 2.8097,
    "predicted_WHIP": 1.1965
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5681,
  "form_weight": 0.4319,
  "form_reliability": 0.4839,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.689,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4839,
    "prior_weight": 0.5161
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.2,
      "form": 1.0,
      "final": 0.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.286,
      "final": 0.1235,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.725,
      "final": 0.3132,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.372,
      "final": 0.1607,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 0.925,
      "final": 0.3996,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.082,
      "final": 0.0354,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.8097,
      "final": 2.8097,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1965,
      "final": 1.1965,
      "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
PitcherSeth Halvorsen
RoleMiddle Reliever
Projection Source-
Savant Quality Score-0.3200
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.2681
Avg Velo94.4714
Avg Spin2354.0494
HB Inches0
IVB Inches0
Release Extension0
Pre IP0.2000
Pre ER0
Pre H1
Pre BB1
Pre SO0
Season ERA2.5714
Season WHIP1.7143
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "COL",
    "games": 59,
    "wins": 23,
    "losses": 36,
    "win_pct": 0.3898,
    "runs_scored": 263.0,
    "runs_allowed": 314.0,
    "run_differential": -51.0,
    "run_differential_per_game": -0.8644,
    "avg_runs_scored": 4.4576,
    "avg_runs_allowed": 5.322,
    "offense_index": 0.9977,
    "defense_index": 0.8396,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 3.5,
      "avg_runs_allowed": 6.0,
      "run_differential": -25.0
    },
    "available": true,
    "quality_score": -0.2701
  },
  "opponent": {
    "team": "ARI",
    "games": 55,
    "wins": 29,
    "losses": 26,
    "win_pct": 0.5273,
    "runs_scored": 268.0,
    "runs_allowed": 262.0,
    "run_differential": 6.0,
    "run_differential_per_game": 0.1091,
    "avg_runs_scored": 4.8727,
    "avg_runs_allowed": 4.7636,
    "offense_index": 1.0906,
    "defense_index": 0.938,
    "current_streak": "W4",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 5.7,
      "avg_runs_allowed": 3.3,
      "run_differential": 24.0
    },
    "available": true,
    "quality_score": 0.1066
  },
  "edges": {
    "quality_edge": -0.3767,
    "offense_edge": -0.0023,
    "opponent_offense_edge": 0.0906,
    "defense_strength": -0.1604,
    "opponent_defense_weakness": 0.062,
    "recent_win_pct_edge": -0.4
  },
  "player_factors": {
    "ip": 0.9765,
    "run_prevention": 1.0494,
    "strikeout": 0.9815
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "678020",
    "profile": {
      "available": true,
      "pitcher_id": "678020",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 26.0,
        "k_percent": 18.2,
        "bb_percent": 18.2,
        "woba": 0.315,
        "xwoba": 0.36,
        "sweet_spot_percent": 38.1,
        "barrel_batted_rate": 0.0,
        "hard_hit_percent": 42.9,
        "avg_best_speed": 83.8564,
        "avg_hyper_speed": 95.0466,
        "whiff_percent": 19.0,
        "swing_percent": 43.9
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": -0.5846,
        "command_and_miss": -1.0643,
        "regression_edge": -1.2857,
        "xwoba_edge": -1.3714,
        "barrel_edge": 1.6,
        "hard_hit_edge": -0.6,
        "whiff_edge": -0.9571,
        "bb_edge": -2.2,
        "pitch_design_score": 0.2681
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "678020",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 17,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 17,
          "pitch_usage": 0.0,
          "release_speed": 94.47143897622846,
          "release_spin_rate": 2354.0493814080655,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 17,
            "pitch_usage": 0.0,
            "release_speed": 94.47143897622846,
            "release_spin_rate": 2354.0493814080655,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.4714,
          "release_spin_rate": 2354.0494,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.2681,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.9152,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.32,
      "sample_weight": 0.45,
      "run_prevention_factor": 1.0272,
      "strikeout_factor": 0.9712,
      "walk_factor": 1.0792,
      "homer_factor": 0.9717,
      "woba_minus_xwoba": -0.045,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "678020",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 1.0122,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 1.0122,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0356,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9873,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 0.987,
        "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.0,
    "ER": 2,
    "H": 6,
    "BB": 6,
    "SO": 6,
    "HR": 0,
    "ERA": 2.5714285714285716,
    "WHIP": 1.7142857142857142,
    "K9": 7.714285714285714,
    "HR9": 0.0,
    "games_pitched": 7,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": true
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 7,
    "error_prone": false
  },
  "games_count": 7,
  "latest_game_date": "2026-05-19T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "678020",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 17,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 17,
    "pitch_usage": 0.0,
    "release_speed": 94.47143897622846,
    "release_spin_rate": 2354.0493814080655,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 17,
      "pitch_usage": 0.0,
      "release_speed": 94.47143897622846,
      "release_spin_rate": 2354.0493814080655,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.4714,
    "release_spin_rate": 2354.0494,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.2681,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.9152,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.7627118644067797,
    "last_10": 0.23728813559322032
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 1.387,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.2171,
    "prior_weight": 0.7829
  },
  "role": "pitcher",
  "player_id": "678020",
  "report_date": "20260521_C",
  "season_year": 2026,
  "rows_used": 7,
  "reference_playing_time": 0.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.0,
        "ER": 2.0,
        "R": 2.0,
        "H": 6.0,
        "BB": 4.0,
        "SO": 4.0,
        "HR": 0.0,
        "BF": 25.0,
        "Pitches": 98.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.4,
        "H": 1.2,
        "BB": 0.8,
        "SO": 0.8,
        "HR": 0.0,
        "BF": 5.0,
        "Pitches": 19.6
      },
      "rates": {
        "ERA": 3.6,
        "WHIP": 2.0,
        "ER_per_IP": 0.4,
        "H_per_IP": 1.2,
        "BB_per_IP": 0.8,
        "SO_per_IP": 0.8,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 7,
      "totals": {
        "IP": 7.0,
        "ER": 2.0,
        "R": 2.0,
        "H": 6.0,
        "BB": 6.0,
        "SO": 6.0,
        "HR": 0.0,
        "BF": 33.0,
        "Pitches": 132.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2857,
        "R": 0.2857,
        "H": 0.8571,
        "BB": 0.8571,
        "SO": 0.8571,
        "HR": 0.0,
        "BF": 4.7143,
        "Pitches": 18.8571
      },
      "rates": {
        "ERA": 2.5714,
        "WHIP": 1.7143,
        "ER_per_IP": 0.28571,
        "H_per_IP": 0.85714,
        "BB_per_IP": 0.85714,
        "SO_per_IP": 0.85714,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 7,
      "totals": {
        "IP": 7.0,
        "ER": 2.0,
        "R": 2.0,
        "H": 6.0,
        "BB": 6.0,
        "SO": 6.0,
        "HR": 0.0,
        "BF": 33.0,
        "Pitches": 132.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2857,
        "R": 0.2857,
        "H": 0.8571,
        "BB": 0.8571,
        "SO": 0.8571,
        "HR": 0.0,
        "BF": 4.7143,
        "Pitches": 18.8571
      },
      "rates": {
        "ERA": 2.5714,
        "WHIP": 1.7143,
        "ER_per_IP": 0.28571,
        "H_per_IP": 0.85714,
        "BB_per_IP": 0.85714,
        "SO_per_IP": 0.85714,
        "HR_per_IP": 0.0
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 0.2,
    "predicted_ER": 0.332,
    "predicted_H": 0.724,
    "predicted_BB": 0.348,
    "predicted_SO": 0.681,
    "predicted_HR": 0.075,
    "predicted_ERA": 4.0471,
    "predicted_WHIP": 1.4509
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.6808,
  "form_weight": 0.3192,
  "form_reliability": 0.2171,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 1.387,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.2171,
    "prior_weight": 0.7829
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.2,
      "form": 0.2,
      "final": 0.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.332,
      "final": 0.106,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.724,
      "final": 0.9119,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.348,
      "final": 0.7919,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 0.681,
      "final": 0.2174,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.075,
      "final": 0.0239,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.0471,
      "final": 4.0471,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.4509,
      "final": 1.4509,
      "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
PitcherBrennan Bernardino
RoleMiddle Reliever
Projection Source-
Savant Quality Score0.1510
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.2483
Avg Velo85.2490
Avg Spin2246.6412
HB Inches0
IVB Inches0
Release Extension0
Pre IP0
Pre ER0
Pre H0
Pre BB0
Pre SO0
Season ERA3.8571
Season WHIP1.3393
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "COL",
    "games": 59,
    "wins": 23,
    "losses": 36,
    "win_pct": 0.3898,
    "runs_scored": 263.0,
    "runs_allowed": 314.0,
    "run_differential": -51.0,
    "run_differential_per_game": -0.8644,
    "avg_runs_scored": 4.4576,
    "avg_runs_allowed": 5.322,
    "offense_index": 0.9977,
    "defense_index": 0.8396,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 3.5,
      "avg_runs_allowed": 6.0,
      "run_differential": -25.0
    },
    "available": true,
    "quality_score": -0.2701
  },
  "opponent": {
    "team": "ARI",
    "games": 55,
    "wins": 29,
    "losses": 26,
    "win_pct": 0.5273,
    "runs_scored": 268.0,
    "runs_allowed": 262.0,
    "run_differential": 6.0,
    "run_differential_per_game": 0.1091,
    "avg_runs_scored": 4.8727,
    "avg_runs_allowed": 4.7636,
    "offense_index": 1.0906,
    "defense_index": 0.938,
    "current_streak": "W4",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 5.7,
      "avg_runs_allowed": 3.3,
      "run_differential": 24.0
    },
    "available": true,
    "quality_score": 0.1066
  },
  "edges": {
    "quality_edge": -0.3767,
    "offense_edge": -0.0023,
    "opponent_offense_edge": 0.0906,
    "defense_strength": -0.1604,
    "opponent_defense_weakness": 0.062,
    "recent_win_pct_edge": -0.4
  },
  "player_factors": {
    "ip": 0.9765,
    "run_prevention": 1.0494,
    "strikeout": 0.9815
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "657514",
    "profile": {
      "available": true,
      "pitcher_id": "657514",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 74.0,
        "k_percent": 17.1,
        "bb_percent": 6.6,
        "woba": 0.305,
        "xwoba": 0.293,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 3.6,
        "hard_hit_percent": 22.8,
        "avg_best_speed": 70.4426,
        "avg_hyper_speed": 91.4094,
        "whiff_percent": 21.9,
        "swing_percent": 50.5
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": 0.764,
        "command_and_miss": -0.41,
        "regression_edge": 0.3429,
        "xwoba_edge": 0.5429,
        "barrel_edge": 0.8,
        "hard_hit_edge": 2.2714,
        "whiff_edge": -0.5429,
        "bb_edge": 0.7,
        "pitch_design_score": -0.2483
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "657514",
        "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": 85.24896867222954,
          "release_spin_rate": 2246.6412215918426,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 85.24896867222954,
            "release_spin_rate": 2246.6412215918426,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 85.249,
          "release_spin_rate": 2246.6412,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.2483,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -1.7738,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.151,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9872,
      "strikeout_factor": 0.9758,
      "walk_factor": 0.9748,
      "homer_factor": 0.923,
      "woba_minus_xwoba": 0.012,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "657514",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9942,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9942,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9887,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9654,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 0.0,
        "factor": 0.9891,
        "adjusted": 0
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 8.1,
    "ER": 7,
    "H": 11,
    "BB": 2,
    "SO": 4,
    "HR": 1,
    "ERA": 7.560000000000001,
    "WHIP": 1.5600000000000003,
    "K9": 4.32,
    "HR9": 1.08,
    "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-05-20T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "657514",
  "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": 85.24896867222954,
    "release_spin_rate": 2246.6412215918426,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 85.24896867222954,
      "release_spin_rate": 2246.6412215918426,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 85.249,
    "release_spin_rate": 2246.6412,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.2483,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -1.7738,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 3.698,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4252,
    "prior_weight": 0.5748
  },
  "role": "pitcher",
  "player_id": "657514",
  "report_date": "20260521_C",
  "season_year": 2026,
  "rows_used": 22,
  "reference_playing_time": 0.1,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.0,
        "ER": 5.0,
        "R": 7.0,
        "H": 7.0,
        "BB": 2.0,
        "SO": 2.0,
        "HR": 0.0,
        "BF": 22.0,
        "Pitches": 70.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 1.0,
        "R": 1.4,
        "H": 1.4,
        "BB": 0.4,
        "SO": 0.4,
        "HR": 0.0,
        "BF": 4.4,
        "Pitches": 14.0
      },
      "rates": {
        "ERA": 11.25,
        "WHIP": 2.25,
        "ER_per_IP": 1.25,
        "H_per_IP": 1.75,
        "BB_per_IP": 0.5,
        "SO_per_IP": 0.5,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 8.1,
        "ER": 7.0,
        "R": 9.0,
        "H": 11.0,
        "BB": 2.0,
        "SO": 4.0,
        "HR": 1.0,
        "BF": 38.0,
        "Pitches": 134.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.7,
        "R": 0.9,
        "H": 1.1,
        "BB": 0.2,
        "SO": 0.4,
        "HR": 0.1,
        "BF": 3.8,
        "Pitches": 13.4
      },
      "rates": {
        "ERA": 7.56,
        "WHIP": 1.56,
        "ER_per_IP": 0.84,
        "H_per_IP": 1.32,
        "BB_per_IP": 0.24,
        "SO_per_IP": 0.48,
        "HR_per_IP": 0.12
      }
    },
    "season": {
      "games": 22,
      "totals": {
        "IP": 18.2,
        "ER": 8.0,
        "R": 11.0,
        "H": 20.0,
        "BB": 5.0,
        "SO": 14.0,
        "HR": 1.0,
        "BF": 80.0,
        "Pitches": 303.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3636,
        "R": 0.5,
        "H": 0.9091,
        "BB": 0.2273,
        "SO": 0.6364,
        "HR": 0.0455,
        "BF": 3.6364,
        "Pitches": 13.7727
      },
      "rates": {
        "ERA": 3.8571,
        "WHIP": 1.3393,
        "ER_per_IP": 0.42857,
        "H_per_IP": 1.07143,
        "BB_per_IP": 0.26786,
        "SO_per_IP": 0.75,
        "HR_per_IP": 0.05357
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 0.2,
    "predicted_ER": 0.338,
    "predicted_H": 0.586,
    "predicted_BB": 0.186,
    "predicted_SO": 0.392,
    "predicted_HR": 0.049,
    "predicted_ERA": 6.0421,
    "predicted_WHIP": 1.5338
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5929,
  "form_weight": 0.4071,
  "form_reliability": 0.4252,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 3.698,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4252,
    "prior_weight": 0.5748
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.1,
      "form": 0.2,
      "final": 0.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.338,
      "final": 0.1376,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.586,
      "final": 0.2386,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.186,
      "final": 0.0757,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 0.392,
      "final": 1.3453,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.049,
      "final": 0.02,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 6.0421,
      "final": 6.0421,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.5338,
      "final": 1.5338,
      "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."
}
Willi Castro (650489) · BATTER · 1B · Team COL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 152
All-history rows before 20260521: 152
System season_avg: 0.2410
Data season_avg (2026 season-to-date): 0.2414
Diff (system - data): -0.0004
System opponent_avg: 0.1690

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2050.0000.000Hitting_2B0.2040.000-0.2040.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.6804.0007.000Hitting_AB3.6511.0000.3493.000
predicted_AVG0.2340.0000.286Hitting_AVG0.2410.000-0.2410.000
predicted_BB0.2850.0001.000Hitting_BB0.2830.000-0.2830.000
predicted_CS-0.0000.000BaseRunning_CS0.0460.000-0.0460.000
predicted_H0.8600.0002.000Hitting_H0.8820.000-0.8820.000
predicted_HR0.0700.0000.000Hitting_HR0.0530.000-0.0530.000
predicted_OBP0.2980.0000.375Hitting_OBP0.2960.000-0.2960.000
predicted_R0.5960.0001.000Hitting_R0.5920.000-0.5920.000
predicted_RBI0.4400.0001.000Hitting_RBI0.4140.000-0.4140.000
predicted_SLG0.3710.0000.286Hitting_SLG0.3410.000-0.3410.000
predicted_SO1.3111.0002.000Hitting_SO1.3031.000-0.3030.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.6800 -> 4.0000 (boost 0.3200, better)
Biggest Deboostpredicted_H: 0.8600 -> 0.0000 (deboost -0.8600, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend97263predicted_AB: 3.6800 -> 7.3407 (boost 3.6607, better)predicted_SLG: 0.3710 -> 0.3539 (deboost -0.0171, worse)Final model 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.3539 -> 0.3304 (deboost -0.0235, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling73443predicted_H: 1.6153 -> 2.0000 (boost 0.3847, better)predicted_SO: 2.6048 -> 2.0000 (deboost -0.6048, better)AB rounded to 7 (raw=7.34), rates preserved: AVG=0.220 HR/AB=0.014
5consistency_constraints00000--Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context32121predicted_OBP: 0.2886 -> 0.3750 (boost 0.0864, better)predicted_SLG: 0.3304 -> 0.2860 (deboost -0.0444, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference60615-predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final31212predicted_SLG: 0.2860 -> 0.3304 (boost 0.0444, better)predicted_OBP: 0.3750 -> 0.2886 (deboost -0.0864, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "650489",
  "player_name": "Willi Castro",
  "position": "1B",
  "team": "COL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.205,
        "predicted_3B": 0.0,
        "predicted_AB": 3.68,
        "predicted_AVG": 0.234,
        "predicted_BB": 0.285,
        "predicted_H": 0.86,
        "predicted_HR": 0.07,
        "predicted_OBP": 0.298,
        "predicted_R": 0.596,
        "predicted_RBI": 0.44,
        "predicted_SLG": 0.371,
        "predicted_SO": 1.311
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.4977,
        "predicted_3B": 0.0009,
        "predicted_AB": 7.3407,
        "predicted_AVG": 0.2286,
        "predicted_BB": 0.7155,
        "predicted_H": 1.6521,
        "predicted_HBP": 0.038,
        "predicted_HR": 0.1049,
        "predicted_OBP": 0.2974,
        "predicted_R": 1.0762,
        "predicted_RBI": 0.8295,
        "predicted_SLG": 0.3539,
        "predicted_SO": 2.5754
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.205,
          "after": 0.4977,
          "delta": 0.2927,
          "percent_delta": 1.4278,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.68,
          "after": 7.3407,
          "delta": 3.6607,
          "percent_delta": 0.9948,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.234,
          "after": 0.2286,
          "delta": -0.0054,
          "percent_delta": -0.0231,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.285,
          "after": 0.7155,
          "delta": 0.4305,
          "percent_delta": 1.5105,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.86,
          "after": 1.6521,
          "delta": 0.7921,
          "percent_delta": 0.921,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.07,
          "after": 0.1049,
          "delta": 0.0349,
          "percent_delta": 0.4986,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.298,
          "after": 0.2974,
          "delta": -0.0006,
          "percent_delta": -0.002,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.596,
          "after": 1.0762,
          "delta": 0.4802,
          "percent_delta": 0.8057,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.44,
          "after": 0.8295,
          "delta": 0.3895,
          "percent_delta": 0.8852,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.371,
          "after": 0.3539,
          "delta": -0.0171,
          "percent_delta": -0.0461,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.311,
          "after": 2.5754,
          "delta": 1.2644,
          "percent_delta": 0.9645,
          "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_AB",
          "before": 3.68,
          "after": 7.3407,
          "delta": 3.6607,
          "percent_delta": 0.9948,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.371,
          "after": 0.3539,
          "delta": -0.0171,
          "percent_delta": -0.0461,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 2,
        "last_10": 4,
        "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.4977,
        "predicted_3B": 0.0009,
        "predicted_AB": 7.3407,
        "predicted_AVG": 0.22,
        "predicted_BB": 0.7073,
        "predicted_H": 1.6153,
        "predicted_HBP": 0.038,
        "predicted_HR": 0.1035,
        "predicted_OBP": 0.2886,
        "predicted_R": 1.0298,
        "predicted_RBI": 0.7937,
        "predicted_SLG": 0.3304,
        "predicted_SO": 2.6048
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.4977,
          "after": 0.4977,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.3407,
          "after": 7.3407,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2286,
          "after": 0.22,
          "delta": -0.0086,
          "percent_delta": -0.0376,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.7155,
          "after": 0.7073,
          "delta": -0.0082,
          "percent_delta": -0.0115,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.6521,
          "after": 1.6153,
          "delta": -0.0368,
          "percent_delta": -0.0223,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.038,
          "after": 0.038,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1049,
          "after": 0.1035,
          "delta": -0.0014,
          "percent_delta": -0.0133,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2974,
          "after": 0.2886,
          "delta": -0.0088,
          "percent_delta": -0.0296,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0762,
          "after": 1.0298,
          "delta": -0.0464,
          "percent_delta": -0.0431,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.8295,
          "after": 0.7937,
          "delta": -0.0358,
          "percent_delta": -0.0432,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3539,
          "after": 0.3304,
          "delta": -0.0235,
          "percent_delta": -0.0664,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.5754,
          "after": 2.6048,
          "delta": 0.0294,
          "percent_delta": 0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.3539,
          "after": 0.3304,
          "delta": -0.0235,
          "percent_delta": -0.0664,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 7 (raw=7.34), rates preserved: AVG=0.220 HR/AB=0.014",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.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.4977,
          "after": 0.0,
          "delta": -0.4977,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.3407,
          "after": 7.0,
          "delta": -0.3407,
          "percent_delta": -0.0464,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.7073,
          "after": 1.0,
          "delta": 0.2927,
          "percent_delta": 0.4138,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.6153,
          "after": 2.0,
          "delta": 0.3847,
          "percent_delta": 0.2382,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.038,
          "after": 0.0,
          "delta": -0.038,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1035,
          "after": 0.0,
          "delta": -0.1035,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7937,
          "after": 1.0,
          "delta": 0.2063,
          "percent_delta": 0.2599,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.6048,
          "after": 2.0,
          "delta": -0.6048,
          "percent_delta": -0.2322,
          "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_H",
          "before": 1.6153,
          "after": 2.0,
          "delta": 0.3847,
          "percent_delta": 0.2382,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 2.6048,
          "after": 2.0,
          "delta": -0.6048,
          "percent_delta": -0.2322,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.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": 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": 7.0,
          "after": 7.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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0298,
          "after": 1.0,
          "delta": -0.0298,
          "percent_delta": -0.0289,
          "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_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.0,
        "predicted_AVG": 0.286,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.375,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.286,
        "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": 7.0,
          "after": 7.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.22,
          "after": 0.286,
          "delta": 0.066,
          "percent_delta": 0.3,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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.2886,
          "after": 0.375,
          "delta": 0.0864,
          "percent_delta": 0.2994,
          "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.3304,
          "after": 0.286,
          "delta": -0.0444,
          "percent_delta": -0.1344,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.2886,
          "after": 0.375,
          "delta": 0.0864,
          "percent_delta": 0.2994,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3304,
          "after": 0.286,
          "delta": -0.0444,
          "percent_delta": -0.1344,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.0,
          "after": 4.0,
          "delta": -3.0,
          "percent_delta": -0.4286,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.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": 6,
        "boosted_metrics": 0,
        "deboosted_metrics": 6,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 7.0,
          "after": 4.0,
          "delta": -3.0,
          "percent_delta": -0.4286,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.22,
        "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.2886,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3304,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.286,
          "after": 0.22,
          "delta": -0.066,
          "percent_delta": -0.2306,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.375,
          "after": 0.2886,
          "delta": -0.0864,
          "percent_delta": -0.2304,
          "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.286,
          "after": 0.3304,
          "delta": 0.0444,
          "percent_delta": 0.1553,
          "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.286,
          "after": 0.3304,
          "delta": 0.0444,
          "percent_delta": 0.1553,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.375,
          "after": 0.2886,
          "delta": -0.0864,
          "percent_delta": -0.2304,
          "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.205,
        "after": 0.0,
        "delta": -0.205,
        "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.68,
        "after": 4.0,
        "delta": 0.32,
        "percent_delta": 0.087,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.234,
        "after": 0.22,
        "delta": -0.014,
        "percent_delta": -0.0598,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.285,
        "after": 0.0,
        "delta": -0.285,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.86,
        "after": 0.0,
        "delta": -0.86,
        "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.298,
        "after": 0.2886,
        "delta": -0.0094,
        "percent_delta": -0.0315,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.596,
        "after": 0.0,
        "delta": -0.596,
        "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.371,
        "after": 0.3304,
        "delta": -0.0406,
        "percent_delta": -0.1094,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.311,
        "after": 1.0,
        "delta": -0.311,
        "percent_delta": -0.2372,
        "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.68,
        "after": 4.0,
        "delta": 0.32,
        "percent_delta": 0.087,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.86,
        "after": 0.0,
        "delta": -0.86,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

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.205-
predicted_3B0.000-
predicted_AB3.680-
predicted_AVG0.234-
predicted_BB0.285-
predicted_H0.860-
predicted_HR0.070-
predicted_OBP0.298-
predicted_R0.596-
predicted_RBI0.440-
predicted_SLG0.371-
predicted_SO1.311-
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.4980.293
predicted_3B0.0010.001
predicted_AB7.3413.661
predicted_AVG0.229-0.005
predicted_BB0.7160.431
predicted_H1.6520.792
predicted_HBP0.038-
predicted_HR0.1050.035
predicted_OBP0.297-0.001
predicted_R1.0760.480
predicted_RBI0.8300.390
predicted_SLG0.354-0.017
predicted_SO2.5751.264
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.4980.000
predicted_3B0.0010.000
predicted_AB7.3410.000
predicted_AVG0.220-0.009
predicted_BB0.707-0.008
predicted_H1.615-0.037
predicted_HBP0.0380.000
predicted_HR0.103-0.001
predicted_OBP0.289-0.009
predicted_R1.030-0.046
predicted_RBI0.794-0.036
predicted_SLG0.330-0.023
predicted_SO2.6050.029
4. ab_floor_and_scaling

AB rounded to 7 (raw=7.34), rates preserved: AVG=0.220 HR/AB=0.014

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB7.000-
BB1.000-
H2.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO2.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB7.0000.000
BB1.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
6. 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.498
predicted_3B0.000-0.001
predicted_AB7.000-0.341
predicted_AVG0.2860.066
predicted_BB1.0000.293
predicted_H2.0000.385
predicted_HR0.000-0.103
predicted_OBP0.3750.086
predicted_R1.000-0.030
predicted_RBI1.0000.206
predicted_SLG0.286-0.044
predicted_SO2.000-0.605
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.000-3.000
BB0.000-1.000
CS0.0000.000
H0.000-2.000
HBP0.0000.000
HR0.0000.000
PA4.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: 151
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-13.0000.0000.0000.0000.0000.0000.0004.0005.0000.00000.23530.00000.00000.00000.00000.30770.3846
last_100.204-32.0009.0009.0000.0000.0006.0004.0004.00010.0000.28120.35140.56250.28120.00000.18750.12500.3125
season0.6040-555.000134.00031.0000.0008.00063.00090.00043.000198.0000.24140.29640.34050.24140.01440.11350.07750.3568
Weighted Prediction From Real Data
MetricValue
predicted_2B0.8760
predicted_3B0.0020
predicted_AB12.0730
predicted_AVG0.2216
predicted_BB1.2720
predicted_H2.6760
predicted_HBP0.0380
predicted_HR0.1500
predicted_OBP0.2966
predicted_R1.6970
predicted_RBI1.3330
predicted_SLG0.3318
predicted_SO4.2100
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.20500.87600.4977model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB3.680012.07307.3407model_form_blend
predicted_AVG0.23400.22160.2286model_form_blend
predicted_BB0.28501.27200.7155model_form_blend
predicted_H0.86002.67601.6521model_form_blend
predicted_HBP-0.03800.0380form_only
predicted_HR0.07000.15000.1049model_form_blend
predicted_OBP0.29800.29660.2974model_form_blend
predicted_R0.59601.69701.0762model_form_blend
predicted_RBI0.44001.33300.8295model_form_blend
predicted_SLG0.37100.33180.3539model_form_blend
predicted_SO1.31104.21002.5754model_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 date152
Season rows before report date152
Report year2026
Profile rows used151
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.241

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB1
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder7
Hitting_substitutionOrder1
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed2B
gameID20260520_TEX@COL
game_typeshort
mlbID650489
playerID650489
playerNameWilli Castro
pos2B
startedFalse
startingPosition2B
teamCOL
teamID9
game_date2026-05-20
sl_k_percent31.3
sl_bb_percent7.5
sl_woba0.29
sl_xwoba0.272
sl_xba0.209
sl_xslg0.338
sl_sweet_spot_percent28.1
sl_barrel_batted_rate5.6
sl_hard_hit_percent46.1
sl_exit_velocity_avg89.5
sl_launch_angle_avg17.6
sl_whiff_percent31.0
sl_swing_percent55.9
Hunter Goodman (696100) · BATTER · C · Team COL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 185
All-history rows before 20260521: 185
System season_avg: 0.2460
Data season_avg (2026 season-to-date): 0.2463
Diff (system - data): -0.0003
System opponent_avg: 0.1230

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1950.0000.000Hitting_2B0.1950.000-0.1950.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.0504.0008.000Hitting_AB3.9731.0000.0273.000
predicted_AVG0.2220.2500.250Hitting_AVG0.2460.0000.0040.250
predicted_BB0.3080.0001.000Hitting_BB0.3080.000-0.3080.000
predicted_CS-0.0000.000BaseRunning_CS0.0540.000-0.0540.000
predicted_H0.9001.0002.000Hitting_H0.9780.0000.0221.000
predicted_HR0.1600.0000.000Hitting_HR0.2760.000-0.2760.000
predicted_OBP0.2860.2500.333Hitting_OBP0.3120.000-0.0620.250
predicted_R0.6860.0001.000Hitting_R0.6860.000-0.6860.000
predicted_RBI0.3700.0001.000Hitting_RBI0.4540.000-0.4540.000
predicted_SLG0.3900.2500.250Hitting_SLG0.5030.000-0.2530.250
predicted_SO1.5511.0003.000Hitting_SO1.5511.000-0.5510.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_H: 0.9000 -> 1.0000 (boost 0.1000, better)
Biggest Deboostpredicted_R: 0.6860 -> 0.0000 (deboost -0.6860, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend108273predicted_AB: 4.0500 -> 8.2964 (boost 4.2464, better)predicted_OBP: 0.2860 -> 0.2720 (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_R: 1.3242 -> 1.2671 (deboost -0.0571, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling83544predicted_BB: 0.5569 -> 1.0000 (boost 0.4431, better)predicted_HR: 0.4099 -> 0.0000 (deboost -0.4099, worse)AB rounded to 8 (raw=8.30), rates preserved: AVG=0.201 HR/AB=0.049
5bvp_blend00000--Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.000)
6consistency_constraints10101-predicted_R: 1.2671 -> 1.0000 (deboost -0.2671, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context32121predicted_OBP: 0.2513 -> 0.3330 (boost 0.0817, better)predicted_SLG: 0.3910 -> 0.2500 (deboost -0.1410, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference60615-predicted_AB: 8.0000 -> 4.0000 (deboost -4.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final31212predicted_SLG: 0.2500 -> 0.3910 (boost 0.1410, better)predicted_OBP: 0.3330 -> 0.2513 (deboost -0.0817, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "696100",
  "player_name": "Hunter Goodman",
  "position": "C",
  "team": "COL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.195,
        "predicted_3B": 0.0,
        "predicted_AB": 4.05,
        "predicted_AVG": 0.222,
        "predicted_BB": 0.308,
        "predicted_H": 0.9,
        "predicted_HR": 0.16,
        "predicted_OBP": 0.286,
        "predicted_R": 0.686,
        "predicted_RBI": 0.37,
        "predicted_SLG": 0.39,
        "predicted_SO": 1.551
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.3444,
        "predicted_3B": 0.0009,
        "predicted_AB": 8.2964,
        "predicted_AVG": 0.2121,
        "predicted_BB": 0.5633,
        "predicted_H": 1.706,
        "predicted_HBP": 0.189,
        "predicted_HR": 0.4153,
        "predicted_OBP": 0.272,
        "predicted_R": 1.3242,
        "predicted_RBI": 0.7603,
        "predicted_SLG": 0.3947,
        "predicted_SO": 3.2453
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.195,
          "after": 0.3444,
          "delta": 0.1494,
          "percent_delta": 0.7662,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.05,
          "after": 8.2964,
          "delta": 4.2464,
          "percent_delta": 1.0485,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.222,
          "after": 0.2121,
          "delta": -0.0099,
          "percent_delta": -0.0446,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.308,
          "after": 0.5633,
          "delta": 0.2553,
          "percent_delta": 0.8289,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9,
          "after": 1.706,
          "delta": 0.806,
          "percent_delta": 0.8956,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.16,
          "after": 0.4153,
          "delta": 0.2553,
          "percent_delta": 1.5956,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.286,
          "after": 0.272,
          "delta": -0.014,
          "percent_delta": -0.049,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.686,
          "after": 1.3242,
          "delta": 0.6382,
          "percent_delta": 0.9303,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.37,
          "after": 0.7603,
          "delta": 0.3903,
          "percent_delta": 1.0549,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.39,
          "after": 0.3947,
          "delta": 0.0047,
          "percent_delta": 0.0121,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.551,
          "after": 3.2453,
          "delta": 1.6943,
          "percent_delta": 1.0924,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 10,
        "boosted_metrics": 8,
        "deboosted_metrics": 2,
        "better_metrics": 7,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.05,
          "after": 8.2964,
          "delta": 4.2464,
          "percent_delta": 1.0485,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.286,
          "after": 0.272,
          "delta": -0.014,
          "percent_delta": -0.049,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 3,
        "last_10": 4,
        "season": 45
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.3444,
        "predicted_3B": 0.0009,
        "predicted_AB": 8.2964,
        "predicted_AVG": 0.201,
        "predicted_BB": 0.5569,
        "predicted_H": 1.668,
        "predicted_HBP": 0.189,
        "predicted_HR": 0.4099,
        "predicted_OBP": 0.2513,
        "predicted_R": 1.2671,
        "predicted_RBI": 0.7275,
        "predicted_SLG": 0.391,
        "predicted_SO": 3.2823
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.3444,
          "after": 0.3444,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.2964,
          "after": 8.2964,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2121,
          "after": 0.201,
          "delta": -0.0111,
          "percent_delta": -0.0523,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5633,
          "after": 0.5569,
          "delta": -0.0064,
          "percent_delta": -0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.706,
          "after": 1.668,
          "delta": -0.038,
          "percent_delta": -0.0223,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.189,
          "after": 0.189,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.4153,
          "after": 0.4099,
          "delta": -0.0054,
          "percent_delta": -0.013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.272,
          "after": 0.2513,
          "delta": -0.0207,
          "percent_delta": -0.0761,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.3242,
          "after": 1.2671,
          "delta": -0.0571,
          "percent_delta": -0.0431,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7603,
          "after": 0.7275,
          "delta": -0.0328,
          "percent_delta": -0.0431,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3947,
          "after": 0.391,
          "delta": -0.0037,
          "percent_delta": -0.0094,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 3.2453,
          "after": 3.2823,
          "delta": 0.037,
          "percent_delta": 0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.3242,
          "after": 1.2671,
          "delta": -0.0571,
          "percent_delta": -0.0431,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 8 (raw=8.30), rates preserved: AVG=0.201 HR/AB=0.049",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.3444,
          "after": 0.0,
          "delta": -0.3444,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.2964,
          "after": 8.0,
          "delta": -0.2964,
          "percent_delta": -0.0357,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5569,
          "after": 1.0,
          "delta": 0.4431,
          "percent_delta": 0.7957,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.668,
          "after": 2.0,
          "delta": 0.332,
          "percent_delta": 0.199,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.189,
          "after": 0.0,
          "delta": -0.189,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.4099,
          "after": 0.0,
          "delta": -0.4099,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7275,
          "after": 1.0,
          "delta": 0.2725,
          "percent_delta": 0.3746,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 3.2823,
          "after": 3.0,
          "delta": -0.2823,
          "percent_delta": -0.086,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 3,
        "deboosted_metrics": 5,
        "better_metrics": 4,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.5569,
          "after": 1.0,
          "delta": 0.4431,
          "percent_delta": 0.7957,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.4099,
          "after": 0.0,
          "delta": -0.4099,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.000)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.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": 8.0,
          "after": 8.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": 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_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": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9429,
        "bvp": 0.0571
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.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": 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": 8.0,
          "after": 8.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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.2671,
          "after": 1.0,
          "delta": -0.2671,
          "percent_delta": -0.2108,
          "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": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.2671,
          "after": 1.0,
          "delta": -0.2671,
          "percent_delta": -0.2108,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.333,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.25,
        "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": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.201,
          "after": 0.25,
          "delta": 0.049,
          "percent_delta": 0.2438,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2513,
          "after": 0.333,
          "delta": 0.0817,
          "percent_delta": 0.3251,
          "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.391,
          "after": 0.25,
          "delta": -0.141,
          "percent_delta": -0.3606,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.2513,
          "after": 0.333,
          "delta": 0.0817,
          "percent_delta": 0.3251,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.391,
          "after": 0.25,
          "delta": -0.141,
          "percent_delta": -0.3606,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 4.0,
          "delta": -4.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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": 3.0,
          "after": 1.0,
          "delta": -2.0,
          "percent_delta": -0.6667,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 0,
        "deboosted_metrics": 6,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 4.0,
          "delta": -4.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.201,
        "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.2513,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 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.25,
          "after": 0.201,
          "delta": -0.049,
          "percent_delta": -0.1958,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.333,
          "after": 0.2513,
          "delta": -0.0817,
          "percent_delta": -0.2453,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.391,
          "delta": 0.141,
          "percent_delta": 0.564,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.391,
          "delta": 0.141,
          "percent_delta": 0.564,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.333,
          "after": 0.2513,
          "delta": -0.0817,
          "percent_delta": -0.2453,
          "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.195,
        "after": 0.0,
        "delta": -0.195,
        "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.05,
        "after": 4.0,
        "delta": -0.05,
        "percent_delta": -0.0123,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AVG",
        "before": 0.222,
        "after": 0.201,
        "delta": -0.021,
        "percent_delta": -0.0946,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.308,
        "after": 0.0,
        "delta": -0.308,
        "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.16,
        "after": 0.0,
        "delta": -0.16,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.286,
        "after": 0.2513,
        "delta": -0.0347,
        "percent_delta": -0.1213,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.686,
        "after": 0.0,
        "delta": -0.686,
        "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.39,
        "after": 0.391,
        "delta": 0.001,
        "percent_delta": 0.0026,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 1.551,
        "after": 1.0,
        "delta": -0.551,
        "percent_delta": -0.3553,
        "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_H",
        "before": 0.9,
        "after": 1.0,
        "delta": 0.1,
        "percent_delta": 0.1111,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.686,
        "after": 0.0,
        "delta": -0.686,
        "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.195-
predicted_3B0.000-
predicted_AB4.050-
predicted_AVG0.222-
predicted_BB0.308-
predicted_H0.900-
predicted_HR0.160-
predicted_OBP0.286-
predicted_R0.686-
predicted_RBI0.370-
predicted_SLG0.390-
predicted_SO1.551-
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.3440.149
predicted_3B0.0010.001
predicted_AB8.2964.246
predicted_AVG0.212-0.010
predicted_BB0.5630.255
predicted_H1.7060.806
predicted_HBP0.189-
predicted_HR0.4150.255
predicted_OBP0.272-0.014
predicted_R1.3240.638
predicted_RBI0.7600.390
predicted_SLG0.3950.005
predicted_SO3.2451.694
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.3440.000
predicted_3B0.0010.000
predicted_AB8.2960.000
predicted_AVG0.201-0.011
predicted_BB0.557-0.006
predicted_H1.668-0.038
predicted_HBP0.1890.000
predicted_HR0.410-0.005
predicted_OBP0.251-0.021
predicted_R1.267-0.057
predicted_RBI0.728-0.033
predicted_SLG0.391-0.004
predicted_SO3.2820.037
4. ab_floor_and_scaling

AB rounded to 8 (raw=8.30), rates preserved: AVG=0.201 HR/AB=0.049

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB8.000-
BB1.000-
H2.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO3.000-
5. bvp_blend

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB8.0000.000
BB1.0000.000
H2.0000.000
HR0.0000.000
RBI1.0000.000
SO3.0000.000
6. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB8.0000.000
BB1.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO3.0000.000
7. 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.344
predicted_3B0.000-0.001
predicted_AB8.000-0.296
predicted_AVG0.2500.049
predicted_BB1.0000.443
predicted_H2.0000.332
predicted_HR0.000-0.410
predicted_OBP0.3330.082
predicted_R1.000-0.267
predicted_RBI1.0000.272
predicted_SLG0.250-0.141
predicted_SO3.000-0.282
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.000-4.000
BB0.000-1.000
CS0.0000.000
H1.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.000-2.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 185
Reference playing time: 4.050
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.203-14.0000.0000.0000.0000.0000.0001.0000.0006.0000.00000.00000.00000.00000.00000.00000.00000.4286
last_100.204-34.0002.0000.0000.0000.0000.0006.0002.00016.0000.05880.11110.05880.05880.00000.00000.05880.4706
season0.6045-735.000181.00036.0000.00051.00084.000127.00057.000287.0000.24630.31180.50340.24630.06940.11430.07750.3905
Weighted Prediction From Real Data
MetricValue
predicted_2B0.5350
predicted_3B0.0020
predicted_AB13.7120
predicted_AVG0.1994
predicted_BB0.8890
predicted_H2.7340
predicted_HBP0.1890
predicted_HR0.7410
predicted_OBP0.2542
predicted_R2.1380
predicted_RBI1.2580
predicted_SLG0.4008
predicted_SO5.4060
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.19500.53500.3444model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB4.050013.71208.2964model_form_blend
predicted_AVG0.22200.19940.2121model_form_blend
predicted_BB0.30800.88900.5633model_form_blend
predicted_H0.90002.73401.7060model_form_blend
predicted_HBP-0.18900.1890form_only
predicted_HR0.16000.74100.4153model_form_blend
predicted_OBP0.28600.25420.2720model_form_blend
predicted_R0.68602.13801.3242model_form_blend
predicted_RBI0.37001.25800.7603model_form_blend
predicted_SLG0.39000.40080.3947model_form_blend
predicted_SO1.55105.40603.2453model_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 date185
Season rows before report date185
Report year2026
Profile rows used185
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.246

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB1
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder2
Hitting_substitutionOrder1
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedPH-DH
gameID20260520_TEX@COL
game_typeph
mlbID696100
noteStruck out for Moniak in the 7th.
playerID696100
playerNameHunter Goodman
posC
startedFalse
startingPositionPH
teamCOL
teamID9
game_date2026-05-20
sl_k_percent35.3
sl_bb_percent6.5
sl_woba0.344
sl_xwoba0.301
sl_xba0.218
sl_xslg0.412
sl_sweet_spot_percent34.6
sl_barrel_batted_rate13.6
sl_hard_hit_percent48.1
sl_exit_velocity_avg92.3
sl_launch_angle_avg20.3
sl_whiff_percent34.5
sl_swing_percent56.6
Tyler Freeman (671289) · BATTER · RF · Team COL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 107
All-history rows before 20260521: 107
System season_avg: 0.2580
Data season_avg (2026 season-to-date): 0.2584
Diff (system - data): -0.0004
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.0750.0000.000Hitting_2B0.0750.000-0.0750.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.6514.0007.000Hitting_AB3.6174.0000.3830.000
predicted_AVG0.2260.0000.286Hitting_AVG0.2580.500-0.258-0.500
predicted_BB0.1320.0000.000Hitting_BB0.1310.000-0.1310.000
predicted_CS-0.0000.000BaseRunning_CS0.0470.000-0.0470.000
predicted_H0.3400.0002.000Hitting_H0.9352.000-0.935-2.000
predicted_HR0.0500.0000.000Hitting_HR0.0930.000-0.0930.000
predicted_OBP0.2770.0000.286Hitting_OBP0.3360.500-0.336-0.500
predicted_R0.3490.0001.000Hitting_R0.3461.000-0.346-1.000
predicted_RBI0.1800.0001.000Hitting_RBI0.4861.000-0.486-1.000
predicted_SLG0.3420.0000.286Hitting_SLG0.3570.500-0.357-0.500
predicted_SO0.5571.0001.000Hitting_SO0.5511.0000.4490.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.5570 -> 1.0000 (boost 0.4430, worse)
Biggest Deboostpredicted_R: 0.3490 -> 0.0000 (deboost -0.3490, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend1010091predicted_AB: 3.6510 -> 7.1349 (boost 3.4839, 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.2948 -> 0.2300 (deboost -0.0648, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling71616predicted_RBI: 0.6680 -> 1.0000 (boost 0.3320, better)predicted_HBP: 0.7010 -> 0.0000 (deboost -0.7010, worse)AB rounded to 7 (raw=7.13), rates preserved: AVG=0.205 HR/AB=0.019
5bvp_blend11010predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better)-Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.333)
6consistency_constraints11010predicted_R: 0.6206 -> 1.0000 (boost 0.3794, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context33030predicted_AVG: 0.2048 -> 0.2860 (boost 0.0812, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference40404-predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final30303-predicted_AVG: 0.2860 -> 0.2048 (deboost -0.0812, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "671289",
  "player_name": "Tyler Freeman",
  "position": "RF",
  "team": "COL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "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.651,
        "predicted_AVG": 0.226,
        "predicted_BB": 0.132,
        "predicted_H": 0.34,
        "predicted_HR": 0.05,
        "predicted_OBP": 0.277,
        "predicted_R": 0.349,
        "predicted_RBI": 0.18,
        "predicted_SLG": 0.342,
        "predicted_SO": 0.557
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1362,
        "predicted_3B": 0.0013,
        "predicted_AB": 7.1349,
        "predicted_AVG": 0.2395,
        "predicted_BB": 0.2359,
        "predicted_H": 1.4947,
        "predicted_HBP": 0.701,
        "predicted_HR": 0.1358,
        "predicted_OBP": 0.2948,
        "predicted_R": 0.6486,
        "predicted_RBI": 0.6981,
        "predicted_SLG": 0.3411,
        "predicted_SO": 1.0165
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.075,
          "after": 0.1362,
          "delta": 0.0612,
          "percent_delta": 0.816,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0013,
          "delta": 0.0013,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.651,
          "after": 7.1349,
          "delta": 3.4839,
          "percent_delta": 0.9542,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.226,
          "after": 0.2395,
          "delta": 0.0135,
          "percent_delta": 0.0597,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.132,
          "after": 0.2359,
          "delta": 0.1039,
          "percent_delta": 0.7871,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.34,
          "after": 1.4947,
          "delta": 1.1547,
          "percent_delta": 3.3962,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.05,
          "after": 0.1358,
          "delta": 0.0858,
          "percent_delta": 1.716,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.277,
          "after": 0.2948,
          "delta": 0.0178,
          "percent_delta": 0.0643,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.349,
          "after": 0.6486,
          "delta": 0.2996,
          "percent_delta": 0.8585,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.18,
          "after": 0.6981,
          "delta": 0.5181,
          "percent_delta": 2.8783,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.342,
          "after": 0.3411,
          "delta": -0.0009,
          "percent_delta": -0.0026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.557,
          "after": 1.0165,
          "delta": 0.4595,
          "percent_delta": 0.825,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 10,
        "boosted_metrics": 10,
        "deboosted_metrics": 0,
        "better_metrics": 9,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.651,
          "after": 7.1349,
          "delta": 3.4839,
          "percent_delta": 0.9542,
          "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": 3,
        "last_10": 4,
        "season": 28
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1362,
        "predicted_3B": 0.0013,
        "predicted_AB": 7.1349,
        "predicted_AVG": 0.2048,
        "predicted_BB": 0.2332,
        "predicted_H": 1.4614,
        "predicted_HBP": 0.701,
        "predicted_HR": 0.134,
        "predicted_OBP": 0.23,
        "predicted_R": 0.6206,
        "predicted_RBI": 0.668,
        "predicted_SLG": 0.2806,
        "predicted_SO": 1.0281
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1362,
          "after": 0.1362,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0013,
          "after": 0.0013,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.1349,
          "after": 7.1349,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2395,
          "after": 0.2048,
          "delta": -0.0347,
          "percent_delta": -0.1449,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2359,
          "after": 0.2332,
          "delta": -0.0027,
          "percent_delta": -0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.4947,
          "after": 1.4614,
          "delta": -0.0333,
          "percent_delta": -0.0223,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.701,
          "after": 0.701,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1358,
          "after": 0.134,
          "delta": -0.0018,
          "percent_delta": -0.0133,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2948,
          "after": 0.23,
          "delta": -0.0648,
          "percent_delta": -0.2198,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6486,
          "after": 0.6206,
          "delta": -0.028,
          "percent_delta": -0.0432,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6981,
          "after": 0.668,
          "delta": -0.0301,
          "percent_delta": -0.0431,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3411,
          "after": 0.2806,
          "delta": -0.0605,
          "percent_delta": -0.1774,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0165,
          "after": 1.0281,
          "delta": 0.0116,
          "percent_delta": 0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.2948,
          "after": 0.23,
          "delta": -0.0648,
          "percent_delta": -0.2198,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 7 (raw=7.13), rates preserved: AVG=0.205 HR/AB=0.019",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.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.1362,
          "after": 0.0,
          "delta": -0.1362,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0013,
          "after": 0.0,
          "delta": -0.0013,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.1349,
          "after": 7.0,
          "delta": -0.1349,
          "percent_delta": -0.0189,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2332,
          "after": 0.0,
          "delta": -0.2332,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.4614,
          "after": 1.0,
          "delta": -0.4614,
          "percent_delta": -0.3157,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.701,
          "after": 0.0,
          "delta": -0.701,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "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_RBI",
          "before": 0.668,
          "after": 1.0,
          "delta": 0.332,
          "percent_delta": 0.497,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0281,
          "after": 1.0,
          "delta": -0.0281,
          "percent_delta": -0.0273,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 1,
        "deboosted_metrics": 6,
        "better_metrics": 1,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.668,
          "after": 1.0,
          "delta": 0.332,
          "percent_delta": 0.497,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HBP",
          "before": 0.701,
          "after": 0.0,
          "delta": -0.701,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.333)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.0,
        "predicted_BB": 0.0,
        "predicted_H": 2.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": 7.0,
          "after": 7.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "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_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_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": {
        "model_expectation": 0.8857,
        "bvp": 0.1143
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.0,
          "after": 7.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.6206,
          "after": 1.0,
          "delta": 0.3794,
          "percent_delta": 0.6113,
          "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.6206,
          "after": 1.0,
          "delta": 0.3794,
          "percent_delta": 0.6113,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.0,
        "predicted_AVG": 0.286,
        "predicted_BB": 0.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.286,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.286,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.0,
          "after": 7.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2048,
          "after": 0.286,
          "delta": 0.0812,
          "percent_delta": 0.3965,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.23,
          "after": 0.286,
          "delta": 0.056,
          "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_SLG",
          "before": 0.2806,
          "after": 0.286,
          "delta": 0.0054,
          "percent_delta": 0.0192,
          "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.2048,
          "after": 0.286,
          "delta": 0.0812,
          "percent_delta": 0.3965,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.0,
          "after": 4.0,
          "delta": -3.0,
          "percent_delta": -0.4286,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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": 0.0,
          "delta": -2.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 7.0,
          "after": 4.0,
          "delta": -3.0,
          "percent_delta": -0.4286,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2048,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.23,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2806,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.286,
          "after": 0.2048,
          "delta": -0.0812,
          "percent_delta": -0.2838,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.286,
          "after": 0.23,
          "delta": -0.056,
          "percent_delta": -0.1958,
          "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.286,
          "after": 0.2806,
          "delta": -0.0054,
          "percent_delta": -0.0188,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.286,
          "after": 0.2048,
          "delta": -0.0812,
          "percent_delta": -0.2838,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.075,
        "after": 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.651,
        "after": 4.0,
        "delta": 0.349,
        "percent_delta": 0.0956,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.226,
        "after": 0.2048,
        "delta": -0.0212,
        "percent_delta": -0.0938,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.132,
        "after": 0.0,
        "delta": -0.132,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.34,
        "after": 0.0,
        "delta": -0.34,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.05,
        "after": 0.0,
        "delta": -0.05,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.277,
        "after": 0.23,
        "delta": -0.047,
        "percent_delta": -0.1697,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.349,
        "after": 0.0,
        "delta": -0.349,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.18,
        "after": 0.0,
        "delta": -0.18,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.342,
        "after": 0.2806,
        "delta": -0.0614,
        "percent_delta": -0.1795,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.557,
        "after": 1.0,
        "delta": 0.443,
        "percent_delta": 0.7953,
        "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.557,
        "after": 1.0,
        "delta": 0.443,
        "percent_delta": 0.7953,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.349,
        "after": 0.0,
        "delta": -0.349,
        "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.075-
predicted_3B0.000-
predicted_AB3.651-
predicted_AVG0.226-
predicted_BB0.132-
predicted_H0.340-
predicted_HR0.050-
predicted_OBP0.277-
predicted_R0.349-
predicted_RBI0.180-
predicted_SLG0.342-
predicted_SO0.557-
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.1360.061
predicted_3B0.0010.001
predicted_AB7.1353.484
predicted_AVG0.2390.013
predicted_BB0.2360.104
predicted_H1.4951.155
predicted_HBP0.701-
predicted_HR0.1360.086
predicted_OBP0.2950.018
predicted_R0.6490.300
predicted_RBI0.6980.518
predicted_SLG0.341-0.001
predicted_SO1.0160.459
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.1360.000
predicted_3B0.0010.000
predicted_AB7.1350.000
predicted_AVG0.205-0.035
predicted_BB0.233-0.003
predicted_H1.461-0.033
predicted_HBP0.7010.000
predicted_HR0.134-0.002
predicted_OBP0.230-0.065
predicted_R0.621-0.028
predicted_RBI0.668-0.030
predicted_SLG0.281-0.060
predicted_SO1.0280.012
4. ab_floor_and_scaling

AB rounded to 7 (raw=7.13), rates preserved: AVG=0.205 HR/AB=0.019

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB7.0000.000
BB0.0000.000
H2.0001.000
HR0.0000.000
RBI1.0000.000
SO1.0000.000
6. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB7.0000.000
BB0.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. 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.136
predicted_3B0.000-0.001
predicted_AB7.000-0.135
predicted_AVG0.2860.081
predicted_BB0.000-0.233
predicted_H2.0000.539
predicted_HR0.000-0.134
predicted_OBP0.2860.056
predicted_R1.0000.379
predicted_RBI1.0000.332
predicted_SLG0.2860.005
predicted_SO1.000-0.028
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.000-3.000
BB0.0000.000
CS0.0000.000
H0.000-2.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: 106
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.203-17.0005.0000.0000.0000.0001.0001.0000.0001.0000.29410.29410.29410.29410.00000.05880.00000.0588
last_100.204-36.0005.0000.0000.0000.0001.0001.0000.0002.0000.13890.13890.13890.13890.00000.02780.00000.0556
season0.6028-387.000100.0008.0000.00010.00052.00037.00014.00059.0000.25840.33560.35660.25840.02580.13440.03620.1525
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2170
predicted_3B0.0030
predicted_AB11.7340
predicted_AVG0.2573
predicted_BB0.3730
predicted_H3.0190
predicted_HBP0.7010
predicted_HR0.2490
predicted_OBP0.3184
predicted_R1.0440
predicted_RBI1.3820
predicted_SLG0.3400
predicted_SO1.6230
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.07500.21700.1362model_form_blend
predicted_3B0.00000.00300.0013model_form_blend
predicted_AB3.651011.73407.1349model_form_blend
predicted_AVG0.22600.25730.2395model_form_blend
predicted_BB0.13200.37300.2359model_form_blend
predicted_H0.34003.01901.4947model_form_blend
predicted_HBP-0.70100.7010form_only
predicted_HR0.05000.24900.1358model_form_blend
predicted_OBP0.27700.31840.2948model_form_blend
predicted_R0.34901.04400.6486model_form_blend
predicted_RBI0.18001.38200.6981model_form_blend
predicted_SLG0.34200.34000.3411model_form_blend
predicted_SO0.55701.62301.0165model_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 date107
Season rows before report date107
Report year2026
Profile rows used106
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

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

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_R1
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB2
Hitting_battingOrder3
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedRF
gameID20260520_TEX@COL
game_typefull
mlbID671289
playerID671289
playerNameTyler Freeman
posRF
startedTrue
startingPositionRF
teamCOL
teamID9
game_date2026-05-20
sl_k_percent12.5
sl_bb_percent2.9
sl_woba0.311
sl_xwoba0.331
sl_xba0.285
sl_xslg0.377
sl_sweet_spot_percent34.6
sl_barrel_batted_rate0.0
sl_hard_hit_percent29.6
sl_exit_velocity_avg86.9
sl_launch_angle_avg11.4
sl_whiff_percent11.7
sl_swing_percent48.9
Ezequiel Tovar (678662) · BATTER · SS · Team COL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 176
All-history rows before 20260521: 176
System season_avg: 0.2120
Data season_avg (2026 season-to-date): 0.2119
Diff (system - data): 0.0001
System opponent_avg: 0.2850

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2760.0001.000Hitting_2B0.2730.000-0.2730.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.7702.0008.000Hitting_AB3.7274.000-1.727-2.000
predicted_AVG0.2360.0000.250Hitting_AVG0.2120.250-0.212-0.250
predicted_BB0.2472.0001.000Hitting_BB0.2440.0001.7562.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.8400.0002.000Hitting_H0.7901.000-0.790-1.000
predicted_HR0.0700.0000.000Hitting_HR0.0230.000-0.0230.000
predicted_OBP0.3100.5000.333Hitting_OBP0.2650.2500.2350.250
predicted_R0.3220.0001.000Hitting_R0.3240.000-0.3240.000
predicted_RBI0.3800.0001.000Hitting_RBI0.3690.000-0.3690.000
predicted_SLG0.3550.0000.375Hitting_SLG0.3030.250-0.303-0.250
predicted_SO1.0630.0002.000Hitting_SO1.0513.000-1.051-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_BB: 0.2470 -> 2.0000 (boost 1.7530, better)
Biggest Deboostpredicted_AB: 3.7700 -> 2.0000 (deboost -1.7700, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend97263predicted_AB: 3.7700 -> 7.6001 (boost 3.8301, better)predicted_SLG: 0.3550 -> 0.3269 (deboost -0.0281, worse)Final model 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.3269 -> 0.3028 (deboost -0.0241, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling74352predicted_H: 1.5370 -> 2.0000 (boost 0.4630, better)predicted_HBP: 0.0910 -> 0.0000 (deboost -0.0910, worse)AB rounded to 8 (raw=7.60), rates preserved: AVG=0.202 HR/AB=0.009
5bvp_blend00000--Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.333)
6consistency_constraints11010predicted_R: 0.6154 -> 1.0000 (boost 0.3846, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context33030predicted_SLG: 0.3028 -> 0.3750 (boost 0.0722, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference71625predicted_BB: 1.0000 -> 2.0000 (boost 1.0000, better)predicted_AB: 8.0000 -> 2.0000 (deboost -6.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final30303-predicted_SLG: 0.3750 -> 0.3028 (deboost -0.0722, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "678662",
  "player_name": "Ezequiel Tovar",
  "position": "SS",
  "team": "COL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.276,
        "predicted_3B": 0.0,
        "predicted_AB": 3.77,
        "predicted_AVG": 0.236,
        "predicted_BB": 0.247,
        "predicted_H": 0.84,
        "predicted_HR": 0.07,
        "predicted_OBP": 0.31,
        "predicted_R": 0.322,
        "predicted_RBI": 0.38,
        "predicted_SLG": 0.355,
        "predicted_SO": 1.063
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.549,
        "predicted_3B": 0.0009,
        "predicted_AB": 7.6001,
        "predicted_AVG": 0.2205,
        "predicted_BB": 1.0347,
        "predicted_H": 1.5721,
        "predicted_HBP": 0.091,
        "predicted_HR": 0.0722,
        "predicted_OBP": 0.3076,
        "predicted_R": 0.6431,
        "predicted_RBI": 0.8124,
        "predicted_SLG": 0.3269,
        "predicted_SO": 2.0348
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.276,
          "after": 0.549,
          "delta": 0.273,
          "percent_delta": 0.9891,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.77,
          "after": 7.6001,
          "delta": 3.8301,
          "percent_delta": 1.0159,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.236,
          "after": 0.2205,
          "delta": -0.0155,
          "percent_delta": -0.0657,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.247,
          "after": 1.0347,
          "delta": 0.7877,
          "percent_delta": 3.1891,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.84,
          "after": 1.5721,
          "delta": 0.7321,
          "percent_delta": 0.8715,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.07,
          "after": 0.0722,
          "delta": 0.0022,
          "percent_delta": 0.0314,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.31,
          "after": 0.3076,
          "delta": -0.0024,
          "percent_delta": -0.0077,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.322,
          "after": 0.6431,
          "delta": 0.3211,
          "percent_delta": 0.9972,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.38,
          "after": 0.8124,
          "delta": 0.4324,
          "percent_delta": 1.1379,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.355,
          "after": 0.3269,
          "delta": -0.0281,
          "percent_delta": -0.0792,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.063,
          "after": 2.0348,
          "delta": 0.9718,
          "percent_delta": 0.9142,
          "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_AB",
          "before": 3.77,
          "after": 7.6001,
          "delta": 3.8301,
          "percent_delta": 1.0159,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.355,
          "after": 0.3269,
          "delta": -0.0281,
          "percent_delta": -0.0792,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 2,
        "last_10": 4,
        "season": 45
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.549,
        "predicted_3B": 0.0009,
        "predicted_AB": 7.6001,
        "predicted_AVG": 0.2022,
        "predicted_BB": 1.0229,
        "predicted_H": 1.537,
        "predicted_HBP": 0.091,
        "predicted_HR": 0.0713,
        "predicted_OBP": 0.2969,
        "predicted_R": 0.6154,
        "predicted_RBI": 0.7774,
        "predicted_SLG": 0.3028,
        "predicted_SO": 2.058
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.549,
          "after": 0.549,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.6001,
          "after": 7.6001,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2205,
          "after": 0.2022,
          "delta": -0.0183,
          "percent_delta": -0.083,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0347,
          "after": 1.0229,
          "delta": -0.0118,
          "percent_delta": -0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.5721,
          "after": 1.537,
          "delta": -0.0351,
          "percent_delta": -0.0223,
          "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.0722,
          "after": 0.0713,
          "delta": -0.0009,
          "percent_delta": -0.0125,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3076,
          "after": 0.2969,
          "delta": -0.0107,
          "percent_delta": -0.0348,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6431,
          "after": 0.6154,
          "delta": -0.0277,
          "percent_delta": -0.0431,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.8124,
          "after": 0.7774,
          "delta": -0.035,
          "percent_delta": -0.0431,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3269,
          "after": 0.3028,
          "delta": -0.0241,
          "percent_delta": -0.0737,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0348,
          "after": 2.058,
          "delta": 0.0232,
          "percent_delta": 0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.3269,
          "after": 0.3028,
          "delta": -0.0241,
          "percent_delta": -0.0737,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 8 (raw=7.60), rates preserved: AVG=0.202 HR/AB=0.009",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.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.549,
          "after": 1.0,
          "delta": 0.451,
          "percent_delta": 0.8215,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.6001,
          "after": 8.0,
          "delta": 0.3999,
          "percent_delta": 0.0526,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0229,
          "after": 1.0,
          "delta": -0.0229,
          "percent_delta": -0.0224,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.537,
          "after": 2.0,
          "delta": 0.463,
          "percent_delta": 0.3012,
          "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.0713,
          "after": 0.0,
          "delta": -0.0713,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7774,
          "after": 1.0,
          "delta": 0.2226,
          "percent_delta": 0.2863,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.058,
          "after": 2.0,
          "delta": -0.058,
          "percent_delta": -0.0282,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 4,
        "deboosted_metrics": 3,
        "better_metrics": 5,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 1.537,
          "after": 2.0,
          "delta": 0.463,
          "percent_delta": 0.3012,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HBP",
          "before": 0.091,
          "after": 0.0,
          "delta": -0.091,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.333)",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 8.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": 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_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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9333,
        "bvp": 0.0667
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.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": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 8.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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.6154,
          "after": 1.0,
          "delta": 0.3846,
          "percent_delta": 0.625,
          "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.6154,
          "after": 1.0,
          "delta": 0.3846,
          "percent_delta": 0.625,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.333,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.375,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2022,
          "after": 0.25,
          "delta": 0.0478,
          "percent_delta": 0.2364,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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.2969,
          "after": 0.333,
          "delta": 0.0361,
          "percent_delta": 0.1216,
          "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.3028,
          "after": 0.375,
          "delta": 0.0722,
          "percent_delta": 0.2384,
          "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.3028,
          "after": 0.375,
          "delta": 0.0722,
          "percent_delta": 0.2384,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 2.0,
        "predicted_BB": 2.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 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": 8.0,
          "after": 2.0,
          "delta": -6.0,
          "percent_delta": -0.75,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.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": 0.0,
          "delta": -2.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 1,
        "deboosted_metrics": 6,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 2.0,
          "delta": -6.0,
          "percent_delta": -0.75,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 2.0,
        "predicted_AVG": 0.2022,
        "predicted_BB": 2.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2969,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3028,
        "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.25,
          "after": 0.2022,
          "delta": -0.0478,
          "percent_delta": -0.191,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.333,
          "after": 0.2969,
          "delta": -0.0361,
          "percent_delta": -0.1085,
          "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.375,
          "after": 0.3028,
          "delta": -0.0722,
          "percent_delta": -0.1924,
          "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.3028,
          "delta": -0.0722,
          "percent_delta": -0.1924,
          "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.276,
        "after": 0.0,
        "delta": -0.276,
        "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.77,
        "after": 2.0,
        "delta": -1.77,
        "percent_delta": -0.4695,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.236,
        "after": 0.2022,
        "delta": -0.0338,
        "percent_delta": -0.1432,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.247,
        "after": 2.0,
        "delta": 1.753,
        "percent_delta": 7.0972,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.84,
        "after": 0.0,
        "delta": -0.84,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.07,
        "after": 0.0,
        "delta": -0.07,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.31,
        "after": 0.2969,
        "delta": -0.0131,
        "percent_delta": -0.0423,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.322,
        "after": 0.0,
        "delta": -0.322,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.38,
        "after": 0.0,
        "delta": -0.38,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.355,
        "after": 0.3028,
        "delta": -0.0522,
        "percent_delta": -0.147,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.063,
        "after": 0.0,
        "delta": -1.063,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 1,
      "deboosted_metrics": 10,
      "better_metrics": 2,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.247,
        "after": 2.0,
        "delta": 1.753,
        "percent_delta": 7.0972,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 3.77,
        "after": 2.0,
        "delta": -1.77,
        "percent_delta": -0.4695,
        "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.276-
predicted_3B0.000-
predicted_AB3.770-
predicted_AVG0.236-
predicted_BB0.247-
predicted_H0.840-
predicted_HR0.070-
predicted_OBP0.310-
predicted_R0.322-
predicted_RBI0.380-
predicted_SLG0.355-
predicted_SO1.063-
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.5490.273
predicted_3B0.0010.001
predicted_AB7.6003.830
predicted_AVG0.221-0.015
predicted_BB1.0350.788
predicted_H1.5720.732
predicted_HBP0.091-
predicted_HR0.0720.002
predicted_OBP0.308-0.002
predicted_R0.6430.321
predicted_RBI0.8120.432
predicted_SLG0.327-0.028
predicted_SO2.0350.972
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.5490.000
predicted_3B0.0010.000
predicted_AB7.6000.000
predicted_AVG0.202-0.018
predicted_BB1.023-0.012
predicted_H1.537-0.035
predicted_HBP0.0910.000
predicted_HR0.071-0.001
predicted_OBP0.297-0.011
predicted_R0.615-0.028
predicted_RBI0.777-0.035
predicted_SLG0.303-0.024
predicted_SO2.0580.023
4. ab_floor_and_scaling

AB rounded to 8 (raw=7.60), rates preserved: AVG=0.202 HR/AB=0.009

MetricValueDelta vs Prev Step
2B1.000-
3B0.000-
AB8.000-
BB1.000-
H2.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO2.000-
5. bvp_blend

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

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB8.0000.000
BB1.0000.000
H2.0000.000
HR0.0000.000
RBI1.0000.000
SO2.0000.000
6. consistency_constraints

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

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB8.0000.000
BB1.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
7. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B1.0000.451
predicted_3B0.000-0.001
predicted_AB8.0000.400
predicted_AVG0.2500.048
predicted_BB1.000-0.023
predicted_H2.0000.463
predicted_HR0.000-0.071
predicted_OBP0.3330.036
predicted_R1.0000.385
predicted_RBI1.0000.223
predicted_SLG0.3750.072
predicted_SO2.000-0.058
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.000-1.000
3B0.0000.000
AB2.000-6.000
BB2.0001.000
CS0.0000.000
H0.000-2.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-2.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 174
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-12.0001.0000.0000.0000.0000.0000.0008.0003.0000.08330.45000.08330.08330.00000.00000.66670.2500
last_100.204-28.0006.0004.0000.0000.0008.0004.00012.0004.0000.21430.45000.35710.21430.00000.28570.42860.1429
season0.6045-656.000139.00048.0000.0004.00065.00056.00043.000185.0000.21190.26520.30340.21190.00610.09910.06550.2820
Weighted Prediction From Real Data
MetricValue
predicted_2B0.8990
predicted_3B0.0020
predicted_AB12.5120
predicted_AVG0.2007
predicted_BB2.0450
predicted_H2.5110
predicted_HBP0.0910
predicted_HR0.0750
predicted_OBP0.3045
predicted_R1.0550
predicted_RBI1.3670
predicted_SLG0.2908
predicted_SO3.2810
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.27600.89900.5490model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB3.770012.51207.6001model_form_blend
predicted_AVG0.23600.20070.2205model_form_blend
predicted_BB0.24702.04501.0347model_form_blend
predicted_H0.84002.51101.5721model_form_blend
predicted_HBP-0.09100.0910form_only
predicted_HR0.07000.07500.0722model_form_blend
predicted_OBP0.31000.30450.3076model_form_blend
predicted_R0.32201.05500.6431model_form_blend
predicted_RBI0.38001.36700.8124model_form_blend
predicted_SLG0.35500.29080.3269model_form_blend
predicted_SO1.06303.28102.0348model_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 date176
Season rows before report date176
Report year2026
Profile rows used174
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
AB2
H0
2B0
3B0
HR0
R0
RBI0
BB2
SO0
SF0
HBP0
season_avg0.212

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_SO3
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
allPositionsPlayedSS
gameID20260520_TEX@COL
game_typefull
mlbID678662
playerID678662
playerNameEzequiel Tovar
posSS
startedTrue
startingPositionSS
teamCOL
teamID9
game_date2026-05-20
sl_k_percent26.3
sl_bb_percent6.4
sl_woba0.252
sl_xwoba0.3
sl_xba0.242
sl_xslg0.384
sl_sweet_spot_percent42.5
sl_barrel_batted_rate7.1
sl_hard_hit_percent38.1
sl_exit_velocity_avg88.0
sl_launch_angle_avg14.6
sl_whiff_percent29.9
sl_swing_percent61.1
Kyle Karros (691720) · BATTER · 3B · Team COL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 159
All-history rows before 20260521: 159
System season_avg: 0.2320
Data season_avg (2026 season-to-date): 0.2316
Diff (system - data): 0.0004
System opponent_avg: 0.2700

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1761.0000.000Hitting_2B0.1760.0000.8241.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.0694.0006.000Hitting_AB3.0693.0000.9311.000
predicted_AVG0.2360.2500.167Hitting_AVG0.2320.0000.0180.250
predicted_BB0.5790.0001.000Hitting_BB0.5791.000-0.579-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.7101.0001.000Hitting_H0.7110.0000.2891.000
predicted_HR0.0600.0000.000Hitting_HR0.0250.000-0.0250.000
predicted_OBP0.2980.2500.286Hitting_OBP0.3490.250-0.0990.000
predicted_R0.4530.0001.000Hitting_R0.4530.000-0.4530.000
predicted_RBI0.3500.0001.000Hitting_RBI0.2521.000-0.252-1.000
predicted_SLG0.3310.5000.167Hitting_SLG0.3140.0000.1860.500
predicted_SO0.8490.0001.000Hitting_SO0.8491.000-0.849-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics4
Deboosted Metrics7
Better Metrics5
Worse Metrics6
Biggest Boostpredicted_AB: 3.0690 -> 4.0000 (boost 0.9310, better)
Biggest Deboostpredicted_SO: 0.8490 -> 0.0000 (deboost -0.8490, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend97263predicted_AB: 3.0690 -> 5.9092 (boost 2.8402, better)predicted_SLG: 0.3310 -> 0.3069 (deboost -0.0241, worse)Final model 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_OBP: 0.3007 -> 0.3188 (boost 0.0181, better)predicted_SLG: 0.3069 -> 0.2918 (deboost -0.0151, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling63324predicted_RBI: 0.5038 -> 1.0000 (boost 0.4962, better)predicted_2B: 0.3011 -> 0.0000 (deboost -0.3011, worse)AB rounded to 6 (raw=5.91), rates preserved: AVG=0.207 HR/AB=0.011
5bvp_blend10110-predicted_SO: 2.0000 -> 1.0000 (deboost -1.0000, better)Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.286)
6consistency_constraints11010predicted_R: 0.7237 -> 1.0000 (boost 0.2763, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context30303-predicted_SLG: 0.2918 -> 0.1670 (deboost -0.1248, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference61524predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final33030predicted_SLG: 0.1670 -> 0.2918 (boost 0.1248, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "691720",
  "player_name": "Kyle Karros",
  "position": "3B",
  "team": "COL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.176,
        "predicted_3B": 0.0,
        "predicted_AB": 3.069,
        "predicted_AVG": 0.236,
        "predicted_BB": 0.579,
        "predicted_H": 0.71,
        "predicted_HR": 0.06,
        "predicted_OBP": 0.298,
        "predicted_R": 0.453,
        "predicted_RBI": 0.35,
        "predicted_SLG": 0.331,
        "predicted_SO": 0.849
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.3011,
        "predicted_3B": 0.0009,
        "predicted_AB": 5.9092,
        "predicted_AVG": 0.222,
        "predicted_BB": 0.9791,
        "predicted_H": 1.2522,
        "predicted_HBP": 0.004,
        "predicted_HR": 0.0665,
        "predicted_OBP": 0.3007,
        "predicted_R": 0.7563,
        "predicted_RBI": 0.5265,
        "predicted_SLG": 0.3069,
        "predicted_SO": 1.572
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.176,
          "after": 0.3011,
          "delta": 0.1251,
          "percent_delta": 0.7108,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.069,
          "after": 5.9092,
          "delta": 2.8402,
          "percent_delta": 0.9254,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.236,
          "after": 0.222,
          "delta": -0.014,
          "percent_delta": -0.0593,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.579,
          "after": 0.9791,
          "delta": 0.4001,
          "percent_delta": 0.691,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.71,
          "after": 1.2522,
          "delta": 0.5422,
          "percent_delta": 0.7637,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.06,
          "after": 0.0665,
          "delta": 0.0065,
          "percent_delta": 0.1083,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.298,
          "after": 0.3007,
          "delta": 0.0027,
          "percent_delta": 0.0091,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.453,
          "after": 0.7563,
          "delta": 0.3033,
          "percent_delta": 0.6695,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.35,
          "after": 0.5265,
          "delta": 0.1765,
          "percent_delta": 0.5043,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.331,
          "after": 0.3069,
          "delta": -0.0241,
          "percent_delta": -0.0728,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.849,
          "after": 1.572,
          "delta": 0.723,
          "percent_delta": 0.8516,
          "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_AB",
          "before": 3.069,
          "after": 5.9092,
          "delta": 2.8402,
          "percent_delta": 0.9254,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.331,
          "after": 0.3069,
          "delta": -0.0241,
          "percent_delta": -0.0728,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 3,
        "last_10": 4,
        "season": 45
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.3011,
        "predicted_3B": 0.0009,
        "predicted_AB": 5.9092,
        "predicted_AVG": 0.2072,
        "predicted_BB": 0.9679,
        "predicted_H": 1.2243,
        "predicted_HBP": 0.004,
        "predicted_HR": 0.0656,
        "predicted_OBP": 0.3188,
        "predicted_R": 0.7237,
        "predicted_RBI": 0.5038,
        "predicted_SLG": 0.2918,
        "predicted_SO": 1.5899
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.3011,
          "after": 0.3011,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.9092,
          "after": 5.9092,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.222,
          "after": 0.2072,
          "delta": -0.0148,
          "percent_delta": -0.0667,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.9791,
          "after": 0.9679,
          "delta": -0.0112,
          "percent_delta": -0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.2522,
          "after": 1.2243,
          "delta": -0.0279,
          "percent_delta": -0.0223,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.004,
          "after": 0.004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0665,
          "after": 0.0656,
          "delta": -0.0009,
          "percent_delta": -0.0135,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3007,
          "after": 0.3188,
          "delta": 0.0181,
          "percent_delta": 0.0602,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.7563,
          "after": 0.7237,
          "delta": -0.0326,
          "percent_delta": -0.0431,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5265,
          "after": 0.5038,
          "delta": -0.0227,
          "percent_delta": -0.0431,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3069,
          "after": 0.2918,
          "delta": -0.0151,
          "percent_delta": -0.0492,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.572,
          "after": 1.5899,
          "delta": 0.0179,
          "percent_delta": 0.0114,
          "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.3007,
          "after": 0.3188,
          "delta": 0.0181,
          "percent_delta": 0.0602,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3069,
          "after": 0.2918,
          "delta": -0.0151,
          "percent_delta": -0.0492,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 6 (raw=5.91), rates preserved: AVG=0.207 HR/AB=0.011",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.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.3011,
          "after": 0.0,
          "delta": -0.3011,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.9092,
          "after": 6.0,
          "delta": 0.0908,
          "percent_delta": 0.0154,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.9679,
          "after": 1.0,
          "delta": 0.0321,
          "percent_delta": 0.0332,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.2243,
          "after": 1.0,
          "delta": -0.2243,
          "percent_delta": -0.1832,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.004,
          "after": 0.0,
          "delta": -0.004,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0656,
          "after": 0.0,
          "delta": -0.0656,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5038,
          "after": 1.0,
          "delta": 0.4962,
          "percent_delta": 0.9849,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.5899,
          "after": 2.0,
          "delta": 0.4101,
          "percent_delta": 0.2579,
          "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.5038,
          "after": 1.0,
          "delta": 0.4962,
          "percent_delta": 0.9849,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.3011,
          "after": 0.0,
          "delta": -0.3011,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.286)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.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": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {
        "model_expectation": 0.9243,
        "bvp": 0.0757
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.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": 6.0,
          "after": 6.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.7237,
          "after": 1.0,
          "delta": 0.2763,
          "percent_delta": 0.3818,
          "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.7237,
          "after": 1.0,
          "delta": 0.2763,
          "percent_delta": 0.3818,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_AVG": 0.167,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.286,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.167,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2072,
          "after": 0.167,
          "delta": -0.0402,
          "percent_delta": -0.194,
          "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.3188,
          "after": 0.286,
          "delta": -0.0328,
          "percent_delta": -0.1029,
          "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.2918,
          "after": 0.167,
          "delta": -0.1248,
          "percent_delta": -0.4277,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.2918,
          "after": 0.167,
          "delta": -0.1248,
          "percent_delta": -0.4277,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 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": 6.0,
          "after": 4.0,
          "delta": -2.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 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_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": 6.0,
          "after": 4.0,
          "delta": -2.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2072,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3188,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2918,
        "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.167,
          "after": 0.2072,
          "delta": 0.0402,
          "percent_delta": 0.2406,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.286,
          "after": 0.3188,
          "delta": 0.0328,
          "percent_delta": 0.1146,
          "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.167,
          "after": 0.2918,
          "delta": 0.1248,
          "percent_delta": 0.7471,
          "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.167,
          "after": 0.2918,
          "delta": 0.1248,
          "percent_delta": 0.7471,
          "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": 1.0,
        "delta": 0.824,
        "percent_delta": 4.6818,
        "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.069,
        "after": 4.0,
        "delta": 0.931,
        "percent_delta": 0.3034,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.236,
        "after": 0.2072,
        "delta": -0.0288,
        "percent_delta": -0.122,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.579,
        "after": 0.0,
        "delta": -0.579,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.71,
        "after": 1.0,
        "delta": 0.29,
        "percent_delta": 0.4085,
        "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.298,
        "after": 0.3188,
        "delta": 0.0208,
        "percent_delta": 0.0698,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.453,
        "after": 0.0,
        "delta": -0.453,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.35,
        "after": 0.0,
        "delta": -0.35,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.331,
        "after": 0.2918,
        "delta": -0.0392,
        "percent_delta": -0.1184,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.849,
        "after": 0.0,
        "delta": -0.849,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 4,
      "deboosted_metrics": 7,
      "better_metrics": 5,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.069,
        "after": 4.0,
        "delta": 0.931,
        "percent_delta": 0.3034,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.849,
        "after": 0.0,
        "delta": -0.849,
        "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.176-
predicted_3B0.000-
predicted_AB3.069-
predicted_AVG0.236-
predicted_BB0.579-
predicted_H0.710-
predicted_HR0.060-
predicted_OBP0.298-
predicted_R0.453-
predicted_RBI0.350-
predicted_SLG0.331-
predicted_SO0.849-
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.3010.125
predicted_3B0.0010.001
predicted_AB5.9092.840
predicted_AVG0.222-0.014
predicted_BB0.9790.400
predicted_H1.2520.542
predicted_HBP0.004-
predicted_HR0.0670.007
predicted_OBP0.3010.003
predicted_R0.7560.303
predicted_RBI0.5260.176
predicted_SLG0.307-0.024
predicted_SO1.5720.723
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.3010.000
predicted_3B0.0010.000
predicted_AB5.9090.000
predicted_AVG0.207-0.015
predicted_BB0.968-0.011
predicted_H1.224-0.028
predicted_HBP0.0040.000
predicted_HR0.066-0.001
predicted_OBP0.3190.018
predicted_R0.724-0.033
predicted_RBI0.504-0.023
predicted_SLG0.292-0.015
predicted_SO1.5900.018
4. ab_floor_and_scaling

AB rounded to 6 (raw=5.91), rates preserved: AVG=0.207 HR/AB=0.011

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB6.000-
BB1.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO2.000-
5. bvp_blend

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB6.0000.000
BB1.0000.000
H1.0000.000
HR0.0000.000
RBI1.0000.000
SO1.000-1.000
6. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB6.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. 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.301
predicted_3B0.000-0.001
predicted_AB6.0000.091
predicted_AVG0.167-0.040
predicted_BB1.0000.032
predicted_H1.000-0.224
predicted_HR0.000-0.066
predicted_OBP0.286-0.033
predicted_R1.0000.276
predicted_RBI1.0000.496
predicted_SLG0.167-0.125
predicted_SO1.000-0.590
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB4.000-2.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: 159
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.203-16.0001.0000.0000.0000.0001.0000.0001.0004.0000.06250.11760.06250.06250.00000.06250.06250.2500
last_100.204-36.0006.0002.0000.0000.0001.0002.0001.0004.0000.16670.18920.22220.16670.00000.02780.02780.1111
season0.6045-488.000113.00028.0000.0004.00040.00072.00092.000135.0000.23160.34860.31350.23160.00820.08200.18850.2766
Weighted Prediction From Real Data
MetricValue
predicted_2B0.4630
predicted_3B0.0020
predicted_AB9.5860
predicted_AVG0.2039
predicted_BB1.4970
predicted_H1.9540
predicted_HBP0.0040
predicted_HR0.0750
predicted_OBP0.3043
predicted_R1.1490
predicted_RBI0.7550
predicted_SLG0.2758
predicted_SO2.5080
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17600.46300.3011model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB3.06909.58605.9092model_form_blend
predicted_AVG0.23600.20390.2220model_form_blend
predicted_BB0.57901.49700.9791model_form_blend
predicted_H0.71001.95401.2522model_form_blend
predicted_HBP-0.00400.0040form_only
predicted_HR0.06000.07500.0665model_form_blend
predicted_OBP0.29800.30430.3007model_form_blend
predicted_R0.45301.14900.7563model_form_blend
predicted_RBI0.35000.75500.5265model_form_blend
predicted_SLG0.33100.27580.3069model_form_blend
predicted_SO0.84902.50801.5720model_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 date159
Season rows before report date159
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
PA4
AB4
H1
2B1
3B0
HR0
R0
RBI0
BB0
SO0
SF0
HBP0
season_avg0.232

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_RBI1
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
allPositionsPlayed3B
gameID20260520_TEX@COL
game_typefull
mlbID691720
playerID691720
playerNameKyle Karros
pos3B
startedTrue
startingPosition3B
teamCOL
teamID9
game_date2026-05-20
sl_k_percent23.6
sl_bb_percent14.0
sl_woba0.295
sl_xwoba0.329
sl_xba0.255
sl_xslg0.356
sl_sweet_spot_percent43.9
sl_barrel_batted_rate5.2
sl_hard_hit_percent38.8
sl_exit_velocity_avg89.0
sl_launch_angle_avg10.1
sl_whiff_percent25.6
sl_swing_percent41.0
Chad Stevens (677060) · BATTER · 2B · Team COL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 0
All-history rows before 20260521: 0
System season_avg: 0.2504
Data season_avg (2026 season-to-date): -
Diff (system - data): -
System opponent_avg: 0.2504

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1770.0000.000Hitting_2B----
predicted_3B0.0140.0000.000Hitting_3B----
predicted_AB3.6284.0004.000Hitting_AB----
predicted_AVG0.2540.2500.250Hitting_AVG----
predicted_BB0.3940.0000.000Hitting_BB----
predicted_CS-0.0000.000BaseRunning_CS----
predicted_H0.9211.0001.000Hitting_H----
predicted_HR0.0881.0000.000Hitting_HR----
predicted_OBP0.3270.2500.250Hitting_OBP----
predicted_R0.5031.0000.000Hitting_R----
predicted_RBI0.4441.0000.000Hitting_RBI----
predicted_SB-0.0000.000BaseRunning_SB----
predicted_SLG0.3831.0000.250Hitting_SLG----
predicted_SO0.7501.0001.000Hitting_SO----

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.0880 -> 1.0000 (boost 0.9120, better)
Biggest Deboostpredicted_BB: 0.3940 -> 0.0000 (deboost -0.3940, 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_snapshot30303-predicted_OBP: 0.3250 -> 0.3175 (deboost -0.0075, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling73425predicted_AB: 3.6664 -> 4.0000 (boost 0.3336, better)predicted_RBI: 0.4350 -> 0.0000 (deboost -0.4350, worse)AB rounded to 4 (raw=3.67), rates preserved: AVG=0.248 HR/AB=0.025
5consistency_constraints10101-predicted_R: 0.4803 -> 0.0000 (deboost -0.4803, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context20202-predicted_SLG: 0.3807 -> 0.2500 (deboost -0.1307, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference33030predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
8current_json_final22020predicted_SLG: 0.2500 -> 0.3807 (boost 0.1307, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "677060",
  "player_name": "Chad Stevens",
  "position": "2B",
  "team": "COL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.177,
        "predicted_3B": 0.014,
        "predicted_AB": 3.628,
        "predicted_AVG": 0.254,
        "predicted_BB": 0.394,
        "predicted_H": 0.921,
        "predicted_HR": 0.088,
        "predicted_OBP": 0.327,
        "predicted_R": 0.503,
        "predicted_RBI": 0.444,
        "predicted_SLG": 0.383,
        "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.1792,
        "predicted_3B": 0.0142,
        "predicted_AB": 3.6664,
        "predicted_AVG": 0.2534,
        "predicted_BB": 0.3798,
        "predicted_H": 0.9286,
        "predicted_HBP": 0.034,
        "predicted_HR": 0.0946,
        "predicted_OBP": 0.325,
        "predicted_R": 0.5019,
        "predicted_RBI": 0.4546,
        "predicted_SLG": 0.3869,
        "predicted_SO": 0.7664
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.177,
          "after": 0.1792,
          "delta": 0.0022,
          "percent_delta": 0.0124,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.014,
          "after": 0.0142,
          "delta": 0.0002,
          "percent_delta": 0.0143,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.628,
          "after": 3.6664,
          "delta": 0.0384,
          "percent_delta": 0.0106,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.254,
          "after": 0.2534,
          "delta": -0.0006,
          "percent_delta": -0.0024,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.394,
          "after": 0.3798,
          "delta": -0.0142,
          "percent_delta": -0.036,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.921,
          "after": 0.9286,
          "delta": 0.0076,
          "percent_delta": 0.0083,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.088,
          "after": 0.0946,
          "delta": 0.0066,
          "percent_delta": 0.075,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.327,
          "after": 0.325,
          "delta": -0.002,
          "percent_delta": -0.0061,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.503,
          "after": 0.5019,
          "delta": -0.0011,
          "percent_delta": -0.0022,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.444,
          "after": 0.4546,
          "delta": 0.0106,
          "percent_delta": 0.0239,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.383,
          "after": 0.3869,
          "delta": 0.0039,
          "percent_delta": 0.0102,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.75,
          "after": 0.7664,
          "delta": 0.0164,
          "percent_delta": 0.0219,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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": 0,
        "last_10": 0,
        "season": 0
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1792,
        "predicted_3B": 0.0142,
        "predicted_AB": 3.6664,
        "predicted_AVG": 0.2476,
        "predicted_BB": 0.3755,
        "predicted_H": 0.9079,
        "predicted_HBP": 0.034,
        "predicted_HR": 0.0934,
        "predicted_OBP": 0.3175,
        "predicted_R": 0.4803,
        "predicted_RBI": 0.435,
        "predicted_SLG": 0.3807,
        "predicted_SO": 0.7751
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1792,
          "after": 0.1792,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0142,
          "after": 0.0142,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6664,
          "after": 3.6664,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2534,
          "after": 0.2476,
          "delta": -0.0058,
          "percent_delta": -0.0229,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3798,
          "after": 0.3755,
          "delta": -0.0043,
          "percent_delta": -0.0113,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9286,
          "after": 0.9079,
          "delta": -0.0207,
          "percent_delta": -0.0223,
          "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.0946,
          "after": 0.0934,
          "delta": -0.0012,
          "percent_delta": -0.0127,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.325,
          "after": 0.3175,
          "delta": -0.0075,
          "percent_delta": -0.0231,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5019,
          "after": 0.4803,
          "delta": -0.0216,
          "percent_delta": -0.043,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4546,
          "after": 0.435,
          "delta": -0.0196,
          "percent_delta": -0.0431,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3869,
          "after": 0.3807,
          "delta": -0.0062,
          "percent_delta": -0.016,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7664,
          "after": 0.7751,
          "delta": 0.0087,
          "percent_delta": 0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.325,
          "after": 0.3175,
          "delta": -0.0075,
          "percent_delta": -0.0231,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.67), rates preserved: AVG=0.248 HR/AB=0.025",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1792,
          "after": 0.0,
          "delta": -0.1792,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0142,
          "after": 0.0,
          "delta": -0.0142,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6664,
          "after": 4.0,
          "delta": 0.3336,
          "percent_delta": 0.091,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3755,
          "after": 0.0,
          "delta": -0.3755,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9079,
          "after": 1.0,
          "delta": 0.0921,
          "percent_delta": 0.1014,
          "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.0934,
          "after": 0.0,
          "delta": -0.0934,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.435,
          "after": 0.0,
          "delta": -0.435,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7751,
          "after": 1.0,
          "delta": 0.2249,
          "percent_delta": 0.2902,
          "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.6664,
          "after": 4.0,
          "delta": 0.3336,
          "percent_delta": 0.091,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.435,
          "after": 0.0,
          "delta": -0.435,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4803,
          "after": 0.0,
          "delta": -0.4803,
          "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.4803,
          "after": 0.0,
          "delta": -0.4803,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.25,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.25,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2476,
          "after": 0.25,
          "delta": 0.0024,
          "percent_delta": 0.0097,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3175,
          "after": 0.25,
          "delta": -0.0675,
          "percent_delta": -0.2126,
          "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.3807,
          "after": 0.25,
          "delta": -0.1307,
          "percent_delta": -0.3433,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "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.3807,
          "after": 0.25,
          "delta": -0.1307,
          "percent_delta": -0.3433,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2476,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.3175,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3807,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2476,
          "delta": -0.0024,
          "percent_delta": -0.0095,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.25,
          "after": 0.3175,
          "delta": 0.0675,
          "percent_delta": 0.2701,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.3807,
          "delta": 0.1307,
          "percent_delta": 0.5226,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.3807,
          "delta": 0.1307,
          "percent_delta": 0.5226,
          "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.014,
        "after": 0.0,
        "delta": -0.014,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.628,
        "after": 4.0,
        "delta": 0.372,
        "percent_delta": 0.1025,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.254,
        "after": 0.2476,
        "delta": -0.0064,
        "percent_delta": -0.0252,
        "direction": "deboost",
        "projection_effect": "worse",
        "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": 0.921,
        "after": 1.0,
        "delta": 0.079,
        "percent_delta": 0.0858,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.088,
        "after": 1.0,
        "delta": 0.912,
        "percent_delta": 10.3636,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.327,
        "after": 0.3175,
        "delta": -0.0095,
        "percent_delta": -0.0291,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.503,
        "after": 1.0,
        "delta": 0.497,
        "percent_delta": 0.9881,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.444,
        "after": 1.0,
        "delta": 0.556,
        "percent_delta": 1.2523,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.383,
        "after": 0.3807,
        "delta": -0.0023,
        "percent_delta": -0.006,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.75,
        "after": 1.0,
        "delta": 0.25,
        "percent_delta": 0.3333,
        "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.088,
        "after": 1.0,
        "delta": 0.912,
        "percent_delta": 10.3636,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.394,
        "after": 0.0,
        "delta": -0.394,
        "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.177-
predicted_3B0.014-
predicted_AB3.628-
predicted_AVG0.254-
predicted_BB0.394-
predicted_H0.921-
predicted_HR0.088-
predicted_OBP0.327-
predicted_R0.503-
predicted_RBI0.444-
predicted_SLG0.383-
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.1790.002
predicted_3B0.0140.000
predicted_AB3.6660.038
predicted_AVG0.253-0.001
predicted_BB0.380-0.014
predicted_H0.9290.008
predicted_HBP0.034-
predicted_HR0.0950.007
predicted_OBP0.325-0.002
predicted_R0.502-0.001
predicted_RBI0.4550.011
predicted_SLG0.3870.004
predicted_SO0.7660.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.1790.000
predicted_3B0.0140.000
predicted_AB3.6660.000
predicted_AVG0.248-0.006
predicted_BB0.376-0.004
predicted_H0.908-0.021
predicted_HBP0.0340.000
predicted_HR0.093-0.001
predicted_OBP0.318-0.008
predicted_R0.480-0.022
predicted_RBI0.435-0.020
predicted_SLG0.381-0.006
predicted_SO0.7750.009
4. ab_floor_and_scaling

AB rounded to 4 (raw=3.67), rates preserved: AVG=0.248 HR/AB=0.025

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
5. 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
6. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.179
predicted_3B0.000-0.014
predicted_AB4.0000.334
predicted_AVG0.2500.002
predicted_BB0.000-0.376
predicted_H1.0000.092
predicted_HR0.000-0.093
predicted_OBP0.250-0.068
predicted_R0.000-0.480
predicted_RBI0.000-0.435
predicted_SLG0.250-0.131
predicted_SO1.0000.225
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 0
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.200-0.0000.0000.0000.0000.0000.0000.0000.0000.000--------
last_100.200-0.0000.0000.0000.0000.0000.0000.0000.0000.000--------
season0.600-0.0000.0000.0000.0000.0000.0000.0000.0000.000--------
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1910
predicted_3B0.0150
predicted_AB3.8720
predicted_AVG0.2504
predicted_BB0.3040
predicted_H0.9690
predicted_HBP0.0340
predicted_HR0.1300
predicted_OBP0.3145
predicted_R0.4960
predicted_RBI0.5110
predicted_SLG0.4079
predicted_SO0.8540
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17700.19100.1792model_form_blend
predicted_3B0.01400.01500.0142model_form_blend
predicted_AB3.62803.87203.6664model_form_blend
predicted_AVG0.25400.25040.2534model_form_blend
predicted_BB0.39400.30400.3798model_form_blend
predicted_H0.92100.96900.9286model_form_blend
predicted_HBP-0.03400.0340form_only
predicted_HR0.08800.13000.0946model_form_blend
predicted_OBP0.32700.31450.3250model_form_blend
predicted_R0.50300.49600.5019model_form_blend
predicted_RBI0.44400.51100.4546model_form_blend
predicted_SLG0.38300.40790.3869model_form_blend
predicted_SO0.75000.85400.7664model_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 date0
Season rows before report date0
Report year2026
Profile rows used0
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

No historical data found for this player before report date.

Jake McCarthy (664983) · BATTER · CF · Team COL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 114
All-history rows before 20260521: 114
System season_avg: 0.2810
Data season_avg (2026 season-to-date): 0.2811
Diff (system - data): -0.0001
System opponent_avg: 0.4120

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1850.0000.000Hitting_2B0.1750.000-0.1750.000
predicted_3B0.0741.0000.000Hitting_3B0.0701.0000.9300.000
predicted_AB3.1304.0006.000Hitting_AB2.9655.0001.035-1.000
predicted_AVG0.2820.5000.167Hitting_AVG0.2810.4000.2190.100
predicted_BB0.1940.0000.000Hitting_BB0.2110.000-0.2110.000
predicted_CS-0.0000.000BaseRunning_CS0.0440.000-0.0440.000
predicted_H0.7402.0001.000Hitting_H0.8332.0001.1670.000
predicted_HR0.0600.0000.000Hitting_HR0.0700.000-0.0700.000
predicted_OBP0.3280.5000.167Hitting_OBP0.3360.4000.1640.100
predicted_R0.3151.0001.000Hitting_R0.3072.0000.693-1.000
predicted_RBI0.3701.0001.000Hitting_RBI0.5180.0000.4821.000
predicted_SLG0.4271.0000.167Hitting_SLG0.4590.8000.5410.200
predicted_SO0.6670.0001.000Hitting_SO0.6320.000-0.6320.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectdeboosted
Changed Metrics12
Boosted Metrics5
Deboosted Metrics7
Better Metrics6
Worse Metrics6
Biggest Boostpredicted_H: 0.7400 -> 2.0000 (boost 1.2600, better)
Biggest Deboostpredicted_SO: 0.6670 -> 0.0000 (deboost -0.6670, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend108273predicted_AB: 3.1300 -> 5.5908 (boost 2.4608, better)predicted_OBP: 0.3280 -> 0.3175 (deboost -0.0105, worse)Final model 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.3175 -> 0.2862 (deboost -0.0313, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling92736predicted_AB: 5.5908 -> 6.0000 (boost 0.4092, better)predicted_H: 1.3842 -> 1.0000 (deboost -0.3842, worse)AB rounded to 6 (raw=5.59), rates preserved: AVG=0.248 HR/AB=0.019
5consistency_constraints11010predicted_R: 0.5523 -> 1.0000 (boost 0.4477, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context30303-predicted_SLG: 0.4082 -> 0.1670 (deboost -0.2412, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference42231predicted_3B: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final33030predicted_SLG: 0.1670 -> 0.4082 (boost 0.2412, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "664983",
  "player_name": "Jake McCarthy",
  "position": "CF",
  "team": "COL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.185,
        "predicted_3B": 0.074,
        "predicted_AB": 3.13,
        "predicted_AVG": 0.282,
        "predicted_BB": 0.194,
        "predicted_H": 0.74,
        "predicted_HR": 0.06,
        "predicted_OBP": 0.328,
        "predicted_R": 0.315,
        "predicted_RBI": 0.37,
        "predicted_SLG": 0.427,
        "predicted_SO": 0.667
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2842,
        "predicted_3B": 0.1446,
        "predicted_AB": 5.5908,
        "predicted_AVG": 0.2731,
        "predicted_BB": 0.3061,
        "predicted_H": 1.4158,
        "predicted_HBP": 0.102,
        "predicted_HR": 0.1096,
        "predicted_OBP": 0.3175,
        "predicted_R": 0.5772,
        "predicted_RBI": 0.7272,
        "predicted_SLG": 0.4246,
        "predicted_SO": 1.3099
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.185,
          "after": 0.2842,
          "delta": 0.0992,
          "percent_delta": 0.5362,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.074,
          "after": 0.1446,
          "delta": 0.0706,
          "percent_delta": 0.9541,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.13,
          "after": 5.5908,
          "delta": 2.4608,
          "percent_delta": 0.7862,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.282,
          "after": 0.2731,
          "delta": -0.0089,
          "percent_delta": -0.0316,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.194,
          "after": 0.3061,
          "delta": 0.1121,
          "percent_delta": 0.5778,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.74,
          "after": 1.4158,
          "delta": 0.6758,
          "percent_delta": 0.9132,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.06,
          "after": 0.1096,
          "delta": 0.0496,
          "percent_delta": 0.8267,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.328,
          "after": 0.3175,
          "delta": -0.0105,
          "percent_delta": -0.032,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.315,
          "after": 0.5772,
          "delta": 0.2622,
          "percent_delta": 0.8324,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.37,
          "after": 0.7272,
          "delta": 0.3572,
          "percent_delta": 0.9654,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.427,
          "after": 0.4246,
          "delta": -0.0024,
          "percent_delta": -0.0056,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.667,
          "after": 1.3099,
          "delta": 0.6429,
          "percent_delta": 0.9639,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 10,
        "boosted_metrics": 8,
        "deboosted_metrics": 2,
        "better_metrics": 7,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.13,
          "after": 5.5908,
          "delta": 2.4608,
          "percent_delta": 0.7862,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.328,
          "after": 0.3175,
          "delta": -0.0105,
          "percent_delta": -0.032,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 3,
        "last_10": 4,
        "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.2842,
        "predicted_3B": 0.1446,
        "predicted_AB": 5.5908,
        "predicted_AVG": 0.2476,
        "predicted_BB": 0.3026,
        "predicted_H": 1.3842,
        "predicted_HBP": 0.102,
        "predicted_HR": 0.1082,
        "predicted_OBP": 0.2862,
        "predicted_R": 0.5523,
        "predicted_RBI": 0.6959,
        "predicted_SLG": 0.4082,
        "predicted_SO": 1.3248
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2842,
          "after": 0.2842,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.1446,
          "after": 0.1446,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.5908,
          "after": 5.5908,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2731,
          "after": 0.2476,
          "delta": -0.0255,
          "percent_delta": -0.0934,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3061,
          "after": 0.3026,
          "delta": -0.0035,
          "percent_delta": -0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.4158,
          "after": 1.3842,
          "delta": -0.0316,
          "percent_delta": -0.0223,
          "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.1096,
          "after": 0.1082,
          "delta": -0.0014,
          "percent_delta": -0.0128,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3175,
          "after": 0.2862,
          "delta": -0.0313,
          "percent_delta": -0.0986,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5772,
          "after": 0.5523,
          "delta": -0.0249,
          "percent_delta": -0.0431,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7272,
          "after": 0.6959,
          "delta": -0.0313,
          "percent_delta": -0.043,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4246,
          "after": 0.4082,
          "delta": -0.0164,
          "percent_delta": -0.0386,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.3099,
          "after": 1.3248,
          "delta": 0.0149,
          "percent_delta": 0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.3175,
          "after": 0.2862,
          "delta": -0.0313,
          "percent_delta": -0.0986,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 6 (raw=5.59), rates preserved: AVG=0.248 HR/AB=0.019",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.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.2842,
          "after": 0.0,
          "delta": -0.2842,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.1446,
          "after": 0.0,
          "delta": -0.1446,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 5.5908,
          "after": 6.0,
          "delta": 0.4092,
          "percent_delta": 0.0732,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3026,
          "after": 0.0,
          "delta": -0.3026,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.3842,
          "after": 1.0,
          "delta": -0.3842,
          "percent_delta": -0.2776,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.102,
          "after": 0.0,
          "delta": -0.102,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1082,
          "after": 0.0,
          "delta": -0.1082,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6959,
          "after": 1.0,
          "delta": 0.3041,
          "percent_delta": 0.437,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.3248,
          "after": 1.0,
          "delta": -0.3248,
          "percent_delta": -0.2452,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 2,
        "deboosted_metrics": 7,
        "better_metrics": 3,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 5.5908,
          "after": 6.0,
          "delta": 0.4092,
          "percent_delta": 0.0732,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.3842,
          "after": 1.0,
          "delta": -0.3842,
          "percent_delta": -0.2776,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 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": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5523,
          "after": 1.0,
          "delta": 0.4477,
          "percent_delta": 0.8106,
          "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.5523,
          "after": 1.0,
          "delta": 0.4477,
          "percent_delta": 0.8106,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_AVG": 0.167,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.167,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.167,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2476,
          "after": 0.167,
          "delta": -0.0806,
          "percent_delta": -0.3255,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2862,
          "after": 0.167,
          "delta": -0.1192,
          "percent_delta": -0.4165,
          "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.4082,
          "after": 0.167,
          "delta": -0.2412,
          "percent_delta": -0.5909,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.4082,
          "after": 0.167,
          "delta": -0.2412,
          "percent_delta": -0.5909,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 1.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "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": 6.0,
          "after": 4.0,
          "delta": -2.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "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": 6.0,
          "after": 4.0,
          "delta": -2.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 1.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2476,
        "predicted_BB": 0.0,
        "predicted_CF": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2862,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4082,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.167,
          "after": 0.2476,
          "delta": 0.0806,
          "percent_delta": 0.4826,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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.167,
          "after": 0.2862,
          "delta": 0.1192,
          "percent_delta": 0.7139,
          "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.167,
          "after": 0.4082,
          "delta": 0.2412,
          "percent_delta": 1.4443,
          "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.167,
          "after": 0.4082,
          "delta": 0.2412,
          "percent_delta": 1.4443,
          "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.185,
        "after": 0.0,
        "delta": -0.185,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.074,
        "after": 1.0,
        "delta": 0.926,
        "percent_delta": 12.5135,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.13,
        "after": 4.0,
        "delta": 0.87,
        "percent_delta": 0.278,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.282,
        "after": 0.2476,
        "delta": -0.0344,
        "percent_delta": -0.122,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.194,
        "after": 0.0,
        "delta": -0.194,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.74,
        "after": 2.0,
        "delta": 1.26,
        "percent_delta": 1.7027,
        "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.328,
        "after": 0.2862,
        "delta": -0.0418,
        "percent_delta": -0.1274,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.315,
        "after": 1.0,
        "delta": 0.685,
        "percent_delta": 2.1746,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.37,
        "after": 1.0,
        "delta": 0.63,
        "percent_delta": 1.7027,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.427,
        "after": 0.4082,
        "delta": -0.0188,
        "percent_delta": -0.044,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.667,
        "after": 0.0,
        "delta": -0.667,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 12,
      "boosted_metrics": 5,
      "deboosted_metrics": 7,
      "better_metrics": 6,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.74,
        "after": 2.0,
        "delta": 1.26,
        "percent_delta": 1.7027,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.667,
        "after": 0.0,
        "delta": -0.667,
        "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.185-
predicted_3B0.074-
predicted_AB3.130-
predicted_AVG0.282-
predicted_BB0.194-
predicted_H0.740-
predicted_HR0.060-
predicted_OBP0.328-
predicted_R0.315-
predicted_RBI0.370-
predicted_SLG0.427-
predicted_SO0.667-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.2840.099
predicted_3B0.1450.071
predicted_AB5.5912.461
predicted_AVG0.273-0.009
predicted_BB0.3060.112
predicted_H1.4160.676
predicted_HBP0.102-
predicted_HR0.1100.050
predicted_OBP0.318-0.011
predicted_R0.5770.262
predicted_RBI0.7270.357
predicted_SLG0.425-0.002
predicted_SO1.3100.643
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.2840.000
predicted_3B0.1450.000
predicted_AB5.5910.000
predicted_AVG0.248-0.026
predicted_BB0.303-0.004
predicted_H1.384-0.032
predicted_HBP0.1020.000
predicted_HR0.108-0.001
predicted_OBP0.286-0.031
predicted_R0.552-0.025
predicted_RBI0.696-0.031
predicted_SLG0.408-0.016
predicted_SO1.3250.015
4. ab_floor_and_scaling

AB rounded to 6 (raw=5.59), rates preserved: AVG=0.248 HR/AB=0.019

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB6.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
6. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.284
predicted_3B0.000-0.145
predicted_AB6.0000.409
predicted_AVG0.167-0.081
predicted_BB0.000-0.303
predicted_H1.000-0.384
predicted_HR0.000-0.108
predicted_OBP0.167-0.119
predicted_R1.0000.448
predicted_RBI1.0000.304
predicted_SLG0.167-0.241
predicted_SO1.000-0.325
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B1.0001.000
AB4.000-2.000
BB0.0000.000
CS0.0000.000
H2.0001.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: 108
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.203-18.0003.0000.0001.0000.0000.0002.0000.0007.0000.16670.16670.27780.16670.00000.00000.00000.3889
last_100.204-38.00010.0000.0001.0000.0002.0004.0000.00012.0000.26320.26320.31580.26320.00000.05260.00000.3158
season0.6034-338.00095.00020.0008.0008.00057.00034.00021.00072.0000.28110.33240.45860.28110.02370.16860.06210.2130
Weighted Prediction From Real Data
MetricValue
predicted_2B0.4170
predicted_3B0.2390
predicted_AB8.8830
predicted_AVG0.2612
predicted_BB0.4560
predicted_H2.3200
predicted_HBP0.1020
predicted_HR0.1760
predicted_OBP0.3035
predicted_R0.9280
predicted_RBI1.2050
predicted_SLG0.4214
predicted_SO2.1700
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18500.41700.2842model_form_blend
predicted_3B0.07400.23900.1446model_form_blend
predicted_AB3.13008.88305.5908model_form_blend
predicted_AVG0.28200.26120.2731model_form_blend
predicted_BB0.19400.45600.3061model_form_blend
predicted_H0.74002.32001.4158model_form_blend
predicted_HBP-0.10200.1020form_only
predicted_HR0.06000.17600.1096model_form_blend
predicted_OBP0.32800.30350.3175model_form_blend
predicted_R0.31500.92800.5772model_form_blend
predicted_RBI0.37001.20500.7272model_form_blend
predicted_SLG0.42700.42140.4246model_form_blend
predicted_SO0.66702.17001.3099model_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 date114
Season rows before report date114
Report year2026
Profile rows used108
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H2
2B0
3B1
HR0
R1
RBI1
BB0
SO0
SF0
HBP0
season_avg0.281

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_3B1
Hitting_AB5
Hitting_AVG0.4
Hitting_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R2
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
allPositionsPlayedCF
gameID20260520_TEX@COL
game_typefull
mlbID664983
playerID664983
playerNameJake McCarthy
posLF
startedTrue
startingPositionCF
teamCOL
teamID9
game_date2026-05-20
sl_k_percent18.2
sl_bb_percent7.3
sl_woba0.356
sl_xwoba0.326
sl_xba0.279
sl_xslg0.402
sl_sweet_spot_percent35.8
sl_barrel_batted_rate5.0
sl_hard_hit_percent19.8
sl_exit_velocity_avg83.2
sl_launch_angle_avg13.0
sl_whiff_percent23.1
sl_swing_percent52.7
Braxton Fulford (690924) · BATTER · DH · Team COL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 10
All-history rows before 20260521: 10
System season_avg: 0.3160
Data season_avg (2026 season-to-date): 0.3158
Diff (system - data): 0.0002
System opponent_avg: 0.1260

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.5004.0003.000Hitting_AB1.9001.0002.1003.000
predicted_AVG0.2720.2500.333Hitting_AVG0.3160.000-0.0660.250
predicted_BB0.3950.0000.000Hitting_BB0.3000.000-0.3000.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.1801.0001.000Hitting_H0.6000.0000.4001.000
predicted_HR0.0400.0000.000Hitting_HR0.3000.000-0.3000.000
predicted_OBP0.2940.2500.333Hitting_OBP0.4090.000-0.1590.250
predicted_R1.5791.0001.000Hitting_R1.2000.000-0.2001.000
predicted_RBI0.1501.0000.000Hitting_RBI0.6000.0000.4001.000
predicted_SLG0.4190.5000.333Hitting_SLG0.7890.000-0.2890.500
predicted_SO0.5261.0001.000Hitting_SO0.4001.0000.6000.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics5
Deboosted Metrics5
Better Metrics4
Worse Metrics6
Biggest Boostpredicted_AB: 2.5000 -> 4.0000 (boost 1.5000, better)
Biggest Deboostpredicted_R: 1.5790 -> 1.0000 (deboost -0.5790, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend75243predicted_AB: 2.5000 -> 2.7723 (boost 0.2723, better)predicted_R: 1.5790 -> 1.4921 (deboost -0.0869, worse)Final model 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_snapshot40404-predicted_SLG: 0.4143 -> 0.2156 (deboost -0.1987, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling62415predicted_SO: 0.6040 -> 1.0000 (boost 0.3960, worse)predicted_BB: 0.4330 -> 0.0000 (deboost -0.4330, worse)AB rounded to 3 (raw=2.77), rates preserved: AVG=0.118 HR/AB=0.029
5bvp_blend00000--Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.000)
6consistency_constraints21111predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_R: 1.4278 -> 1.0000 (deboost -0.4278, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context33030predicted_AVG: 0.1183 -> 0.3330 (boost 0.2147, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference33030predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
9current_json_final30303-predicted_AVG: 0.3330 -> 0.1183 (deboost -0.2147, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "690924",
  "player_name": "Braxton Fulford",
  "position": "DH",
  "team": "COL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "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.272,
        "predicted_BB": 0.395,
        "predicted_H": 0.18,
        "predicted_HR": 0.04,
        "predicted_OBP": 0.294,
        "predicted_R": 1.579,
        "predicted_RBI": 0.15,
        "predicted_SLG": 0.419,
        "predicted_SO": 0.526
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0276,
        "predicted_3B": 0.0023,
        "predicted_AB": 2.7723,
        "predicted_AVG": 0.2549,
        "predicted_BB": 0.438,
        "predicted_H": 0.3355,
        "predicted_HBP": 0.018,
        "predicted_HR": 0.0802,
        "predicted_OBP": 0.3029,
        "predicted_R": 1.4921,
        "predicted_RBI": 0.2473,
        "predicted_SLG": 0.4143,
        "predicted_SO": 0.5972
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0276,
          "delta": 0.0276,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0023,
          "delta": 0.0023,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.5,
          "after": 2.7723,
          "delta": 0.2723,
          "percent_delta": 0.1089,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.272,
          "after": 0.2549,
          "delta": -0.0171,
          "percent_delta": -0.0629,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.395,
          "after": 0.438,
          "delta": 0.043,
          "percent_delta": 0.1089,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.18,
          "after": 0.3355,
          "delta": 0.1555,
          "percent_delta": 0.8639,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.04,
          "after": 0.0802,
          "delta": 0.0402,
          "percent_delta": 1.005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.294,
          "after": 0.3029,
          "delta": 0.0089,
          "percent_delta": 0.0303,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.579,
          "after": 1.4921,
          "delta": -0.0869,
          "percent_delta": -0.055,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.15,
          "after": 0.2473,
          "delta": 0.0973,
          "percent_delta": 0.6487,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.419,
          "after": 0.4143,
          "delta": -0.0047,
          "percent_delta": -0.0112,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.526,
          "after": 0.5972,
          "delta": 0.0712,
          "percent_delta": 0.1354,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 5,
        "deboosted_metrics": 2,
        "better_metrics": 4,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.5,
          "after": 2.7723,
          "delta": 0.2723,
          "percent_delta": 0.1089,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.579,
          "after": 1.4921,
          "delta": -0.0869,
          "percent_delta": -0.055,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 3,
        "last_10": 6,
        "season": 6
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0276,
        "predicted_3B": 0.0023,
        "predicted_AB": 2.7723,
        "predicted_AVG": 0.1183,
        "predicted_BB": 0.433,
        "predicted_H": 0.328,
        "predicted_HBP": 0.018,
        "predicted_HR": 0.0792,
        "predicted_OBP": 0.2374,
        "predicted_R": 1.4278,
        "predicted_RBI": 0.2366,
        "predicted_SLG": 0.2156,
        "predicted_SO": 0.604
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0276,
          "after": 0.0276,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0023,
          "after": 0.0023,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.7723,
          "after": 2.7723,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2549,
          "after": 0.1183,
          "delta": -0.1366,
          "percent_delta": -0.5359,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.438,
          "after": 0.433,
          "delta": -0.005,
          "percent_delta": -0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.3355,
          "after": 0.328,
          "delta": -0.0075,
          "percent_delta": -0.0224,
          "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.0802,
          "after": 0.0792,
          "delta": -0.001,
          "percent_delta": -0.0125,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3029,
          "after": 0.2374,
          "delta": -0.0655,
          "percent_delta": -0.2162,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.4921,
          "after": 1.4278,
          "delta": -0.0643,
          "percent_delta": -0.0431,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2473,
          "after": 0.2366,
          "delta": -0.0107,
          "percent_delta": -0.0433,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4143,
          "after": 0.2156,
          "delta": -0.1987,
          "percent_delta": -0.4796,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5972,
          "after": 0.604,
          "delta": 0.0068,
          "percent_delta": 0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4143,
          "after": 0.2156,
          "delta": -0.1987,
          "percent_delta": -0.4796,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.77), rates preserved: AVG=0.118 HR/AB=0.029",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0276,
          "after": 0.0,
          "delta": -0.0276,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0023,
          "after": 0.0,
          "delta": -0.0023,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.7723,
          "after": 3.0,
          "delta": 0.2277,
          "percent_delta": 0.0821,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.433,
          "after": 0.0,
          "delta": -0.433,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.328,
          "after": 0.0,
          "delta": -0.328,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.018,
          "after": 0.0,
          "delta": -0.018,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0792,
          "after": 0.0,
          "delta": -0.0792,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2366,
          "after": 0.0,
          "delta": -0.2366,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.604,
          "after": 1.0,
          "delta": 0.396,
          "percent_delta": 0.6556,
          "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.604,
          "after": 1.0,
          "delta": 0.396,
          "percent_delta": 0.6556,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.433,
          "after": 0.0,
          "delta": -0.433,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.000)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 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.9333,
        "bvp": 0.0667
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 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": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.4278,
          "after": 1.0,
          "delta": -0.4278,
          "percent_delta": -0.2996,
          "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": 1.4278,
          "after": 1.0,
          "delta": -0.4278,
          "percent_delta": -0.2996,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.333,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.333,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.333,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1183,
          "after": 0.333,
          "delta": 0.2147,
          "percent_delta": 1.8149,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2374,
          "after": 0.333,
          "delta": 0.0956,
          "percent_delta": 0.4027,
          "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.2156,
          "after": 0.333,
          "delta": 0.1174,
          "percent_delta": 0.5445,
          "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.1183,
          "after": 0.333,
          "delta": 0.2147,
          "percent_delta": 1.8149,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.1183,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_DH": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2374,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2156,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.333,
          "after": 0.1183,
          "delta": -0.2147,
          "percent_delta": -0.6447,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.333,
          "after": 0.2374,
          "delta": -0.0956,
          "percent_delta": -0.287,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.333,
          "after": 0.2156,
          "delta": -0.1174,
          "percent_delta": -0.3525,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.333,
          "after": 0.1183,
          "delta": -0.2147,
          "percent_delta": -0.6447,
          "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": 4.0,
        "delta": 1.5,
        "percent_delta": 0.6,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.272,
        "after": 0.1183,
        "delta": -0.1537,
        "percent_delta": -0.5651,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.395,
        "after": 0.0,
        "delta": -0.395,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.18,
        "after": 1.0,
        "delta": 0.82,
        "percent_delta": 4.5556,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.04,
        "after": 0.0,
        "delta": -0.04,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_OBP",
        "before": 0.294,
        "after": 0.2374,
        "delta": -0.0566,
        "percent_delta": -0.1925,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 1.579,
        "after": 1.0,
        "delta": -0.579,
        "percent_delta": -0.3667,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.15,
        "after": 1.0,
        "delta": 0.85,
        "percent_delta": 5.6667,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.419,
        "after": 0.2156,
        "delta": -0.2034,
        "percent_delta": -0.4854,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.526,
        "after": 1.0,
        "delta": 0.474,
        "percent_delta": 0.9011,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 5,
      "deboosted_metrics": 5,
      "better_metrics": 4,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 2.5,
        "after": 4.0,
        "delta": 1.5,
        "percent_delta": 0.6,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 1.579,
        "after": 1.0,
        "delta": -0.579,
        "percent_delta": -0.3667,
        "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.000-
predicted_AB2.500-
predicted_AVG0.272-
predicted_BB0.395-
predicted_H0.180-
predicted_HR0.040-
predicted_OBP0.294-
predicted_R1.579-
predicted_RBI0.150-
predicted_SLG0.419-
predicted_SO0.526-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.0280.028
predicted_3B0.0020.002
predicted_AB2.7720.272
predicted_AVG0.255-0.017
predicted_BB0.4380.043
predicted_H0.3360.156
predicted_HBP0.018-
predicted_HR0.0800.040
predicted_OBP0.3030.009
predicted_R1.492-0.087
predicted_RBI0.2470.097
predicted_SLG0.414-0.005
predicted_SO0.5970.071
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.0280.000
predicted_3B0.0020.000
predicted_AB2.7720.000
predicted_AVG0.118-0.137
predicted_BB0.433-0.005
predicted_H0.328-0.008
predicted_HBP0.0180.000
predicted_HR0.079-0.001
predicted_OBP0.237-0.066
predicted_R1.428-0.064
predicted_RBI0.237-0.011
predicted_SLG0.216-0.199
predicted_SO0.6040.007
4. ab_floor_and_scaling

AB rounded to 3 (raw=2.77), rates preserved: AVG=0.118 HR/AB=0.029

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H0.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
5. 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
AB3.0000.000
BB0.0000.000
H0.0000.000
HR0.0000.000
RBI0.0000.000
SO1.0000.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
R1.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.028
predicted_3B0.000-0.002
predicted_AB3.0000.228
predicted_AVG0.3330.215
predicted_BB0.000-0.433
predicted_H1.0000.672
predicted_HR0.000-0.079
predicted_OBP0.3330.096
predicted_R1.000-0.428
predicted_RBI0.000-0.237
predicted_SLG0.3330.117
predicted_SO1.0000.396
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 10
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.203-8.0000.0000.0000.0000.0000.0006.0003.0002.0000.00000.27270.00000.00000.00000.00000.37500.2500
last_100.206-19.0006.0000.0000.0003.0006.00012.0003.0004.0000.31580.40910.78950.31580.15790.31580.15790.2105
season0.606-19.0006.0000.0000.0003.0006.00012.0003.0004.0000.31580.40910.78950.31580.15790.31580.15790.2105
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0980
predicted_3B0.0080
predicted_AB3.4680
predicted_AVG0.2113
predicted_BB0.5480
predicted_H0.7330
predicted_HBP0.0180
predicted_HR0.1830
predicted_OBP0.3256
predicted_R1.2700
predicted_RBI0.4960
predicted_SLG0.4023
predicted_SO0.7790
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.00000.09800.0276model_form_blend
predicted_3B0.00000.00800.0023model_form_blend
predicted_AB2.50003.46802.7723model_form_blend
predicted_AVG0.27200.21130.2549model_form_blend
predicted_BB0.39500.54800.4380model_form_blend
predicted_H0.18000.73300.3355model_form_blend
predicted_HBP-0.01800.0180form_only
predicted_HR0.04000.18300.0802model_form_blend
predicted_OBP0.29400.32560.3029model_form_blend
predicted_R1.57901.27001.4921model_form_blend
predicted_RBI0.15000.49600.2473model_form_blend
predicted_SLG0.41900.40230.4143model_form_blend
predicted_SO0.52600.77900.5972model_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 date10
Season rows before report date10
Report year2026
Profile rows used10
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
RBI1
BB0
SO1
SF0
HBP0
season_avg0.316

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB1
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder9
Hitting_substitutionOrder1
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedPH
gameID20260520_TEX@COL
game_typeph
mlbID690924
noteStruck out for Sullivan, B in the 9th.
playerID690924
playerNameBraxton Fulford
posC
startedFalse
startingPositionPH
teamCOL
teamID9
game_date2026-05-20
sl_k_percent33.3
sl_bb_percent11.1
sl_woba0.41
sl_xwoba0.21
sl_xba0.14
sl_xslg0.207
sl_sweet_spot_percent20.0
sl_barrel_batted_rate0.0
sl_hard_hit_percent60.0
sl_exit_velocity_avg93.2
sl_launch_angle_avg23.9
sl_whiff_percent53.3
sl_swing_percent44.1
Troy Johnston (687859) · BATTER · LF · Team COL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 157
All-history rows before 20260521: 157
System season_avg: 0.3420
Data season_avg (2026 season-to-date): 0.3422
Diff (system - data): -0.0002
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.3290.0001.000Hitting_2B0.3250.000-0.3250.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.6194.0007.000Hitting_AB3.5734.0000.4270.000
predicted_AVG0.2740.2500.286Hitting_AVG0.3420.250-0.0920.000
predicted_BB0.3420.0001.000Hitting_BB0.3500.000-0.3500.000
predicted_CS-0.0000.000BaseRunning_CS0.0510.000-0.0510.000
predicted_H0.7801.0002.000Hitting_H1.2231.000-0.2230.000
predicted_HR0.0600.0000.000Hitting_HR0.0640.000-0.0640.000
predicted_OBP0.3420.2500.375Hitting_OBP0.4060.250-0.1560.000
predicted_R0.4390.0001.000Hitting_R0.4331.000-0.433-1.000
predicted_RBI0.3900.0001.000Hitting_RBI0.5611.000-0.561-1.000
predicted_SLG0.4090.2500.429Hitting_SLG0.4870.250-0.2370.000
predicted_SO0.8581.0002.000Hitting_SO0.8471.0000.1530.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics6
Deboosted Metrics5
Better Metrics5
Worse Metrics6
Biggest Boostpredicted_AB: 3.6190 -> 4.0000 (boost 0.3810, better)
Biggest Deboostpredicted_R: 0.4390 -> 0.0000 (deboost -0.4390, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend11110101predicted_AB: 3.6190 -> 7.4133 (boost 3.7943, 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_H: 2.3551 -> 2.3026 (deboost -0.0525, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling73425predicted_2B: 0.6214 -> 1.0000 (boost 0.3786, better)predicted_AB: 7.4133 -> 7.0000 (deboost -0.4133, worse)AB rounded to 7 (raw=7.41), rates preserved: AVG=0.311 HR/AB=0.016
5consistency_constraints11010predicted_R: 0.8648 -> 1.0000 (boost 0.1352, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context31212predicted_OBP: 0.3657 -> 0.3750 (boost 0.0093, better)predicted_AVG: 0.3106 -> 0.2860 (deboost -0.0246, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference70716-predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final32121predicted_AVG: 0.2860 -> 0.3106 (boost 0.0246, better)predicted_OBP: 0.3750 -> 0.3657 (deboost -0.0093, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "687859",
  "player_name": "Troy Johnston",
  "position": "LF",
  "team": "COL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.329,
        "predicted_3B": 0.0,
        "predicted_AB": 3.619,
        "predicted_AVG": 0.274,
        "predicted_BB": 0.342,
        "predicted_H": 0.78,
        "predicted_HR": 0.06,
        "predicted_OBP": 0.342,
        "predicted_R": 0.439,
        "predicted_RBI": 0.39,
        "predicted_SLG": 0.409,
        "predicted_SO": 0.858
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.6214,
        "predicted_3B": 0.0009,
        "predicted_AB": 7.4133,
        "predicted_AVG": 0.31,
        "predicted_BB": 0.6514,
        "predicted_H": 2.3551,
        "predicted_HBP": 0.057,
        "predicted_HR": 0.1185,
        "predicted_OBP": 0.3716,
        "predicted_R": 0.9038,
        "predicted_RBI": 0.9936,
        "predicted_SLG": 0.4422,
        "predicted_SO": 1.7645
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.329,
          "after": 0.6214,
          "delta": 0.2924,
          "percent_delta": 0.8888,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.619,
          "after": 7.4133,
          "delta": 3.7943,
          "percent_delta": 1.0484,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.274,
          "after": 0.31,
          "delta": 0.036,
          "percent_delta": 0.1314,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.342,
          "after": 0.6514,
          "delta": 0.3094,
          "percent_delta": 0.9047,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.78,
          "after": 2.3551,
          "delta": 1.5751,
          "percent_delta": 2.0194,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.06,
          "after": 0.1185,
          "delta": 0.0585,
          "percent_delta": 0.975,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.342,
          "after": 0.3716,
          "delta": 0.0296,
          "percent_delta": 0.0865,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.439,
          "after": 0.9038,
          "delta": 0.4648,
          "percent_delta": 1.0588,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.39,
          "after": 0.9936,
          "delta": 0.6036,
          "percent_delta": 1.5477,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.409,
          "after": 0.4422,
          "delta": 0.0332,
          "percent_delta": 0.0812,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.858,
          "after": 1.7645,
          "delta": 0.9065,
          "percent_delta": 1.0565,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 11,
        "boosted_metrics": 11,
        "deboosted_metrics": 0,
        "better_metrics": 10,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.619,
          "after": 7.4133,
          "delta": 3.7943,
          "percent_delta": 1.0484,
          "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": 2,
        "last_10": 3,
        "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.6214,
        "predicted_3B": 0.0009,
        "predicted_AB": 7.4133,
        "predicted_AVG": 0.3106,
        "predicted_BB": 0.644,
        "predicted_H": 2.3026,
        "predicted_HBP": 0.057,
        "predicted_HR": 0.117,
        "predicted_OBP": 0.3657,
        "predicted_R": 0.8648,
        "predicted_RBI": 0.9508,
        "predicted_SLG": 0.442,
        "predicted_SO": 1.7846
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.6214,
          "after": 0.6214,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.4133,
          "after": 7.4133,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.31,
          "after": 0.3106,
          "delta": 0.0006,
          "percent_delta": 0.0019,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.6514,
          "after": 0.644,
          "delta": -0.0074,
          "percent_delta": -0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.3551,
          "after": 2.3026,
          "delta": -0.0525,
          "percent_delta": -0.0223,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.057,
          "after": 0.057,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1185,
          "after": 0.117,
          "delta": -0.0015,
          "percent_delta": -0.0127,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3716,
          "after": 0.3657,
          "delta": -0.0059,
          "percent_delta": -0.0159,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.9038,
          "after": 0.8648,
          "delta": -0.039,
          "percent_delta": -0.0432,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.9936,
          "after": 0.9508,
          "delta": -0.0428,
          "percent_delta": -0.0431,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4422,
          "after": 0.442,
          "delta": -0.0002,
          "percent_delta": -0.0005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.7645,
          "after": 1.7846,
          "delta": 0.0201,
          "percent_delta": 0.0114,
          "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": 2.3551,
          "after": 2.3026,
          "delta": -0.0525,
          "percent_delta": -0.0223,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 7 (raw=7.41), rates preserved: AVG=0.311 HR/AB=0.016",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.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.6214,
          "after": 1.0,
          "delta": 0.3786,
          "percent_delta": 0.6093,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.4133,
          "after": 7.0,
          "delta": -0.4133,
          "percent_delta": -0.0558,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.644,
          "after": 1.0,
          "delta": 0.356,
          "percent_delta": 0.5528,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.3026,
          "after": 2.0,
          "delta": -0.3026,
          "percent_delta": -0.1314,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.057,
          "after": 0.0,
          "delta": -0.057,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.117,
          "after": 0.0,
          "delta": -0.117,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.9508,
          "after": 1.0,
          "delta": 0.0492,
          "percent_delta": 0.0517,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.7846,
          "after": 2.0,
          "delta": 0.2154,
          "percent_delta": 0.1207,
          "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_2B",
          "before": 0.6214,
          "after": 1.0,
          "delta": 0.3786,
          "percent_delta": 0.6093,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 7.4133,
          "after": 7.0,
          "delta": -0.4133,
          "percent_delta": -0.0558,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.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": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.0,
          "after": 7.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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.8648,
          "after": 1.0,
          "delta": 0.1352,
          "percent_delta": 0.1563,
          "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.8648,
          "after": 1.0,
          "delta": 0.1352,
          "percent_delta": 0.1563,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.0,
        "predicted_AVG": 0.286,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.375,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.429,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.0,
          "after": 7.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3106,
          "after": 0.286,
          "delta": -0.0246,
          "percent_delta": -0.0792,
          "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": 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.3657,
          "after": 0.375,
          "delta": 0.0093,
          "percent_delta": 0.0254,
          "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.442,
          "after": 0.429,
          "delta": -0.013,
          "percent_delta": -0.0294,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.3657,
          "after": 0.375,
          "delta": 0.0093,
          "percent_delta": 0.0254,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.3106,
          "after": 0.286,
          "delta": -0.0246,
          "percent_delta": -0.0792,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 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": 7.0,
          "after": 4.0,
          "delta": -3.0,
          "percent_delta": -0.4286,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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": 7,
        "boosted_metrics": 0,
        "deboosted_metrics": 7,
        "better_metrics": 1,
        "worse_metrics": 6,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 7.0,
          "after": 4.0,
          "delta": -3.0,
          "percent_delta": -0.4286,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.3106,
        "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.3657,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 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.286,
          "after": 0.3106,
          "delta": 0.0246,
          "percent_delta": 0.086,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.375,
          "after": 0.3657,
          "delta": -0.0093,
          "percent_delta": -0.0248,
          "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.429,
          "after": 0.442,
          "delta": 0.013,
          "percent_delta": 0.0303,
          "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_AVG",
          "before": 0.286,
          "after": 0.3106,
          "delta": 0.0246,
          "percent_delta": 0.086,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.375,
          "after": 0.3657,
          "delta": -0.0093,
          "percent_delta": -0.0248,
          "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.329,
        "after": 0.0,
        "delta": -0.329,
        "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.619,
        "after": 4.0,
        "delta": 0.381,
        "percent_delta": 0.1053,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.274,
        "after": 0.3106,
        "delta": 0.0366,
        "percent_delta": 0.1336,
        "direction": "boost",
        "projection_effect": "better",
        "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.78,
        "after": 1.0,
        "delta": 0.22,
        "percent_delta": 0.2821,
        "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.342,
        "after": 0.3657,
        "delta": 0.0237,
        "percent_delta": 0.0693,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.439,
        "after": 0.0,
        "delta": -0.439,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.39,
        "after": 0.0,
        "delta": -0.39,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.409,
        "after": 0.442,
        "delta": 0.033,
        "percent_delta": 0.0807,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.858,
        "after": 1.0,
        "delta": 0.142,
        "percent_delta": 0.1655,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 6,
      "deboosted_metrics": 5,
      "better_metrics": 5,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.619,
        "after": 4.0,
        "delta": 0.381,
        "percent_delta": 0.1053,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.439,
        "after": 0.0,
        "delta": -0.439,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

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.329-
predicted_3B0.000-
predicted_AB3.619-
predicted_AVG0.274-
predicted_BB0.342-
predicted_H0.780-
predicted_HR0.060-
predicted_OBP0.342-
predicted_R0.439-
predicted_RBI0.390-
predicted_SLG0.409-
predicted_SO0.858-
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.6210.292
predicted_3B0.0010.001
predicted_AB7.4133.794
predicted_AVG0.3100.036
predicted_BB0.6510.309
predicted_H2.3551.575
predicted_HBP0.057-
predicted_HR0.1180.058
predicted_OBP0.3720.030
predicted_R0.9040.465
predicted_RBI0.9940.604
predicted_SLG0.4420.033
predicted_SO1.7640.906
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.6210.000
predicted_3B0.0010.000
predicted_AB7.4130.000
predicted_AVG0.3110.001
predicted_BB0.644-0.007
predicted_H2.303-0.053
predicted_HBP0.0570.000
predicted_HR0.117-0.001
predicted_OBP0.366-0.006
predicted_R0.865-0.039
predicted_RBI0.951-0.043
predicted_SLG0.442-0.000
predicted_SO1.7850.020
4. ab_floor_and_scaling

AB rounded to 7 (raw=7.41), rates preserved: AVG=0.311 HR/AB=0.016

MetricValueDelta vs Prev Step
2B1.000-
3B0.000-
AB7.000-
BB1.000-
H2.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO2.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB7.0000.000
BB1.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
6. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B1.0000.379
predicted_3B0.000-0.001
predicted_AB7.000-0.413
predicted_AVG0.286-0.025
predicted_BB1.0000.356
predicted_H2.000-0.303
predicted_HR0.000-0.117
predicted_OBP0.3750.009
predicted_R1.0000.135
predicted_RBI1.0000.049
predicted_SLG0.429-0.013
predicted_SO2.0000.215
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.000-1.000
3B0.0000.000
AB4.000-3.000
BB0.000-1.000
CS0.0000.000
H1.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.000-1.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.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-20.0009.0000.0000.0000.0001.0001.0000.0005.0000.45000.45000.45000.45000.00000.05000.00000.2500
last_100.203-40.00019.0005.0000.0000.0006.00011.0005.00010.0000.47500.53330.60000.47500.00000.15000.12500.2500
season0.6043-561.000192.00051.0000.00010.00088.00068.00053.000133.0000.34220.40190.48660.34220.01780.15690.09450.2371
Weighted Prediction From Real Data
MetricValue
predicted_2B0.9990
predicted_3B0.0020
predicted_AB12.3130
predicted_AVG0.3564
predicted_BB1.0510
predicted_H4.3890
predicted_HBP0.0570
predicted_HR0.1940
predicted_OBP0.4099
predicted_R1.5040
predicted_RBI1.7730
predicted_SLG0.4851
predicted_SO2.9350
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.32900.99900.6214model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB3.619012.31307.4133model_form_blend
predicted_AVG0.27400.35640.3100model_form_blend
predicted_BB0.34201.05100.6514model_form_blend
predicted_H0.78004.38902.3551model_form_blend
predicted_HBP-0.05700.0570form_only
predicted_HR0.06000.19400.1185model_form_blend
predicted_OBP0.34200.40990.3716model_form_blend
predicted_R0.43901.50400.9038model_form_blend
predicted_RBI0.39001.77300.9936model_form_blend
predicted_SLG0.40900.48510.4422model_form_blend
predicted_SO0.85802.93501.7645model_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 date157
Season rows before report date157
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
H1
2B0
3B0
HR0
R0
RBI0
BB0
SO1
SF0
HBP0
season_avg0.342

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_SO1
Hitting_TB1
Hitting_battingOrder5
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedLF
gameID20260520_TEX@COL
game_typefull
mlbID687859
playerID687859
playerNameTroy Johnston
posRF
startedTrue
startingPositionLF
teamCOL
teamID9
game_date2026-05-20
sl_k_percent21.8
sl_bb_percent7.7
sl_woba0.378
sl_xwoba0.325
sl_xba0.275
sl_xslg0.389
sl_sweet_spot_percent46.3
sl_barrel_batted_rate1.9
sl_hard_hit_percent38.9
sl_exit_velocity_avg88.9
sl_launch_angle_avg12.8
sl_whiff_percent24.6
sl_swing_percent49.3
Zach Agnos (688642) · PITCHER · Starter · Team COL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 13
All-history rows before 20260521: 13

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.7690.0000.2311.000
predicted_ER5.0005.0005.000Pitching_ER1.3852.0003.6153.000
predicted_H7.0007.0007.000Pitching_H2.3854.0004.6153.000
predicted_IP4.1004.1004.100Pitching_InningsPitched2.1234.1001.9770.000
predicted_SO3.0003.0003.000Pitching_SO1.5381.0001.4622.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: 1.0000 -> 3.0000 (boost 2.0000, better)
Biggest Deboostpredicted_IP: 4.3333 -> 4.1000 (deboost -0.2333, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final21111predicted_SO: 1.0000 -> 3.0000 (boost 2.0000, better)predicted_IP: 4.3333 -> 4.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": "688642",
  "player_name": "Zach Agnos",
  "position": "Starter",
  "team": "COL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 5.0,
        "predicted_H": 7.0,
        "predicted_HR": 3.0,
        "predicted_IP": 4.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": 5.0,
        "predicted_H": 7.0,
        "predicted_HR": 3.0,
        "predicted_IP": 4.1,
        "predicted_R": 5.0,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 7.0,
          "after": 7.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 4.3333,
          "after": 4.1,
          "delta": -0.2333,
          "percent_delta": -0.0538,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 4.3333,
          "after": 4.1,
          "delta": -0.2333,
          "percent_delta": -0.0538,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 5.0,
        "after": 5.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 7.0,
        "after": 7.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 3.0,
        "after": 3.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 4.3333,
        "after": 4.1,
        "delta": -0.2333,
        "percent_delta": -0.0538,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 3.0,
        "delta": 2.0,
        "percent_delta": 2.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 2,
      "boosted_metrics": 1,
      "deboosted_metrics": 1,
      "better_metrics": 1,
      "worse_metrics": 1,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 3.0,
        "delta": 2.0,
        "percent_delta": 2.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 4.3333,
        "after": 4.1,
        "delta": -0.2333,
        "percent_delta": -0.0538,
        "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_ER5.000-
predicted_H7.000-
predicted_HR3.000-
predicted_IP4.333-
predicted_SO1.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 13
Reference playing time: 4.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45512.2007.00011.0003.0004.0001.0004.97371.10530.55260.86840.23680.31580.0790
last_100.351025.10013.00020.0008.00015.0003.0004.61841.10530.51320.78950.31580.59210.1184
season0.201329.00018.00031.00010.00020.0003.0005.58621.41380.62071.06900.34480.68970.1035
Weighted Prediction From Real Data
MetricValue
predicted_BB1.1170
predicted_ER1.7530
predicted_ERA4.6308
predicted_H3.0960
predicted_HR0.3850
predicted_IP3.1000
predicted_SO2.3950
predicted_WHIP1.2370
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00001.11701.0530model_form_blend
predicted_ER5.00001.75303.5278model_form_blend
predicted_ERA-4.63084.6308form_only
predicted_H7.00003.09605.2299model_form_blend
predicted_HR3.00000.38501.8143model_form_blend
predicted_IP4.10003.10004.0000model_form_blend
predicted_SO1.00002.39501.6325model_form_blend
predicted_WHIP-1.23701.2370form_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 date13
Season rows before report date13
Report year2026
Profile rows used13
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP4.1
H7
R5
ER5
BB1
SO3
HR3
BF21
Pitches80

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 Faced17
Pitching_ER2
Pitching_ERA5.59
Pitching_Flyouts5
Pitching_Groundouts4
Pitching_H4
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners3
Pitching_Inherited Runners Scored1
Pitching_InningsPitched4.1
Pitching_Pitches57
Pitching_R2
Pitching_SO1
Pitching_Strikes41
Pitching_Wild Pitch0
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20260515_ARI@COL
game_typefull
mlbID688642
playerID688642
playerNameZach Agnos
posP
startedFalse
startingPositionP
teamCOL
teamID9
game_date2026-05-15
game_pk824360.0
sl_k_percent15.6
sl_bb_percent7.8
sl_woba0.333
sl_xwoba0.334
sl_sweet_spot_percent39.2
sl_barrel_batted_rate10.3
sl_hard_hit_percent38.1
sl_whiff_percent25.7
sl_swing_percent51.3
sv_pitch_count57.0
sv_outs_recorded_est13.0
sv_release_speed89.86491228070176
sv_release_spin_rate2257.280701754386
sv_effective_speed90.48771929824562
sv_launch_speed85.72692307692309
sv_launch_angle20.807692307692307
sv_woba_value4.3
sv_woba_denom17.0
sv_delta_run_exp-0.7809999999999999
sv_delta_home_win_exp-0.016
sl_avg_best_speed77.101964375
sl_avg_hyper_speed93.792124
Antonio Senzatela (622608) · PITCHER · Middle Reliever · Team COL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 14
All-history rows before 20260521: 14

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB2.0002.0002.000Pitching_BB0.5710.0001.4292.000
predicted_ER0.0000.0000.000Pitching_ER0.2860.000-0.2860.000
predicted_H0.0000.0000.000Pitching_H1.2142.000-1.214-2.000
predicted_IP1.1001.1001.100Pitching_InningsPitched1.9502.000-0.850-0.900
predicted_SO1.0001.0001.000Pitching_SO1.8571.000-0.8570.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": "622608",
  "player_name": "Antonio Senzatela",
  "position": "Middle Reliever",
  "team": "COL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 2.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": 2.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": 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": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "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": 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": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "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_BB2.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: 14
Reference playing time: 1.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45510.2003.0008.0003.0007.0001.0002.53121.03120.28120.75000.28120.65620.0938
last_100.351021.1004.00015.0005.00014.0001.0001.68750.93750.18750.70310.23440.65620.0469
season0.201430.1004.00017.0008.00026.0001.0001.18680.82420.13190.56040.26370.85710.0330
Weighted Prediction From Real Data
MetricValue
predicted_BB0.5320
predicted_ER0.5660
predicted_ERA2.9989
predicted_H1.3700
predicted_HR0.1610
predicted_IP1.2000
predicted_SO1.3780
predicted_WHIP1.1207
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB2.00000.53201.3275model_form_blend
predicted_ER0.00000.56600.2593model_form_blend
predicted_ERA-2.99892.9989form_only
predicted_H0.00001.37000.6276model_form_blend
predicted_HR0.00000.16100.0738model_form_blend
predicted_IP1.10001.20001.1000model_form_blend
predicted_SO1.00001.37801.1732model_form_blend
predicted_WHIP-1.12071.1207form_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 date14
Season rows before report date14
Report year2026
Profile rows used14
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
BB2
SO1
HR0
BF6
Pitches8

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced8
Pitching_ER0
Pitching_ERA1.19
Pitching_Flyouts1
Pitching_Groundouts2
Pitching_H2
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched2.0
Pitching_Pitches21
Pitching_R0
Pitching_SO1
Pitching_Strikes16
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20260520_TEX@COL
game_typefull
mlbID622608
playerID622608
playerNameAntonio Senzatela
posP
startedFalse
startingPositionP
teamCOL
teamID9
game_date2026-05-20
sl_k_percent23.8
sl_bb_percent7.6
sl_woba0.196
sl_xwoba0.269
sl_sweet_spot_percent36.1
sl_barrel_batted_rate5.6
sl_hard_hit_percent34.7
sl_whiff_percent26.8
sl_swing_percent50.5
sl_avg_best_speed75.483636667
sl_avg_hyper_speed93.19155662
Jaden Hill (677955) · PITCHER · Middle Reliever · Team COL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 21
All-history rows before 20260521: 21

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.4290.000-0.4290.000
predicted_ER0.0000.0000.000Pitching_ER0.2860.000-0.2860.000
predicted_H0.0000.0000.000Pitching_H0.8101.000-0.810-1.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.6711.1000.329-0.100
predicted_SO1.0001.0001.000Pitching_SO1.0000.0000.0001.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": "677955",
  "player_name": "Jaden Hill",
  "position": "Middle Reliever",
  "team": "COL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 0,
      "boosted_metrics": 0,
      "deboosted_metrics": 0,
      "better_metrics": 0,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": null,
      "has_material_change": false,
      "dominant_effect": "neutral"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 21
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.0002.0000.0006.0000.0000.00000.37500.00000.37500.00001.12500.0000
last_100.35109.0004.00011.0002.00010.0000.0004.00001.44440.44441.22220.22221.11110.0000
season0.202119.0006.00017.0009.00021.0001.0002.84211.36840.31580.89470.47371.10530.0526
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2890
predicted_ER0.3630
predicted_ERA3.2637
predicted_H0.8700
predicted_HR0.0790
predicted_IP1.0000
predicted_SO1.0220
predicted_WHIP1.1587
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.28900.1182model_form_blend
predicted_ER0.00000.36300.1485model_form_blend
predicted_ERA-3.26373.2637form_only
predicted_H0.00000.87000.3558model_form_blend
predicted_HR0.00000.07900.0323model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00001.02201.0090model_form_blend
predicted_WHIP-1.15871.1587form_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 date21
Season rows before report date21
Report year2026
Profile rows used21
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H0
R0
ER0
BB0
SO1
HR0
BF3
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 Faced5
Pitching_ER0
Pitching_ERA2.84
Pitching_Flyouts0
Pitching_Groundouts3
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners3
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.1
Pitching_Pitches17
Pitching_R0
Pitching_SO0
Pitching_Strikes13
Pitching_Wild Pitch0
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20260520_TEX@COL
game_typefull
mlbID677955
playerID677955
playerNameJaden Hill
posP
startedFalse
startingPositionP
teamCOL
teamID9
game_date2026-05-20
sl_k_percent26.6
sl_bb_percent11.4
sl_woba0.29
sl_xwoba0.289
sl_sweet_spot_percent35.4
sl_barrel_batted_rate2.1
sl_hard_hit_percent37.5
sl_whiff_percent28.9
sl_swing_percent46.3
sl_avg_best_speed79.276959583
sl_avg_hyper_speed93.765088958
Juan Mejia (675848) · PITCHER · Middle Reliever · Team COL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 20
All-history rows before 20260521: 20

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.5500.000-0.5500.000
predicted_ER0.0000.0000.000Pitching_ER0.5000.000-0.5000.000
predicted_H0.0000.0000.000Pitching_H1.2001.000-1.200-1.000
predicted_IP0.2000.2000.200Pitching_InningsPitched1.0200.200-0.8200.000
predicted_SO0.0000.0000.000Pitching_SO1.4001.000-1.400-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.6667 -> 0.2000 (deboost -0.4667, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final10101-predicted_IP: 0.6667 -> 0.2000 (deboost -0.4667, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "675848",
  "player_name": "Juan Mejia",
  "position": "Middle Reliever",
  "team": "COL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.6667,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.2,
        "predicted_R": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 0.6667,
          "after": 0.2,
          "delta": -0.4667,
          "percent_delta": -0.7,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 0.6667,
          "after": 0.2,
          "delta": -0.4667,
          "percent_delta": -0.7,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 0.6667,
        "after": 0.2,
        "delta": -0.4667,
        "percent_delta": -0.7,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 0,
      "deboosted_metrics": 1,
      "better_metrics": 0,
      "worse_metrics": 1,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 0.6667,
        "after": 0.2,
        "delta": -0.4667,
        "percent_delta": -0.7,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER0.000-
predicted_H0.000-
predicted_HR0.000-
predicted_IP0.667-
predicted_SO0.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 20
Reference playing time: 0.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.1000.0003.0002.0004.0000.0000.00000.93750.00000.56250.37500.75000.0000
last_100.351012.0002.0006.0006.00017.0001.0001.50001.00000.16670.50000.50001.41670.0833
season0.202023.20010.00024.00011.00028.0002.0003.80281.47890.42251.01410.46481.18310.0845
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3720
predicted_ER0.2860
predicted_ERA2.8097
predicted_H0.7250
predicted_HR0.0820
predicted_IP1.0000
predicted_SO0.9250
predicted_WHIP1.1965
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.37200.1607model_form_blend
predicted_ER0.00000.28600.1235model_form_blend
predicted_ERA-2.80972.8097form_only
predicted_H0.00000.72500.3132model_form_blend
predicted_HR0.00000.08200.0354model_form_blend
predicted_IP0.20001.00000.2000model_form_blend
predicted_SO0.00000.92500.3996model_form_blend
predicted_WHIP-1.19651.1965form_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 date20
Season rows before report date20
Report year2026
Profile rows used20
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP0.2
H0
R0
ER0
BB0
SO0
HR0
BF2
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 Faced3
Pitching_ER0
Pitching_ERA3.80
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners3
Pitching_Inherited Runners Scored2
Pitching_InningsPitched0.2
Pitching_Pitches12
Pitching_R0
Pitching_SO1
Pitching_Strikes9
Pitching_Wild Pitch0
Pitching_decisionBS
Pitching_pitchingOrder5
allPositionsPlayedP
gameID20260520_TEX@COL
game_typefull
mlbID675848
playerID675848
playerNameJuan Mejia
posP
startedFalse
startingPositionP
teamCOL
teamID9
game_date2026-05-20
sl_k_percent26.7
sl_bb_percent10.9
sl_woba0.308
sl_xwoba0.292
sl_sweet_spot_percent33.9
sl_barrel_batted_rate3.2
sl_hard_hit_percent37.1
sl_whiff_percent31.2
sl_swing_percent47.8
sl_avg_best_speed79.126659677
sl_avg_hyper_speed94.266768871
Seth Halvorsen (678020) · PITCHER · Middle Reliever · Team COL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 7
All-history rows before 20260521: 7

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.8572.0000.143-1.000
predicted_ER0.0000.0000.000Pitching_ER0.2861.000-0.286-1.000
predicted_H1.0001.0001.000Pitching_H0.8572.0000.143-1.000
predicted_IP0.2000.2000.200Pitching_InningsPitched1.0001.000-0.800-0.800
predicted_SO0.0000.0000.000Pitching_SO0.8570.000-0.8570.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectworse
Changed Metrics1
Boosted Metrics0
Deboosted Metrics1
Better Metrics0
Worse Metrics1
Biggest Boost-
Biggest Deboostpredicted_IP: 0.6667 -> 0.2000 (deboost -0.4667, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final10101-predicted_IP: 0.6667 -> 0.2000 (deboost -0.4667, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "678020",
  "player_name": "Seth Halvorsen",
  "position": "Middle Reliever",
  "team": "COL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.6667,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.2,
        "predicted_R": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 0.6667,
          "after": 0.2,
          "delta": -0.4667,
          "percent_delta": -0.7,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 0.6667,
          "after": 0.2,
          "delta": -0.4667,
          "percent_delta": -0.7,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 0.6667,
        "after": 0.2,
        "delta": -0.4667,
        "percent_delta": -0.7,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 0,
      "deboosted_metrics": 1,
      "better_metrics": 0,
      "worse_metrics": 1,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 0.6667,
        "after": 0.2,
        "delta": -0.4667,
        "percent_delta": -0.7,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB1.000-
predicted_ER0.000-
predicted_H1.000-
predicted_HR0.000-
predicted_IP0.667-
predicted_SO0.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 7
Reference playing time: 0.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.0002.0006.0004.0004.0000.0003.60002.00000.40001.20000.80000.80000.0000
last_100.3577.0002.0006.0006.0006.0000.0002.57141.71430.28570.85710.85710.85710.0000
season0.2077.0002.0006.0006.0006.0000.0002.57141.71430.28570.85710.85710.85710.0000
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3480
predicted_ER0.3320
predicted_ERA4.0471
predicted_H0.7240
predicted_HR0.0750
predicted_IP0.2000
predicted_SO0.6810
predicted_WHIP1.4509
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.34800.7919model_form_blend
predicted_ER0.00000.33200.1060model_form_blend
predicted_ERA-4.04714.0471form_only
predicted_H1.00000.72400.9119model_form_blend
predicted_HR0.00000.07500.0239model_form_blend
predicted_IP0.20000.20000.2000model_form_blend
predicted_SO0.00000.68100.2174model_form_blend
predicted_WHIP-1.45091.4509form_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 date7
Season rows before report date7
Report year2026
Profile rows used7
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP0.2
H1
R0
ER0
BB1
SO0
HR0
BF4
Pitches19

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB2
Pitching_Balk0
Pitching_Batters Faced7
Pitching_ER1
Pitching_ERA2.57
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H2
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches25
Pitching_R1
Pitching_SO0
Pitching_Strikes13
Pitching_Wild Pitch0
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20260519_TEX@COL
game_typefull
mlbID678020
playerID678020
playerNameSeth Halvorsen
posP
startedFalse
startingPositionP
teamCOL
teamID9
game_date2026-05-19
game_pk824356.0
sl_k_percent18.2
sl_bb_percent18.2
sl_woba0.315
sl_xwoba0.36
sl_sweet_spot_percent38.1
sl_barrel_batted_rate0.0
sl_hard_hit_percent42.9
sl_whiff_percent19.0
sl_swing_percent43.9
sv_pitch_count25.0
sv_outs_recorded_est3.0
sv_release_speed93.072
sv_release_spin_rate2268.28
sv_effective_speed94.472
sv_launch_speed93.6
sv_launch_angle14.0
sv_woba_value3.55
sv_woba_denom7.0
sv_delta_run_exp1.023
sv_delta_home_win_exp0.0
sl_avg_best_speed83.856353636
sl_avg_hyper_speed95.046610952
Brennan Bernardino (657514) · PITCHER · Middle Reliever · Team COL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 22
All-history rows before 20260521: 22

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.2270.000-0.2270.000
predicted_ER0.0000.0000.000Pitching_ER0.3640.000-0.3640.000
predicted_H0.0000.0000.000Pitching_H0.9092.000-0.909-2.000
predicted_IP0.0000.0000.000Pitching_InningsPitched0.6360.100-0.636-0.100
predicted_SO0.0000.0000.000Pitching_SO0.6361.000-0.636-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectworse
Changed Metrics2
Boosted Metrics0
Deboosted Metrics2
Better Metrics0
Worse Metrics2
Biggest Boost-
Biggest Deboostpredicted_SO: 2.0000 -> 0.0000 (deboost -2.0000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final20202-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": "657514",
  "player_name": "Brennan Bernardino",
  "position": "Middle Reliever",
  "team": "COL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.1,
        "predicted_SO": 2.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.0,
        "predicted_R": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 0.1,
          "after": 0.0,
          "delta": -0.1,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 0.1,
        "after": 0.0,
        "delta": -0.1,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 2.0,
        "after": 0.0,
        "delta": -2.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 2,
      "boosted_metrics": 0,
      "deboosted_metrics": 2,
      "better_metrics": 0,
      "worse_metrics": 2,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 2.0,
        "after": 0.0,
        "delta": -2.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

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.100-
predicted_SO2.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: 0.100
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4554.0005.0007.0002.0002.0000.00011.25002.25001.25001.75000.50000.50000.0000
last_100.35108.1007.00011.0002.0004.0001.0007.56001.56000.84001.32000.24000.48000.1200
season0.202218.2008.00020.0005.00014.0001.0003.85711.33930.42861.07140.26790.75000.0536
Weighted Prediction From Real Data
MetricValue
predicted_BB0.1860
predicted_ER0.3380
predicted_ERA6.0421
predicted_H0.5860
predicted_HR0.0490
predicted_IP0.2000
predicted_SO0.3920
predicted_WHIP1.5338
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.18600.0757model_form_blend
predicted_ER0.00000.33800.1376model_form_blend
predicted_ERA-6.04216.0421form_only
predicted_H0.00000.58600.2386model_form_blend
predicted_HR0.00000.04900.0200model_form_blend
predicted_IP0.10000.20000.1000model_form_blend
predicted_SO2.00000.39201.3453model_form_blend
predicted_WHIP-1.53381.5338form_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
IP0.0
H0
R0
ER0
BB0
SO0
HR0
BF0
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 Faced4
Pitching_ER0
Pitching_ERA3.86
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H2
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.1
Pitching_Pitches14
Pitching_R2
Pitching_SO1
Pitching_Strikes9
Pitching_Wild Pitch0
Pitching_decisionL, H
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260520_TEX@COL
game_typefull
mlbID657514
playerID657514
playerNameBrennan Bernardino
posP
startedFalse
startingPositionP
teamCOL
teamID9
game_date2026-05-20
sl_k_percent17.1
sl_bb_percent6.6
sl_woba0.305
sl_xwoba0.293
sl_sweet_spot_percent33.3
sl_barrel_batted_rate3.6
sl_hard_hit_percent22.8
sl_whiff_percent21.9
sl_swing_percent50.5
sl_avg_best_speed70.442645714
sl_avg_hyper_speed91.409376429

Home Team: ARI

Home Pitcher Deep Analysis

FieldValue
PitcherEduardo Rodriguez
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.3286
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0921
Avg Velo88.0395
Avg Spin2154.7111
HB Inches0
IVB Inches0
Release Extension0
Pre IP6.2000
Pre ER1
Pre H2
Pre BB1
Pre SO6
Season ERA2.5312
Season WHIP1.2562
Role Avg IP5.9260
Recent Avg IP6.0670
Last Start IP5.1000
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "ARI",
    "games": 55,
    "wins": 29,
    "losses": 26,
    "win_pct": 0.5273,
    "runs_scored": 268.0,
    "runs_allowed": 262.0,
    "run_differential": 6.0,
    "run_differential_per_game": 0.1091,
    "avg_runs_scored": 4.8727,
    "avg_runs_allowed": 4.7636,
    "offense_index": 1.0906,
    "defense_index": 0.938,
    "current_streak": "W4",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 5.7,
      "avg_runs_allowed": 3.3,
      "run_differential": 24.0
    },
    "available": true,
    "quality_score": 0.1066
  },
  "opponent": {
    "team": "COL",
    "games": 59,
    "wins": 23,
    "losses": 36,
    "win_pct": 0.3898,
    "runs_scored": 263.0,
    "runs_allowed": 314.0,
    "run_differential": -51.0,
    "run_differential_per_game": -0.8644,
    "avg_runs_scored": 4.4576,
    "avg_runs_allowed": 5.322,
    "offense_index": 0.9977,
    "defense_index": 0.8396,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 3.5,
      "avg_runs_allowed": 6.0,
      "run_differential": -25.0
    },
    "available": true,
    "quality_score": -0.2701
  },
  "edges": {
    "quality_edge": 0.3767,
    "offense_edge": 0.0906,
    "opponent_offense_edge": -0.0023,
    "defense_strength": -0.062,
    "opponent_defense_weakness": 0.1604,
    "recent_win_pct_edge": 0.4
  },
  "player_factors": {
    "ip": 1.0133,
    "run_prevention": 0.987,
    "strikeout": 1.0115
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "593958",
    "profile": {
      "available": true,
      "pitcher_id": "593958",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 200.0,
        "k_percent": 17.5,
        "bb_percent": 9.9,
        "woba": 0.293,
        "xwoba": 0.334,
        "sweet_spot_percent": 35.2,
        "barrel_batted_rate": 7.4,
        "hard_hit_percent": 36.4,
        "avg_best_speed": 78.6068,
        "avg_hyper_speed": 93.8492,
        "whiff_percent": 18.8,
        "swing_percent": 45.2
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": -0.1842,
        "command_and_miss": -0.7043,
        "regression_edge": -1.1714,
        "xwoba_edge": -0.6286,
        "barrel_edge": -0.0444,
        "hard_hit_edge": 0.3286,
        "whiff_edge": -0.9857,
        "bb_edge": -0.125,
        "pitch_design_score": -0.0921
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "593958",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 96,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 96,
          "pitch_usage": 0.0,
          "release_speed": 88.03946582700056,
          "release_spin_rate": 2154.7111151285885,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 96,
            "pitch_usage": 0.0,
            "release_speed": 88.03946582700056,
            "release_spin_rate": 2154.7111151285885,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.0395,
          "release_spin_rate": 2154.7111,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.0921,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.6576,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.3286,
      "sample_weight": 0.8,
      "run_prevention_factor": 1.0279,
      "strikeout_factor": 0.9447,
      "walk_factor": 1.008,
      "homer_factor": 1.0074,
      "woba_minus_xwoba": -0.041,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "593958",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 2.0,
        "factor": 1.0223,
        "adjusted": 2
      },
      "predicted_H": {
        "original": 5.0,
        "factor": 1.0223,
        "adjusted": 5
      },
      "predicted_BB": {
        "original": 3.0,
        "factor": 1.0064,
        "adjusted": 3
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0059,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 5.0,
        "factor": 0.9558,
        "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": 53.1,
    "ER": 15,
    "H": 45,
    "BB": 22,
    "SO": 39,
    "HR": 4,
    "ERA": 2.53125,
    "WHIP": 1.2562499999999999,
    "K9": 6.58125,
    "HR9": 0.6749999999999999,
    "games_pitched": 9,
    "quality_starts": 4,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 9,
    "error_prone": false
  },
  "games_count": 9,
  "latest_game_date": "2026-05-16T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "593958",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 96,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 96,
    "pitch_usage": 0.0,
    "release_speed": 88.03946582700056,
    "release_spin_rate": 2154.7111151285885,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 96,
      "pitch_usage": 0.0,
      "release_speed": 88.03946582700056,
      "release_spin_rate": 2154.7111151285885,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.0395,
    "release_spin_rate": 2154.7111,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0921,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.6576,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.6164383561643836,
    "last_10": 0.3835616438356164
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 9.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6429,
    "prior_weight": 0.3571
  },
  "role": "pitcher",
  "player_id": "593958",
  "report_date": "20260521_C",
  "season_year": 2026,
  "rows_used": 9,
  "reference_playing_time": 8.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 30.1,
        "ER": 10.0,
        "R": 10.0,
        "H": 26.0,
        "BB": 13.0,
        "SO": 25.0,
        "HR": 2.0,
        "BF": 127.0,
        "Pitches": 477.0
      },
      "per_game": {
        "IP": 6.0,
        "ER": 2.0,
        "R": 2.0,
        "H": 5.2,
        "BB": 2.6,
        "SO": 5.0,
        "HR": 0.4,
        "BF": 25.4,
        "Pitches": 95.4
      },
      "rates": {
        "ERA": 2.967,
        "WHIP": 1.2857,
        "ER_per_IP": 0.32967,
        "H_per_IP": 0.85714,
        "BB_per_IP": 0.42857,
        "SO_per_IP": 0.82418,
        "HR_per_IP": 0.06593
      }
    },
    "last_10": {
      "games": 9,
      "totals": {
        "IP": 53.1,
        "ER": 15.0,
        "R": 16.0,
        "H": 45.0,
        "BB": 22.0,
        "SO": 39.0,
        "HR": 4.0,
        "BF": 223.0,
        "Pitches": 846.0
      },
      "per_game": {
        "IP": 6.0,
        "ER": 1.6667,
        "R": 1.7778,
        "H": 5.0,
        "BB": 2.4444,
        "SO": 4.3333,
        "HR": 0.4444,
        "BF": 24.7778,
        "Pitches": 94.0
      },
      "rates": {
        "ERA": 2.5312,
        "WHIP": 1.2562,
        "ER_per_IP": 0.28125,
        "H_per_IP": 0.84375,
        "BB_per_IP": 0.4125,
        "SO_per_IP": 0.73125,
        "HR_per_IP": 0.075
      }
    },
    "season": {
      "games": 9,
      "totals": {
        "IP": 53.1,
        "ER": 15.0,
        "R": 16.0,
        "H": 45.0,
        "BB": 22.0,
        "SO": 39.0,
        "HR": 4.0,
        "BF": 223.0,
        "Pitches": 846.0
      },
      "per_game": {
        "IP": 6.0,
        "ER": 1.6667,
        "R": 1.7778,
        "H": 5.0,
        "BB": 2.4444,
        "SO": 4.3333,
        "HR": 0.4444,
        "BF": 24.7778,
        "Pitches": 94.0
      },
      "rates": {
        "ERA": 2.5312,
        "WHIP": 1.2562,
        "ER_per_IP": 0.28125,
        "H_per_IP": 0.84375,
        "BB_per_IP": 0.4125,
        "SO_per_IP": 0.73125,
        "HR_per_IP": 0.075
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 6.2,
    "predicted_ER": 2.472,
    "predicted_H": 5.935,
    "predicted_BB": 2.725,
    "predicted_SO": 5.685,
    "predicted_HR": 0.612,
    "predicted_ERA": 3.3137,
    "predicted_WHIP": 1.2897
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5009,
  "form_weight": 0.4991,
  "form_reliability": 0.6429,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 9.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6429,
    "prior_weight": 0.3571
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 8.0,
      "form": 6.2,
      "final": 7.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 2.472,
      "final": 1.7347,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 5.935,
      "final": 3.9641,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 2.725,
      "final": 1.861,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 5.0,
      "form": 5.685,
      "final": 5.3419,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.612,
      "final": 0.3055,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.3137,
      "final": 3.3137,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2897,
      "final": 1.2897,
      "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
PitcherJuan Morillo
RoleMiddle Reliever
Projection Source-
Savant Quality Score0.5168
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.2760
Avg Velo94.6118
Avg Spin2345
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER1
Pre H1
Pre BB0
Pre SO0
Season ERA10.8000
Season WHIP2.4000
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "ARI",
    "games": 55,
    "wins": 29,
    "losses": 26,
    "win_pct": 0.5273,
    "runs_scored": 268.0,
    "runs_allowed": 262.0,
    "run_differential": 6.0,
    "run_differential_per_game": 0.1091,
    "avg_runs_scored": 4.8727,
    "avg_runs_allowed": 4.7636,
    "offense_index": 1.0906,
    "defense_index": 0.938,
    "current_streak": "W4",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 5.7,
      "avg_runs_allowed": 3.3,
      "run_differential": 24.0
    },
    "available": true,
    "quality_score": 0.1066
  },
  "opponent": {
    "team": "COL",
    "games": 59,
    "wins": 23,
    "losses": 36,
    "win_pct": 0.3898,
    "runs_scored": 263.0,
    "runs_allowed": 314.0,
    "run_differential": -51.0,
    "run_differential_per_game": -0.8644,
    "avg_runs_scored": 4.4576,
    "avg_runs_allowed": 5.322,
    "offense_index": 0.9977,
    "defense_index": 0.8396,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 3.5,
      "avg_runs_allowed": 6.0,
      "run_differential": -25.0
    },
    "available": true,
    "quality_score": -0.2701
  },
  "edges": {
    "quality_edge": 0.3767,
    "offense_edge": 0.0906,
    "opponent_offense_edge": -0.0023,
    "defense_strength": -0.062,
    "opponent_defense_weakness": 0.1604,
    "recent_win_pct_edge": 0.4
  },
  "player_factors": {
    "ip": 1.0133,
    "run_prevention": 0.987,
    "strikeout": 1.0115
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "666661",
    "profile": {
      "available": true,
      "pitcher_id": "666661",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 5.0,
        "k_percent": 27.6,
        "bb_percent": 6.6,
        "woba": 0.2,
        "xwoba": 0.216,
        "sweet_spot_percent": 24.5,
        "barrel_batted_rate": 6.3,
        "hard_hit_percent": 34.7,
        "avg_best_speed": 75.626,
        "avg_hyper_speed": 93.9644,
        "whiff_percent": 33.1,
        "swing_percent": 50.9
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": 1.7101,
        "command_and_miss": 0.825,
        "regression_edge": -0.4571,
        "xwoba_edge": 2.5,
        "barrel_edge": 0.2,
        "hard_hit_edge": 0.5714,
        "whiff_edge": 1.0571,
        "bb_edge": 0.7,
        "pitch_design_score": 0.276
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "666661",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 17,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 17,
          "pitch_usage": 0.0,
          "release_speed": 94.61176470588236,
          "release_spin_rate": 2345.0,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 17,
            "pitch_usage": 0.0,
            "release_speed": 94.61176470588236,
            "release_spin_rate": 2345.0,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.6118,
          "release_spin_rate": 2345.0,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.276,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.9713,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.5168,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9561,
      "strikeout_factor": 1.0316,
      "walk_factor": 0.9748,
      "homer_factor": 0.9488,
      "woba_minus_xwoba": -0.016,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "666661",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 0.9802,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9802,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9887,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.977,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0142,
        "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": "insufficient_data"
  },
  "pitching": {
    "IP": 1.2,
    "ER": 2,
    "H": 2,
    "BB": 2,
    "SO": 1,
    "HR": 1,
    "ERA": 10.8,
    "WHIP": 2.4000000000000004,
    "K9": 5.4,
    "HR9": 5.4,
    "games_pitched": 2,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": true
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 2,
    "error_prone": false
  },
  "games_count": 2,
  "latest_game_date": "2026-03-28T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "666661",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 17,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 17,
    "pitch_usage": 0.0,
    "release_speed": 94.61176470588236,
    "release_spin_rate": 2345.0,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 17,
      "pitch_usage": 0.0,
      "release_speed": 94.61176470588236,
      "release_spin_rate": 2345.0,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.6118,
    "release_spin_rate": 2345.0,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.276,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.9713,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 1.0
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 0.33,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.0619,
    "prior_weight": 0.9381
  },
  "role": "pitcher",
  "player_id": "666661",
  "report_date": "20260521_C",
  "season_year": 2026,
  "rows_used": 2,
  "reference_playing_time": 0.1,
  "windows": {
    "last_5": {
      "games": 2,
      "totals": {
        "IP": 1.2,
        "ER": 2.0,
        "R": 2.0,
        "H": 2.0,
        "BB": 2.0,
        "SO": 1.0,
        "HR": 1.0,
        "BF": 9.0,
        "Pitches": 39.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 1.0,
        "R": 1.0,
        "H": 1.0,
        "BB": 1.0,
        "SO": 0.5,
        "HR": 0.5,
        "BF": 4.5,
        "Pitches": 19.5
      },
      "rates": {
        "ERA": 10.8,
        "WHIP": 2.4,
        "ER_per_IP": 1.2,
        "H_per_IP": 1.2,
        "BB_per_IP": 1.2,
        "SO_per_IP": 0.6,
        "HR_per_IP": 0.6
      }
    },
    "last_10": {
      "games": 2,
      "totals": {
        "IP": 1.2,
        "ER": 2.0,
        "R": 2.0,
        "H": 2.0,
        "BB": 2.0,
        "SO": 1.0,
        "HR": 1.0,
        "BF": 9.0,
        "Pitches": 39.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 1.0,
        "R": 1.0,
        "H": 1.0,
        "BB": 1.0,
        "SO": 0.5,
        "HR": 0.5,
        "BF": 4.5,
        "Pitches": 19.5
      },
      "rates": {
        "ERA": 10.8,
        "WHIP": 2.4,
        "ER_per_IP": 1.2,
        "H_per_IP": 1.2,
        "BB_per_IP": 1.2,
        "SO_per_IP": 0.6,
        "HR_per_IP": 0.6
      }
    },
    "season": {
      "games": 2,
      "totals": {
        "IP": 1.2,
        "ER": 2.0,
        "R": 2.0,
        "H": 2.0,
        "BB": 2.0,
        "SO": 1.0,
        "HR": 1.0,
        "BF": 9.0,
        "Pitches": 39.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 1.0,
        "R": 1.0,
        "H": 1.0,
        "BB": 1.0,
        "SO": 0.5,
        "HR": 0.5,
        "BF": 4.5,
        "Pitches": 19.5
      },
      "rates": {
        "ERA": 10.8,
        "WHIP": 2.4,
        "ER_per_IP": 1.2,
        "H_per_IP": 1.2,
        "BB_per_IP": 1.2,
        "SO_per_IP": 0.6,
        "HR_per_IP": 0.6
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 0.1,
    "predicted_ER": 0.183,
    "predicted_H": 0.339,
    "predicted_BB": 0.151,
    "predicted_SO": 0.329,
    "predicted_HR": 0.056,
    "predicted_ERA": 4.6449,
    "predicted_WHIP": 1.3844
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.7463,
  "form_weight": 0.2537,
  "form_reliability": 0.0619,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 0.33,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.0619,
    "prior_weight": 0.9381
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.1,
      "form": 0.1,
      "final": 0.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 0.183,
      "final": 0.7928,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.339,
      "final": 0.8323,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.151,
      "final": 0.0383,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.329,
      "final": 0.8298,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.056,
      "final": 0.7606,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.6449,
      "final": 4.6449,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.3844,
      "final": 1.3844,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherPaul Sewald
RoleMiddle Reliever
Projection Source-
Savant Quality Score-0.0051
ESPN Rank-
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP1
Pre ER0
Pre H1
Pre BB0
Pre SO0
Season ERA0
Season WHIP0
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "ARI",
    "games": 55,
    "wins": 29,
    "losses": 26,
    "win_pct": 0.5273,
    "runs_scored": 268.0,
    "runs_allowed": 262.0,
    "run_differential": 6.0,
    "run_differential_per_game": 0.1091,
    "avg_runs_scored": 4.8727,
    "avg_runs_allowed": 4.7636,
    "offense_index": 1.0906,
    "defense_index": 0.938,
    "current_streak": "W4",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 5.7,
      "avg_runs_allowed": 3.3,
      "run_differential": 24.0
    },
    "available": true,
    "quality_score": 0.1066
  },
  "opponent": {
    "team": "COL",
    "games": 59,
    "wins": 23,
    "losses": 36,
    "win_pct": 0.3898,
    "runs_scored": 263.0,
    "runs_allowed": 314.0,
    "run_differential": -51.0,
    "run_differential_per_game": -0.8644,
    "avg_runs_scored": 4.4576,
    "avg_runs_allowed": 5.322,
    "offense_index": 0.9977,
    "defense_index": 0.8396,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 3.5,
      "avg_runs_allowed": 6.0,
      "run_differential": -25.0
    },
    "available": true,
    "quality_score": -0.2701
  },
  "edges": {
    "quality_edge": 0.3767,
    "offense_edge": 0.0906,
    "opponent_offense_edge": -0.0023,
    "defense_strength": -0.062,
    "opponent_defense_weakness": 0.1604,
    "recent_win_pct_edge": 0.4
  },
  "player_factors": {
    "ip": 1.0133,
    "run_prevention": 0.987,
    "strikeout": 1.0115
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "623149",
    "profile": {
      "available": true,
      "pitcher_id": "623149",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 0.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": 0.0,
        "command_and_miss": 0.0,
        "regression_edge": -0.1143,
        "xwoba_edge": 0.0,
        "barrel_edge": 0.0,
        "hard_hit_edge": 0.0,
        "whiff_edge": 0.0,
        "bb_edge": 0.0,
        "pitch_design_score": 0.0
      },
      "pitch_movement_profile": {
        "available": false,
        "pitcher_id": "623149",
        "reason": "pitcher_movement_profile_has_no_pitches"
      },
      "quality_score": -0.0051,
      "sample_weight": 0.45,
      "run_prevention_factor": 1.0004,
      "strikeout_factor": 1.0,
      "walk_factor": 1.0,
      "homer_factor": 1.0,
      "woba_minus_xwoba": -0.004,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "623149",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 1.0002,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 1.0002,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 0.0,
        "factor": 1.0,
        "adjusted": 0
      }
    }
  }
}
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": "insufficient_data"
  },
  "pitching": {
    "IP": 0.1,
    "ER": 0,
    "H": 0,
    "BB": 0,
    "SO": 0,
    "HR": 0,
    "ERA": 0.0,
    "WHIP": 0.0,
    "K9": 0.0,
    "HR9": 0.0,
    "games_pitched": 1,
    "quality_starts": 0,
    "dominant_form": true,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 1,
    "error_prone": false
  },
  "games_count": 1,
  "latest_game_date": "2026-03-28T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "623149",
  "reason": "pitcher_movement_profile_has_no_pitches"
}
Player Form Blend
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 1.0
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 0.066,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.013,
    "prior_weight": 0.987
  },
  "role": "pitcher",
  "player_id": "623149",
  "report_date": "20260521_C",
  "season_year": 2026,
  "rows_used": 1,
  "reference_playing_time": 0.1,
  "windows": {
    "last_5": {
      "games": 1,
      "totals": {
        "IP": 0.1,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.0,
        "BB": 0.0,
        "SO": 0.0,
        "HR": 0.0,
        "BF": 1.0,
        "Pitches": 5.0
      },
      "per_game": {
        "IP": 0.1,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.0,
        "BB": 0.0,
        "SO": 0.0,
        "HR": 0.0,
        "BF": 1.0,
        "Pitches": 5.0
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.0,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.0,
        "BB_per_IP": 0.0,
        "SO_per_IP": 0.0,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 1,
      "totals": {
        "IP": 0.1,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.0,
        "BB": 0.0,
        "SO": 0.0,
        "HR": 0.0,
        "BF": 1.0,
        "Pitches": 5.0
      },
      "per_game": {
        "IP": 0.1,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.0,
        "BB": 0.0,
        "SO": 0.0,
        "HR": 0.0,
        "BF": 1.0,
        "Pitches": 5.0
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.0,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.0,
        "BB_per_IP": 0.0,
        "SO_per_IP": 0.0,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 1,
      "totals": {
        "IP": 0.1,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.0,
        "BB": 0.0,
        "SO": 0.0,
        "HR": 0.0,
        "BF": 1.0,
        "Pitches": 5.0
      },
      "per_game": {
        "IP": 0.1,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.0,
        "BB": 0.0,
        "SO": 0.0,
        "HR": 0.0,
        "BF": 1.0,
        "Pitches": 5.0
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.0,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.0,
        "BB_per_IP": 0.0,
        "SO_per_IP": 0.0,
        "HR_per_IP": 0.0
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 0.1,
    "predicted_ER": 0.155,
    "predicted_H": 0.31,
    "predicted_BB": 0.124,
    "predicted_SO": 0.313,
    "predicted_HR": 0.043,
    "predicted_ERA": 4.1837,
    "predicted_WHIP": 1.3003
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.767,
  "form_weight": 0.233,
  "form_reliability": 0.013,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 0.066,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.013,
    "prior_weight": 0.987
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.1,
      "form": 0.1,
      "final": 0.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.155,
      "final": 0.0361,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.31,
      "final": 0.8392,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.124,
      "final": 0.0289,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 0.313,
      "final": 0.0729,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.043,
      "final": 0.01,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.1837,
      "final": 4.1837,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.3003,
      "final": 1.3003,
      "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
PitcherTaylor Clarke
RoleMiddle Reliever
Projection Source-
Savant Quality Score-0.0051
ESPN Rank-
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP0.1000
Pre ER1
Pre H3
Pre BB1
Pre SO0
Season ERA108
Season WHIP9
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "ARI",
    "games": 55,
    "wins": 29,
    "losses": 26,
    "win_pct": 0.5273,
    "runs_scored": 268.0,
    "runs_allowed": 262.0,
    "run_differential": 6.0,
    "run_differential_per_game": 0.1091,
    "avg_runs_scored": 4.8727,
    "avg_runs_allowed": 4.7636,
    "offense_index": 1.0906,
    "defense_index": 0.938,
    "current_streak": "W4",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 5.7,
      "avg_runs_allowed": 3.3,
      "run_differential": 24.0
    },
    "available": true,
    "quality_score": 0.1066
  },
  "opponent": {
    "team": "COL",
    "games": 59,
    "wins": 23,
    "losses": 36,
    "win_pct": 0.3898,
    "runs_scored": 263.0,
    "runs_allowed": 314.0,
    "run_differential": -51.0,
    "run_differential_per_game": -0.8644,
    "avg_runs_scored": 4.4576,
    "avg_runs_allowed": 5.322,
    "offense_index": 0.9977,
    "defense_index": 0.8396,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 3.5,
      "avg_runs_allowed": 6.0,
      "run_differential": -25.0
    },
    "available": true,
    "quality_score": -0.2701
  },
  "edges": {
    "quality_edge": 0.3767,
    "offense_edge": 0.0906,
    "opponent_offense_edge": -0.0023,
    "defense_strength": -0.062,
    "opponent_defense_weakness": 0.1604,
    "recent_win_pct_edge": 0.4
  },
  "player_factors": {
    "ip": 1.0133,
    "run_prevention": 0.987,
    "strikeout": 1.0115
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "664199",
    "profile": {
      "available": true,
      "pitcher_id": "664199",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 0.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": 0.0,
        "command_and_miss": 0.0,
        "regression_edge": -0.1143,
        "xwoba_edge": 0.0,
        "barrel_edge": 0.0,
        "hard_hit_edge": 0.0,
        "whiff_edge": 0.0,
        "bb_edge": 0.0,
        "pitch_design_score": 0.0
      },
      "pitch_movement_profile": {
        "available": false,
        "pitcher_id": "664199",
        "reason": "pitcher_movement_profile_has_no_pitches"
      },
      "quality_score": -0.0051,
      "sample_weight": 0.45,
      "run_prevention_factor": 1.0004,
      "strikeout_factor": 1.0,
      "walk_factor": 1.0,
      "homer_factor": 1.0,
      "woba_minus_xwoba": -0.004,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "664199",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 9.0,
        "factor": 1.0002,
        "adjusted": 9
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 1.0002,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 0.0,
        "factor": 1.0,
        "adjusted": 0
      }
    }
  }
}
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": "insufficient_data"
  },
  "pitching": {
    "IP": 0.1,
    "ER": 4,
    "H": 3,
    "BB": 0,
    "SO": 0,
    "HR": 1,
    "ERA": 108.0,
    "WHIP": 9.0,
    "K9": 0.0,
    "HR9": 27.0,
    "games_pitched": 1,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": true
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 1,
    "error_prone": false
  },
  "games_count": 1,
  "latest_game_date": "2026-03-26T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "664199",
  "reason": "pitcher_movement_profile_has_no_pitches"
}
Player Form Blend
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 1.0
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 0.066,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.013,
    "prior_weight": 0.987
  },
  "role": "pitcher",
  "player_id": "664199",
  "report_date": "20260521_C",
  "season_year": 2026,
  "rows_used": 1,
  "reference_playing_time": 0.1,
  "windows": {
    "last_5": {
      "games": 1,
      "totals": {
        "IP": 0.1,
        "ER": 4.0,
        "R": 4.0,
        "H": 3.0,
        "BB": 0.0,
        "SO": 0.0,
        "HR": 1.0,
        "BF": 5.0,
        "Pitches": 16.0
      },
      "per_game": {
        "IP": 0.1,
        "ER": 4.0,
        "R": 4.0,
        "H": 3.0,
        "BB": 0.0,
        "SO": 0.0,
        "HR": 1.0,
        "BF": 5.0,
        "Pitches": 16.0
      },
      "rates": {
        "ERA": 108.0,
        "WHIP": 9.0,
        "ER_per_IP": 12.0,
        "H_per_IP": 9.0,
        "BB_per_IP": 0.0,
        "SO_per_IP": 0.0,
        "HR_per_IP": 3.0
      }
    },
    "last_10": {
      "games": 1,
      "totals": {
        "IP": 0.1,
        "ER": 4.0,
        "R": 4.0,
        "H": 3.0,
        "BB": 0.0,
        "SO": 0.0,
        "HR": 1.0,
        "BF": 5.0,
        "Pitches": 16.0
      },
      "per_game": {
        "IP": 0.1,
        "ER": 4.0,
        "R": 4.0,
        "H": 3.0,
        "BB": 0.0,
        "SO": 0.0,
        "HR": 1.0,
        "BF": 5.0,
        "Pitches": 16.0
      },
      "rates": {
        "ERA": 108.0,
        "WHIP": 9.0,
        "ER_per_IP": 12.0,
        "H_per_IP": 9.0,
        "BB_per_IP": 0.0,
        "SO_per_IP": 0.0,
        "HR_per_IP": 3.0
      }
    },
    "season": {
      "games": 1,
      "totals": {
        "IP": 0.1,
        "ER": 4.0,
        "R": 4.0,
        "H": 3.0,
        "BB": 0.0,
        "SO": 0.0,
        "HR": 1.0,
        "BF": 5.0,
        "Pitches": 16.0
      },
      "per_game": {
        "IP": 0.1,
        "ER": 4.0,
        "R": 4.0,
        "H": 3.0,
        "BB": 0.0,
        "SO": 0.0,
        "HR": 1.0,
        "BF": 5.0,
        "Pitches": 16.0
      },
      "rates": {
        "ERA": 108.0,
        "WHIP": 9.0,
        "ER_per_IP": 12.0,
        "H_per_IP": 9.0,
        "BB_per_IP": 0.0,
        "SO_per_IP": 0.0,
        "HR_per_IP": 3.0
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 0.1,
    "predicted_ER": 0.207,
    "predicted_H": 0.349,
    "predicted_BB": 0.124,
    "predicted_SO": 0.313,
    "predicted_HR": 0.056,
    "predicted_ERA": 5.5877,
    "predicted_WHIP": 1.4173
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.767,
  "form_weight": 0.233,
  "form_reliability": 0.013,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 0.066,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.013,
    "prior_weight": 0.987
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.1,
      "form": 0.1,
      "final": 0.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 0.207,
      "final": 0.8152,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 3.0,
      "form": 0.349,
      "final": 2.3823,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.124,
      "final": 0.7959,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 0.313,
      "final": 0.0729,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.056,
      "final": 0.013,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 5.5877,
      "final": 5.5877,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.4173,
      "final": 1.4173,
      "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."
}
Nolan Arenado (571448) · BATTER · 3B · Team ARI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 171
All-history rows before 20260521: 171
System season_avg: 0.2890
Data season_avg (2026 season-to-date): 0.2888
Diff (system - data): 0.0002
System opponent_avg: 0.2700

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2340.0001.000Hitting_2B0.2342.000-0.234-2.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.5804.0008.000Hitting_AB3.5034.0000.4970.000
predicted_AVG0.2550.2500.250Hitting_AVG0.2890.500-0.039-0.250
predicted_BB0.3980.0001.000Hitting_BB0.3980.000-0.3980.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.9101.0002.000Hitting_H1.0122.000-0.012-1.000
predicted_HR0.1401.0000.000Hitting_HR0.1700.0000.8301.000
predicted_OBP0.3620.2500.333Hitting_OBP0.3650.500-0.115-0.250
predicted_R0.6201.0001.000Hitting_R0.6200.0000.3801.000
predicted_RBI0.5901.0002.000Hitting_RBI0.6260.0000.3741.000
predicted_SLG0.4661.0000.375Hitting_SLG0.5011.0000.4990.000
predicted_SO0.7431.0002.000Hitting_SO0.7430.0000.2571.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics11
Boosted Metrics9
Deboosted Metrics2
Better Metrics8
Worse Metrics3
Biggest Boostpredicted_HR: 0.1400 -> 1.0000 (boost 0.8600, better)
Biggest Deboostpredicted_BB: 0.3980 -> 0.0000 (deboost -0.3980, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend1010091predicted_AB: 3.5800 -> 7.5113 (boost 3.9313, 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_snapshot66060predicted_RBI: 1.3949 -> 1.5119 (boost 0.1170, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling85344predicted_SO: 1.4507 -> 2.0000 (boost 0.5493, worse)predicted_HR: 0.3738 -> 0.0000 (deboost -0.3738, worse)AB rounded to 8 (raw=7.51), rates preserved: AVG=0.308 HR/AB=0.050
5consistency_constraints10101-predicted_R: 1.3153 -> 1.0000 (deboost -0.3153, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context30303-predicted_SLG: 0.5542 -> 0.3750 (deboost -0.1792, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference71625predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 8.0000 -> 4.0000 (deboost -4.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final33030predicted_SLG: 0.3750 -> 0.5542 (boost 0.1792, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "571448",
  "player_name": "Nolan Arenado",
  "position": "3B",
  "team": "ARI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.234,
        "predicted_3B": 0.0,
        "predicted_AB": 3.58,
        "predicted_AVG": 0.255,
        "predicted_BB": 0.398,
        "predicted_H": 0.91,
        "predicted_HR": 0.14,
        "predicted_OBP": 0.362,
        "predicted_R": 0.62,
        "predicted_RBI": 0.59,
        "predicted_SLG": 0.466,
        "predicted_SO": 0.743
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.7286,
        "predicted_3B": 0.0009,
        "predicted_AB": 7.5113,
        "predicted_AVG": 0.278,
        "predicted_BB": 0.7547,
        "predicted_H": 2.2029,
        "predicted_HBP": 0.139,
        "predicted_HR": 0.3575,
        "predicted_OBP": 0.3666,
        "predicted_R": 1.2135,
        "predicted_RBI": 1.3949,
        "predicted_SLG": 0.5109,
        "predicted_SO": 1.4726
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.234,
          "after": 0.7286,
          "delta": 0.4946,
          "percent_delta": 2.1137,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.58,
          "after": 7.5113,
          "delta": 3.9313,
          "percent_delta": 1.0981,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.255,
          "after": 0.278,
          "delta": 0.023,
          "percent_delta": 0.0902,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.398,
          "after": 0.7547,
          "delta": 0.3567,
          "percent_delta": 0.8962,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.91,
          "after": 2.2029,
          "delta": 1.2929,
          "percent_delta": 1.4208,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.14,
          "after": 0.3575,
          "delta": 0.2175,
          "percent_delta": 1.5536,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.362,
          "after": 0.3666,
          "delta": 0.0046,
          "percent_delta": 0.0127,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.62,
          "after": 1.2135,
          "delta": 0.5935,
          "percent_delta": 0.9573,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.59,
          "after": 1.3949,
          "delta": 0.8049,
          "percent_delta": 1.3642,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.466,
          "after": 0.5109,
          "delta": 0.0449,
          "percent_delta": 0.0964,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.743,
          "after": 1.4726,
          "delta": 0.7296,
          "percent_delta": 0.982,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 10,
        "boosted_metrics": 10,
        "deboosted_metrics": 0,
        "better_metrics": 9,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.58,
          "after": 7.5113,
          "delta": 3.9313,
          "percent_delta": 1.0981,
          "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": 2,
        "last_10": 3,
        "season": 45
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.7286,
        "predicted_3B": 0.0009,
        "predicted_AB": 7.5113,
        "predicted_AVG": 0.3076,
        "predicted_BB": 0.7659,
        "predicted_H": 2.3108,
        "predicted_HBP": 0.139,
        "predicted_HR": 0.3738,
        "predicted_OBP": 0.3717,
        "predicted_R": 1.3153,
        "predicted_RBI": 1.5119,
        "predicted_SLG": 0.5542,
        "predicted_SO": 1.4507
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.7286,
          "after": 0.7286,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.5113,
          "after": 7.5113,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.278,
          "after": 0.3076,
          "delta": 0.0296,
          "percent_delta": 0.1065,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.7547,
          "after": 0.7659,
          "delta": 0.0112,
          "percent_delta": 0.0148,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.2029,
          "after": 2.3108,
          "delta": 0.1079,
          "percent_delta": 0.049,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.139,
          "after": 0.139,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.3575,
          "after": 0.3738,
          "delta": 0.0163,
          "percent_delta": 0.0456,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3666,
          "after": 0.3717,
          "delta": 0.0051,
          "percent_delta": 0.0139,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.2135,
          "after": 1.3153,
          "delta": 0.1018,
          "percent_delta": 0.0839,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.3949,
          "after": 1.5119,
          "delta": 0.117,
          "percent_delta": 0.0839,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5109,
          "after": 0.5542,
          "delta": 0.0433,
          "percent_delta": 0.0848,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.4726,
          "after": 1.4507,
          "delta": -0.0219,
          "percent_delta": -0.0149,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 6,
        "deboosted_metrics": 0,
        "better_metrics": 6,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 1.3949,
          "after": 1.5119,
          "delta": 0.117,
          "percent_delta": 0.0839,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 8 (raw=7.51), rates preserved: AVG=0.308 HR/AB=0.050",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.7286,
          "after": 1.0,
          "delta": 0.2714,
          "percent_delta": 0.3725,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.5113,
          "after": 8.0,
          "delta": 0.4887,
          "percent_delta": 0.0651,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.7659,
          "after": 1.0,
          "delta": 0.2341,
          "percent_delta": 0.3057,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.3108,
          "after": 2.0,
          "delta": -0.3108,
          "percent_delta": -0.1345,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.139,
          "after": 0.0,
          "delta": -0.139,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.3738,
          "after": 0.0,
          "delta": -0.3738,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.5119,
          "after": 2.0,
          "delta": 0.4881,
          "percent_delta": 0.3228,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.4507,
          "after": 2.0,
          "delta": 0.5493,
          "percent_delta": 0.3786,
          "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.4507,
          "after": 2.0,
          "delta": 0.5493,
          "percent_delta": 0.3786,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.3738,
          "after": 0.0,
          "delta": -0.3738,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.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": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 8.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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.3153,
          "after": 1.0,
          "delta": -0.3153,
          "percent_delta": -0.2397,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "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_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.3153,
          "after": 1.0,
          "delta": -0.3153,
          "percent_delta": -0.2397,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.333,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SLG": 0.375,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3076,
          "after": 0.25,
          "delta": -0.0576,
          "percent_delta": -0.1873,
          "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": 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.3717,
          "after": 0.333,
          "delta": -0.0387,
          "percent_delta": -0.1041,
          "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_SLG",
          "before": 0.5542,
          "after": 0.375,
          "delta": -0.1792,
          "percent_delta": -0.3233,
          "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.5542,
          "after": 0.375,
          "delta": -0.1792,
          "percent_delta": -0.3233,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 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": 8.0,
          "after": 4.0,
          "delta": -4.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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": 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": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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": 7,
        "boosted_metrics": 1,
        "deboosted_metrics": 6,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 4.0,
          "delta": -4.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.3076,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.3717,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.5542,
        "predicted_SO": 1.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.3076,
          "delta": 0.0576,
          "percent_delta": 0.2306,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.333,
          "after": 0.3717,
          "delta": 0.0387,
          "percent_delta": 0.1163,
          "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.375,
          "after": 0.5542,
          "delta": 0.1792,
          "percent_delta": 0.4779,
          "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.375,
          "after": 0.5542,
          "delta": 0.1792,
          "percent_delta": 0.4779,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.234,
        "after": 0.0,
        "delta": -0.234,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.58,
        "after": 4.0,
        "delta": 0.42,
        "percent_delta": 0.1173,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.255,
        "after": 0.3076,
        "delta": 0.0526,
        "percent_delta": 0.2063,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.398,
        "after": 0.0,
        "delta": -0.398,
        "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.14,
        "after": 1.0,
        "delta": 0.86,
        "percent_delta": 6.1429,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.362,
        "after": 0.3717,
        "delta": 0.0097,
        "percent_delta": 0.0268,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.62,
        "after": 1.0,
        "delta": 0.38,
        "percent_delta": 0.6129,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.59,
        "after": 1.0,
        "delta": 0.41,
        "percent_delta": 0.6949,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.466,
        "after": 0.5542,
        "delta": 0.0882,
        "percent_delta": 0.1893,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.743,
        "after": 1.0,
        "delta": 0.257,
        "percent_delta": 0.3459,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 9,
      "deboosted_metrics": 2,
      "better_metrics": 8,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_HR",
        "before": 0.14,
        "after": 1.0,
        "delta": 0.86,
        "percent_delta": 6.1429,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.398,
        "after": 0.0,
        "delta": -0.398,
        "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.234-
predicted_3B0.000-
predicted_AB3.580-
predicted_AVG0.255-
predicted_BB0.398-
predicted_H0.910-
predicted_HR0.140-
predicted_OBP0.362-
predicted_R0.620-
predicted_RBI0.590-
predicted_SLG0.466-
predicted_SO0.743-
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.7290.495
predicted_3B0.0010.001
predicted_AB7.5113.931
predicted_AVG0.2780.023
predicted_BB0.7550.357
predicted_H2.2031.293
predicted_HBP0.139-
predicted_HR0.3570.217
predicted_OBP0.3670.005
predicted_R1.2140.594
predicted_RBI1.3950.805
predicted_SLG0.5110.045
predicted_SO1.4730.730
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.7290.000
predicted_3B0.0010.000
predicted_AB7.5110.000
predicted_AVG0.3080.030
predicted_BB0.7660.011
predicted_H2.3110.108
predicted_HBP0.1390.000
predicted_HR0.3740.016
predicted_OBP0.3720.005
predicted_R1.3150.102
predicted_RBI1.5120.117
predicted_SLG0.5540.043
predicted_SO1.451-0.022
4. ab_floor_and_scaling

AB rounded to 8 (raw=7.51), rates preserved: AVG=0.308 HR/AB=0.050

MetricValueDelta vs Prev Step
2B1.000-
3B0.000-
AB8.000-
BB1.000-
H2.000-
HBP0.000-
HR0.000-
RBI2.000-
SB0.000-
SO2.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB8.0000.000
BB1.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI2.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
6. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B1.0000.271
predicted_3B0.000-0.001
predicted_AB8.0000.489
predicted_AVG0.250-0.058
predicted_BB1.0000.234
predicted_H2.000-0.311
predicted_HR0.000-0.374
predicted_OBP0.333-0.039
predicted_R1.000-0.315
predicted_RBI2.0000.488
predicted_SLG0.375-0.179
predicted_SO2.0000.549
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.000-1.000
3B0.0000.000
AB4.000-4.000
BB0.000-1.000
CS0.0000.000
H1.000-1.000
HBP0.0000.000
HR1.0001.000
PA4.000-
R1.0000.000
RBI1.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: 171
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-20.0009.0008.0000.0001.0004.0001.0000.0001.0000.45000.45001.00000.45000.05000.20000.00000.0500
last_100.203-40.00014.0008.0000.0004.00018.0004.0002.0006.0000.35000.38100.85000.35000.10000.45000.05000.1500
season0.6045-599.000173.00040.0000.00029.000107.000106.00068.000127.0000.28880.36460.50080.28880.04840.17860.11350.2120
Weighted Prediction From Real Data
MetricValue
predicted_2B1.3640
predicted_3B0.0020
predicted_AB12.5620
predicted_AVG0.3076
predicted_BB1.2130
predicted_H3.8640
predicted_HBP0.1390
predicted_HR0.6370
predicted_OBP0.3725
predicted_R1.9760
predicted_RBI2.4290
predicted_SLG0.5686
predicted_SO2.4100
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.23401.36400.7286model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB3.580012.56207.5113model_form_blend
predicted_AVG0.25500.30760.2780model_form_blend
predicted_BB0.39801.21300.7547model_form_blend
predicted_H0.91003.86402.2029model_form_blend
predicted_HBP-0.13900.1390form_only
predicted_HR0.14000.63700.3575model_form_blend
predicted_OBP0.36200.37250.3666model_form_blend
predicted_R0.62001.97601.2135model_form_blend
predicted_RBI0.59002.42901.3949model_form_blend
predicted_SLG0.46600.56860.5109model_form_blend
predicted_SO0.74302.41001.4726model_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 used171
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

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

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_GIDP1
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
allPositionsPlayed3B
gameID20260519_SF@ARI
game_typefull
mlbID571448
playerID571448
playerNameNolan Arenado
pos3B
startedTrue
startingPosition3B
teamARI
teamID1
game_date2026-05-19
game_pk825086.0
sl_k_percent19.3
sl_bb_percent9.4
sl_woba0.364
sl_xwoba0.339
sl_xba0.271
sl_xslg0.426
sl_sweet_spot_percent36.7
sl_barrel_batted_rate7.5
sl_hard_hit_percent30.0
sl_exit_velocity_avg85.2
sl_launch_angle_avg18.6
sl_whiff_percent23.5
sl_swing_percent44.5
at_bat_number66.0
ab_pitcher668873.0
ab_pitcher_nameKilian, Caleb
ab_home_teamAZ
ab_away_teamSF
ab_game_typeR
ab_standR
ab_p_throwsR
ab_inning8.0
ab_inning_topbotBot
ab_outs_when_up1.0
ab_on_1b_start672695.0
ab_on_2b_start682998.0
ab_on_3b_start814439.0
ab_balls_start0.0
ab_strikes_start0.0
ab_home_score_start1.0
ab_away_score_start3.0
ab_bat_score_start1.0
ab_fld_score_start3.0
ab_eventgrounded_into_double_play
ab_event_descriptionNolan Arenado grounds into a double play, shortstop Willy Adames to second baseman Luis Arraez to first baseman Rafael Devers. Geraldo Perdomo out at 2nd. Nolan Arenado out at 1st.
ab_event_typeX
ab_bb_typeground_ball
ab_hit_location6.0
ab_pitch_type_lastFF
ab_pitch_name_last4-Seam Fastball
ab_zone_last14.0
ab_launch_speed_last88.0
ab_launch_angle_last9.0
ab_hit_distance_last135.0
ab_estimated_ba_last0.509
ab_estimated_woba_last0.488
ab_estimated_slg_last0.579
ab_woba_value0.0
ab_woba_denom1.0
ab_babip_value0.0
ab_iso_value0.0
ab_balls_end3.0
ab_strikes_end1.0
ab_home_score_end1.0
ab_away_score_end3.0
ab_bat_score_end1.0
ab_fld_score_end3.0
ab_pitch_count5.0
ab_release_speed_avg96.6
ab_release_spin_rate_avg2347.2
ab_effective_speed_avg96.8
ab_launch_speed_avg88.0
ab_launch_angle_avg9.0
ab_delta_run_exp_avg-0.0619999999999999
ab_delta_home_win_exp_avg-0.0612
ab_delta_pitcher_run_exp_avg0.0619999999999999
ab_bat_speed_avg76.6
ab_swing_length_avg9.0
ab_launch_speed_max88.0
ab_hit_distance_sc_max135.0
ab_release_speed_max97.8
ab_release_spin_rate_max2394.0
ab_release_speed_min95.7
ab_release_spin_rate_min2294.0
ab_delta_run_exp_sum-0.3099999999999999
ab_delta_home_win_exp_sum-0.306
ab_delta_pitcher_run_exp_sum0.3099999999999999
ab_result_is_hitFalse
ab_result_is_walkFalse
ab_result_is_strikeoutFalse
ab_result_is_hbpFalse
Geraldo Perdomo (672695) · BATTER · SS · Team ARI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 187
All-history rows before 20260521: 187
System season_avg: 0.2250
Data season_avg (2026 season-to-date): 0.2254
Diff (system - data): -0.0004
System opponent_avg: 0.3080

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1550.0000.000Hitting_2B0.1551.000-0.155-1.000
predicted_3B0.0800.0000.000Hitting_3B0.0800.000-0.0800.000
predicted_AB3.7503.0008.000Hitting_AB3.5353.000-0.5350.000
predicted_AVG0.2330.0000.250Hitting_AVG0.2250.333-0.225-0.333
predicted_BB0.6951.0002.000Hitting_BB0.6950.0000.3051.000
predicted_CS-0.0000.000BaseRunning_CS0.0640.000-0.0640.000
predicted_H0.8700.0002.000Hitting_H0.7971.000-0.797-1.000
predicted_HR0.0700.0000.000Hitting_HR0.0480.000-0.0480.000
predicted_OBP0.3320.2500.400Hitting_OBP0.3480.250-0.0980.000
predicted_R0.4330.0001.000Hitting_R0.4330.000-0.4330.000
predicted_RBI0.4200.0001.000Hitting_RBI0.3103.000-0.310-3.000
predicted_SLG0.3610.0000.250Hitting_SLG0.3560.667-0.356-0.667
predicted_SO0.5292.0001.000Hitting_SO0.5291.0001.4711.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics12
Boosted Metrics3
Deboosted Metrics9
Better Metrics2
Worse Metrics10
Biggest Boostpredicted_SO: 0.5290 -> 2.0000 (boost 1.4710, 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_blend108273predicted_AB: 3.7500 -> 7.9761 (boost 4.2261, better)predicted_SLG: 0.3610 -> 0.3453 (deboost -0.0157, worse)Final model 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_snapshot44040predicted_H: 1.7001 -> 1.7834 (boost 0.0833, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling73443predicted_BB: 1.6063 -> 2.0000 (boost 0.3937, better)predicted_2B: 0.3554 -> 0.0000 (deboost -0.3554, worse)AB rounded to 8 (raw=7.98), rates preserved: AVG=0.224 HR/AB=0.014
5consistency_constraints00000--Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context32121predicted_OBP: 0.3537 -> 0.4000 (boost 0.0463, better)predicted_SLG: 0.3498 -> 0.2500 (deboost -0.0998, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference61506predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse)predicted_AB: 8.0000 -> 3.0000 (deboost -5.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final31212predicted_SLG: 0.2500 -> 0.3498 (boost 0.0998, better)predicted_OBP: 0.4000 -> 0.3537 (deboost -0.0463, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "672695",
  "player_name": "Geraldo Perdomo",
  "position": "SS",
  "team": "ARI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.155,
        "predicted_3B": 0.08,
        "predicted_AB": 3.75,
        "predicted_AVG": 0.233,
        "predicted_BB": 0.695,
        "predicted_H": 0.87,
        "predicted_HR": 0.07,
        "predicted_OBP": 0.332,
        "predicted_R": 0.433,
        "predicted_RBI": 0.42,
        "predicted_SLG": 0.361,
        "predicted_SO": 0.529
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.3554,
        "predicted_3B": 0.1525,
        "predicted_AB": 7.9761,
        "predicted_AVG": 0.2213,
        "predicted_BB": 1.5827,
        "predicted_H": 1.7001,
        "predicted_HBP": 0.004,
        "predicted_HR": 0.1104,
        "predicted_OBP": 0.3336,
        "predicted_R": 0.8931,
        "predicted_RBI": 0.83,
        "predicted_SLG": 0.3453,
        "predicted_SO": 1.1007
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.155,
          "after": 0.3554,
          "delta": 0.2004,
          "percent_delta": 1.2929,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.08,
          "after": 0.1525,
          "delta": 0.0725,
          "percent_delta": 0.9062,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.75,
          "after": 7.9761,
          "delta": 4.2261,
          "percent_delta": 1.127,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.233,
          "after": 0.2213,
          "delta": -0.0117,
          "percent_delta": -0.0502,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.695,
          "after": 1.5827,
          "delta": 0.8877,
          "percent_delta": 1.2773,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.87,
          "after": 1.7001,
          "delta": 0.8301,
          "percent_delta": 0.9541,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.07,
          "after": 0.1104,
          "delta": 0.0404,
          "percent_delta": 0.5771,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.332,
          "after": 0.3336,
          "delta": 0.0016,
          "percent_delta": 0.0048,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.433,
          "after": 0.8931,
          "delta": 0.4601,
          "percent_delta": 1.0626,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.42,
          "after": 0.83,
          "delta": 0.41,
          "percent_delta": 0.9762,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.361,
          "after": 0.3453,
          "delta": -0.0157,
          "percent_delta": -0.0435,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.529,
          "after": 1.1007,
          "delta": 0.5717,
          "percent_delta": 1.0807,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 10,
        "boosted_metrics": 8,
        "deboosted_metrics": 2,
        "better_metrics": 7,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.75,
          "after": 7.9761,
          "delta": 4.2261,
          "percent_delta": 1.127,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.361,
          "after": 0.3453,
          "delta": -0.0157,
          "percent_delta": -0.0435,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 2,
        "last_10": 3,
        "season": 45
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.3554,
        "predicted_3B": 0.1525,
        "predicted_AB": 7.9761,
        "predicted_AVG": 0.2236,
        "predicted_BB": 1.6063,
        "predicted_H": 1.7834,
        "predicted_HBP": 0.004,
        "predicted_HR": 0.1154,
        "predicted_OBP": 0.3537,
        "predicted_R": 0.968,
        "predicted_RBI": 0.8996,
        "predicted_SLG": 0.3498,
        "predicted_SO": 1.0843
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.3554,
          "after": 0.3554,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.1525,
          "after": 0.1525,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.9761,
          "after": 7.9761,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2213,
          "after": 0.2236,
          "delta": 0.0023,
          "percent_delta": 0.0104,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.5827,
          "after": 1.6063,
          "delta": 0.0236,
          "percent_delta": 0.0149,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.7001,
          "after": 1.7834,
          "delta": 0.0833,
          "percent_delta": 0.049,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.004,
          "after": 0.004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1104,
          "after": 0.1154,
          "delta": 0.005,
          "percent_delta": 0.0453,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3336,
          "after": 0.3537,
          "delta": 0.0201,
          "percent_delta": 0.0603,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.8931,
          "after": 0.968,
          "delta": 0.0749,
          "percent_delta": 0.0839,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.83,
          "after": 0.8996,
          "delta": 0.0696,
          "percent_delta": 0.0839,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3453,
          "after": 0.3498,
          "delta": 0.0045,
          "percent_delta": 0.013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.1007,
          "after": 1.0843,
          "delta": -0.0164,
          "percent_delta": -0.0149,
          "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": 1.7001,
          "after": 1.7834,
          "delta": 0.0833,
          "percent_delta": 0.049,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 8 (raw=7.98), rates preserved: AVG=0.224 HR/AB=0.014",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 2.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.3554,
          "after": 0.0,
          "delta": -0.3554,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.1525,
          "after": 0.0,
          "delta": -0.1525,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 7.9761,
          "after": 8.0,
          "delta": 0.0239,
          "percent_delta": 0.003,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.6063,
          "after": 2.0,
          "delta": 0.3937,
          "percent_delta": 0.2451,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.7834,
          "after": 2.0,
          "delta": 0.2166,
          "percent_delta": 0.1215,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.004,
          "after": 0.0,
          "delta": -0.004,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1154,
          "after": 0.0,
          "delta": -0.1154,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.8996,
          "after": 1.0,
          "delta": 0.1004,
          "percent_delta": 0.1116,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0843,
          "after": 1.0,
          "delta": -0.0843,
          "percent_delta": -0.0777,
          "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": 1.6063,
          "after": 2.0,
          "delta": 0.3937,
          "percent_delta": 0.2451,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.3554,
          "after": 0.0,
          "delta": -0.3554,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 2.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 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": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.968,
          "after": 1.0,
          "delta": 0.032,
          "percent_delta": 0.0331,
          "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_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 2.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.4,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.25,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2236,
          "after": 0.25,
          "delta": 0.0264,
          "percent_delta": 0.1181,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3537,
          "after": 0.4,
          "delta": 0.0463,
          "percent_delta": 0.1309,
          "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.3498,
          "after": 0.25,
          "delta": -0.0998,
          "percent_delta": -0.2853,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.3537,
          "after": 0.4,
          "delta": 0.0463,
          "percent_delta": 0.1309,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3498,
          "after": 0.25,
          "delta": -0.0998,
          "percent_delta": -0.2853,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 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": 8.0,
          "after": 3.0,
          "delta": -5.0,
          "percent_delta": -0.625,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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": 2.0,
          "after": 0.0,
          "delta": -2.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": 1,
        "deboosted_metrics": 5,
        "better_metrics": 0,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 3.0,
          "delta": -5.0,
          "percent_delta": -0.625,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2236,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3537,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3498,
        "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": 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.2236,
          "delta": -0.0264,
          "percent_delta": -0.1056,
          "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.4,
          "after": 0.3537,
          "delta": -0.0463,
          "percent_delta": -0.1156,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.3498,
          "delta": 0.0998,
          "percent_delta": 0.3993,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.3498,
          "delta": 0.0998,
          "percent_delta": 0.3993,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.4,
          "after": 0.3537,
          "delta": -0.0463,
          "percent_delta": -0.1156,
          "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.08,
        "after": 0.0,
        "delta": -0.08,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.75,
        "after": 3.0,
        "delta": -0.75,
        "percent_delta": -0.2,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.233,
        "after": 0.2236,
        "delta": -0.0094,
        "percent_delta": -0.0403,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.695,
        "after": 1.0,
        "delta": 0.305,
        "percent_delta": 0.4388,
        "direction": "boost",
        "projection_effect": "better",
        "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.07,
        "after": 0.0,
        "delta": -0.07,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.332,
        "after": 0.3537,
        "delta": 0.0217,
        "percent_delta": 0.0654,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.433,
        "after": 0.0,
        "delta": -0.433,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.42,
        "after": 0.0,
        "delta": -0.42,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.361,
        "after": 0.3498,
        "delta": -0.0112,
        "percent_delta": -0.031,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.529,
        "after": 2.0,
        "delta": 1.471,
        "percent_delta": 2.7807,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 12,
      "boosted_metrics": 3,
      "deboosted_metrics": 9,
      "better_metrics": 2,
      "worse_metrics": 10,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.529,
        "after": 2.0,
        "delta": 1.471,
        "percent_delta": 2.7807,
        "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.155-
predicted_3B0.080-
predicted_AB3.750-
predicted_AVG0.233-
predicted_BB0.695-
predicted_H0.870-
predicted_HR0.070-
predicted_OBP0.332-
predicted_R0.433-
predicted_RBI0.420-
predicted_SLG0.361-
predicted_SO0.529-
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.3550.200
predicted_3B0.1520.072
predicted_AB7.9764.226
predicted_AVG0.221-0.012
predicted_BB1.5830.888
predicted_H1.7000.830
predicted_HBP0.004-
predicted_HR0.1100.040
predicted_OBP0.3340.002
predicted_R0.8930.460
predicted_RBI0.8300.410
predicted_SLG0.345-0.016
predicted_SO1.1010.572
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.3550.000
predicted_3B0.1520.000
predicted_AB7.9760.000
predicted_AVG0.2240.002
predicted_BB1.6060.024
predicted_H1.7830.083
predicted_HBP0.0040.000
predicted_HR0.1150.005
predicted_OBP0.3540.020
predicted_R0.9680.075
predicted_RBI0.9000.070
predicted_SLG0.3500.005
predicted_SO1.084-0.016
4. ab_floor_and_scaling

AB rounded to 8 (raw=7.98), rates preserved: AVG=0.224 HR/AB=0.014

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB8.000-
BB2.000-
H2.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB8.0000.000
BB2.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
6. 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.355
predicted_3B0.000-0.152
predicted_AB8.0000.024
predicted_AVG0.2500.026
predicted_BB2.0000.394
predicted_H2.0000.217
predicted_HR0.000-0.115
predicted_OBP0.4000.046
predicted_R1.0000.032
predicted_RBI1.0000.100
predicted_SLG0.250-0.100
predicted_SO1.000-0.084
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 187
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-15.0001.0001.0000.0000.0003.0000.0004.0001.0000.06670.25000.13330.06670.00000.20000.26670.0667
last_100.203-35.0006.0001.0000.0000.0003.0005.0009.0001.0000.17140.33330.20000.17140.00000.08570.25710.0286
season0.6045-661.000149.00029.00015.0009.00058.00081.000130.00099.0000.22540.34830.35550.22540.01360.08770.19670.1498
Weighted Prediction From Real Data
MetricValue
predicted_2B0.6110
predicted_3B0.2450
predicted_AB13.3670
predicted_AVG0.2064
predicted_BB2.7150
predicted_H2.7590
predicted_HBP0.0040
predicted_HR0.1620
predicted_OBP0.3357
predicted_R1.4800
predicted_RBI1.3530
predicted_SLG0.3253
predicted_SO1.8300
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15500.61100.3554model_form_blend
predicted_3B0.08000.24500.1525model_form_blend
predicted_AB3.750013.36707.9761model_form_blend
predicted_AVG0.23300.20640.2213model_form_blend
predicted_BB0.69502.71501.5827model_form_blend
predicted_H0.87002.75901.7001model_form_blend
predicted_HBP-0.00400.0040form_only
predicted_HR0.07000.16200.1104model_form_blend
predicted_OBP0.33200.33570.3336model_form_blend
predicted_R0.43301.48000.8931model_form_blend
predicted_RBI0.42001.35300.8300model_form_blend
predicted_SLG0.36100.32530.3453model_form_blend
predicted_SO0.52901.83001.1007model_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 date187
Season rows before report date187
Report year2026
Profile rows used187
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.225

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_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI3
Hitting_SAC0
Hitting_SF1
Hitting_SO1
Hitting_TB2
Hitting_battingOrder3
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedSS
gameID20260520_SF@ARI
game_typefull
mlbID672695
playerID672695
playerNameGeraldo Perdomo
posSS
startedTrue
startingPositionSS
teamARI
teamID1
game_date2026-05-20
sl_k_percent12.4
sl_bb_percent15.6
sl_woba0.316
sl_xwoba0.329
sl_xba0.25
sl_xslg0.336
sl_sweet_spot_percent32.8
sl_barrel_batted_rate3.0
sl_hard_hit_percent35.1
sl_exit_velocity_avg87.6
sl_launch_angle_avg11.2
sl_whiff_percent11.0
sl_swing_percent38.9
Corbin Carroll (682998) · BATTER · RF · Team ARI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 190
All-history rows before 20260521: 190
System season_avg: 0.2950
Data season_avg (2026 season-to-date): 0.2952
Diff (system - data): -0.0002
System opponent_avg: 0.4170

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2630.0001.000Hitting_2B0.2630.000-0.2630.000
predicted_3B0.1420.0001.000Hitting_3B0.1421.000-0.142-1.000
predicted_AB3.8604.0008.000Hitting_AB3.5843.0000.4161.000
predicted_AVG0.2620.0000.250Hitting_AVG0.2950.333-0.295-0.333
predicted_BB0.6630.0001.000Hitting_BB0.6631.000-0.663-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0260.000-0.0260.000
predicted_H1.0100.0002.000Hitting_H1.0581.000-1.058-1.000
predicted_HR0.1900.0000.000Hitting_HR0.1680.000-0.1680.000
predicted_OBP0.3890.0000.333Hitting_OBP0.4070.500-0.407-0.500
predicted_R0.7840.0002.000Hitting_R0.7841.000-0.784-1.000
predicted_RBI0.5300.0001.000Hitting_RBI0.5790.000-0.5790.000
predicted_SLG0.5490.0000.625Hitting_SLG0.5891.000-0.589-1.000
predicted_SO0.9841.0002.000Hitting_SO0.9841.0000.0160.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics4
Deboosted Metrics7
Better Metrics4
Worse Metrics7
Biggest Boostpredicted_AB: 3.8600 -> 4.0000 (boost 0.1400, better)
Biggest Deboostpredicted_H: 1.0100 -> 0.0000 (deboost -1.0100, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend12120111predicted_AB: 3.8600 -> 8.2331 (boost 4.3731, 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_snapshot66060predicted_R: 1.8644 -> 2.0208 (boost 0.1564, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling92736predicted_2B: 0.5163 -> 1.0000 (boost 0.4837, better)predicted_H: 2.5688 -> 2.0000 (deboost -0.5688, worse)AB rounded to 8 (raw=8.23), rates preserved: AVG=0.312 HR/AB=0.048
5consistency_constraints00000--Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context30303-predicted_OBP: 0.4199 -> 0.3330 (deboost -0.0869, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference80817-predicted_AB: 8.0000 -> 4.0000 (deboost -4.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final33030predicted_OBP: 0.3330 -> 0.4199 (boost 0.0869, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "682998",
  "player_name": "Corbin Carroll",
  "position": "RF",
  "team": "ARI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.263,
        "predicted_3B": 0.142,
        "predicted_AB": 3.86,
        "predicted_AVG": 0.262,
        "predicted_BB": 0.663,
        "predicted_H": 1.01,
        "predicted_HR": 0.19,
        "predicted_OBP": 0.389,
        "predicted_R": 0.784,
        "predicted_RBI": 0.53,
        "predicted_SLG": 0.549,
        "predicted_SO": 0.984
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.5163,
        "predicted_3B": 0.5496,
        "predicted_AB": 8.2331,
        "predicted_AVG": 0.2832,
        "predicted_BB": 1.5082,
        "predicted_H": 2.4488,
        "predicted_HBP": 0.135,
        "predicted_HR": 0.3791,
        "predicted_OBP": 0.4025,
        "predicted_R": 1.8644,
        "predicted_RBI": 1.1676,
        "predicted_SLG": 0.598,
        "predicted_SO": 2.1739
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.263,
          "after": 0.5163,
          "delta": 0.2533,
          "percent_delta": 0.9631,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.142,
          "after": 0.5496,
          "delta": 0.4076,
          "percent_delta": 2.8704,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.86,
          "after": 8.2331,
          "delta": 4.3731,
          "percent_delta": 1.1329,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.262,
          "after": 0.2832,
          "delta": 0.0212,
          "percent_delta": 0.0809,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.663,
          "after": 1.5082,
          "delta": 0.8452,
          "percent_delta": 1.2748,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.01,
          "after": 2.4488,
          "delta": 1.4388,
          "percent_delta": 1.4246,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.19,
          "after": 0.3791,
          "delta": 0.1891,
          "percent_delta": 0.9953,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.389,
          "after": 0.4025,
          "delta": 0.0135,
          "percent_delta": 0.0347,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.784,
          "after": 1.8644,
          "delta": 1.0804,
          "percent_delta": 1.3781,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.53,
          "after": 1.1676,
          "delta": 0.6376,
          "percent_delta": 1.203,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.549,
          "after": 0.598,
          "delta": 0.049,
          "percent_delta": 0.0893,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.984,
          "after": 2.1739,
          "delta": 1.1899,
          "percent_delta": 1.2092,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 12,
        "boosted_metrics": 12,
        "deboosted_metrics": 0,
        "better_metrics": 11,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.86,
          "after": 8.2331,
          "delta": 4.3731,
          "percent_delta": 1.1329,
          "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": 2,
        "last_10": 3,
        "season": 45
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.5163,
        "predicted_3B": 0.5496,
        "predicted_AB": 8.2331,
        "predicted_AVG": 0.312,
        "predicted_BB": 1.5307,
        "predicted_H": 2.5688,
        "predicted_HBP": 0.135,
        "predicted_HR": 0.3964,
        "predicted_OBP": 0.4199,
        "predicted_R": 2.0208,
        "predicted_RBI": 1.2656,
        "predicted_SLG": 0.6527,
        "predicted_SO": 2.1415
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.5163,
          "after": 0.5163,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.5496,
          "after": 0.5496,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.2331,
          "after": 8.2331,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2832,
          "after": 0.312,
          "delta": 0.0288,
          "percent_delta": 0.1017,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.5082,
          "after": 1.5307,
          "delta": 0.0225,
          "percent_delta": 0.0149,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.4488,
          "after": 2.5688,
          "delta": 0.12,
          "percent_delta": 0.049,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.135,
          "after": 0.135,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.3791,
          "after": 0.3964,
          "delta": 0.0173,
          "percent_delta": 0.0456,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.4025,
          "after": 0.4199,
          "delta": 0.0174,
          "percent_delta": 0.0432,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.8644,
          "after": 2.0208,
          "delta": 0.1564,
          "percent_delta": 0.0839,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.1676,
          "after": 1.2656,
          "delta": 0.098,
          "percent_delta": 0.0839,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.598,
          "after": 0.6527,
          "delta": 0.0547,
          "percent_delta": 0.0915,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.1739,
          "after": 2.1415,
          "delta": -0.0324,
          "percent_delta": -0.0149,
          "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_R",
          "before": 1.8644,
          "after": 2.0208,
          "delta": 0.1564,
          "percent_delta": 0.0839,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 8 (raw=8.23), rates preserved: AVG=0.312 HR/AB=0.048",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 1.0,
        "predicted_AB": 8.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.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.5163,
          "after": 1.0,
          "delta": 0.4837,
          "percent_delta": 0.9369,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.5496,
          "after": 1.0,
          "delta": 0.4504,
          "percent_delta": 0.8195,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 8.2331,
          "after": 8.0,
          "delta": -0.2331,
          "percent_delta": -0.0283,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.5307,
          "after": 1.0,
          "delta": -0.5307,
          "percent_delta": -0.3467,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.5688,
          "after": 2.0,
          "delta": -0.5688,
          "percent_delta": -0.2214,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.135,
          "after": 0.0,
          "delta": -0.135,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.3964,
          "after": 0.0,
          "delta": -0.3964,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.2656,
          "after": 1.0,
          "delta": -0.2656,
          "percent_delta": -0.2099,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.1415,
          "after": 2.0,
          "delta": -0.1415,
          "percent_delta": -0.0661,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 2,
        "deboosted_metrics": 7,
        "better_metrics": 3,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.5163,
          "after": 1.0,
          "delta": 0.4837,
          "percent_delta": 0.9369,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 2.5688,
          "after": 2.0,
          "delta": -0.5688,
          "percent_delta": -0.2214,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 1.0,
        "predicted_AB": 8.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 2.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 8.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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 2.0208,
          "after": 2.0,
          "delta": -0.0208,
          "percent_delta": -0.0103,
          "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_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 1.0,
        "predicted_AB": 8.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.333,
        "predicted_R": 2.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.625,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.312,
          "after": 0.25,
          "delta": -0.062,
          "percent_delta": -0.1987,
          "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": 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.4199,
          "after": 0.333,
          "delta": -0.0869,
          "percent_delta": -0.207,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 2.0,
          "after": 2.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.6527,
          "after": 0.625,
          "delta": -0.0277,
          "percent_delta": -0.0424,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.4199,
          "after": 0.333,
          "delta": -0.0869,
          "percent_delta": -0.207,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 4.0,
          "delta": -4.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.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": 2.0,
          "after": 0.0,
          "delta": -2.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": 8,
        "boosted_metrics": 0,
        "deboosted_metrics": 8,
        "better_metrics": 1,
        "worse_metrics": 7,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 4.0,
          "delta": -4.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.312,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.4199,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.6527,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.312,
          "delta": 0.062,
          "percent_delta": 0.248,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.333,
          "after": 0.4199,
          "delta": 0.0869,
          "percent_delta": 0.2609,
          "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.625,
          "after": 0.6527,
          "delta": 0.0277,
          "percent_delta": 0.0443,
          "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.333,
          "after": 0.4199,
          "delta": 0.0869,
          "percent_delta": 0.2609,
          "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.263,
        "after": 0.0,
        "delta": -0.263,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.142,
        "after": 0.0,
        "delta": -0.142,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.86,
        "after": 4.0,
        "delta": 0.14,
        "percent_delta": 0.0363,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.262,
        "after": 0.312,
        "delta": 0.05,
        "percent_delta": 0.1908,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.663,
        "after": 0.0,
        "delta": -0.663,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.01,
        "after": 0.0,
        "delta": -1.01,
        "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.389,
        "after": 0.4199,
        "delta": 0.0309,
        "percent_delta": 0.0794,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.784,
        "after": 0.0,
        "delta": -0.784,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.53,
        "after": 0.0,
        "delta": -0.53,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.549,
        "after": 0.6527,
        "delta": 0.1037,
        "percent_delta": 0.1889,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.984,
        "after": 1.0,
        "delta": 0.016,
        "percent_delta": 0.0163,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 4,
      "deboosted_metrics": 7,
      "better_metrics": 4,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.86,
        "after": 4.0,
        "delta": 0.14,
        "percent_delta": 0.0363,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.01,
        "after": 0.0,
        "delta": -1.01,
        "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.263-
predicted_3B0.142-
predicted_AB3.860-
predicted_AVG0.262-
predicted_BB0.663-
predicted_H1.010-
predicted_HR0.190-
predicted_OBP0.389-
predicted_R0.784-
predicted_RBI0.530-
predicted_SLG0.549-
predicted_SO0.984-
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.5160.253
predicted_3B0.5500.408
predicted_AB8.2334.373
predicted_AVG0.2830.021
predicted_BB1.5080.845
predicted_H2.4491.439
predicted_HBP0.135-
predicted_HR0.3790.189
predicted_OBP0.4030.014
predicted_R1.8641.080
predicted_RBI1.1680.638
predicted_SLG0.5980.049
predicted_SO2.1741.190
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.5160.000
predicted_3B0.5500.000
predicted_AB8.2330.000
predicted_AVG0.3120.029
predicted_BB1.5310.022
predicted_H2.5690.120
predicted_HBP0.1350.000
predicted_HR0.3960.017
predicted_OBP0.4200.017
predicted_R2.0210.156
predicted_RBI1.2660.098
predicted_SLG0.6530.055
predicted_SO2.142-0.032
4. ab_floor_and_scaling

AB rounded to 8 (raw=8.23), rates preserved: AVG=0.312 HR/AB=0.048

MetricValueDelta vs Prev Step
2B1.000-
3B1.000-
AB8.000-
BB1.000-
H2.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO2.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B1.0000.000
3B1.0000.000
AB8.0000.000
BB1.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R2.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
6. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B1.0000.484
predicted_3B1.0000.450
predicted_AB8.000-0.233
predicted_AVG0.250-0.062
predicted_BB1.000-0.531
predicted_H2.000-0.569
predicted_HR0.000-0.396
predicted_OBP0.333-0.087
predicted_R2.000-0.021
predicted_RBI1.000-0.266
predicted_SLG0.625-0.028
predicted_SO2.000-0.142
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.000-1.000
3B0.000-1.000
AB4.000-4.000
BB0.000-1.000
CS0.0000.000
H0.000-2.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-2.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: 190
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-16.0006.0000.0005.0000.0000.0005.0004.0004.0000.37500.50001.00000.37500.00000.00000.25000.2500
last_100.203-36.00016.0000.0008.0004.0006.00014.0006.0008.0000.44440.52381.22220.44440.11110.16670.16670.2222
season0.6045-681.000201.00050.00027.00032.000110.000149.000126.000187.0000.29520.40660.58880.29520.04700.16150.18500.2746
Weighted Prediction From Real Data
MetricValue
predicted_2B0.8390
predicted_3B1.0690
predicted_AB13.8050
predicted_AVG0.3102
predicted_BB2.5850
predicted_H4.2820
predicted_HBP0.1350
predicted_HR0.6200
predicted_OBP0.4197
predicted_R3.2410
predicted_RBI1.9800
predicted_SLG0.6605
predicted_SO3.6900
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.26300.83900.5163model_form_blend
predicted_3B0.14201.06900.5496model_form_blend
predicted_AB3.860013.80508.2331model_form_blend
predicted_AVG0.26200.31020.2832model_form_blend
predicted_BB0.66302.58501.5082model_form_blend
predicted_H1.01004.28202.4488model_form_blend
predicted_HBP-0.13500.1350form_only
predicted_HR0.19000.62000.3791model_form_blend
predicted_OBP0.38900.41970.4025model_form_blend
predicted_R0.78403.24101.8644model_form_blend
predicted_RBI0.53001.98001.1676model_form_blend
predicted_SLG0.54900.66050.5980model_form_blend
predicted_SO0.98403.69002.1739model_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 date190
Season rows before report date190
Report year2026
Profile rows used190
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.295

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_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_SO1
Hitting_TB3
Hitting_battingOrder2
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedRF
gameID20260519_SF@ARI
game_typefull
mlbID682998
playerID682998
playerNameCorbin Carroll
posRF
startedTrue
startingPositionRF
teamARI
teamID1
game_date2026-05-19
game_pk825086.0
sl_k_percent22.6
sl_bb_percent14.7
sl_woba0.412
sl_xwoba0.384
sl_xba0.265
sl_xslg0.512
sl_sweet_spot_percent35.0
sl_barrel_batted_rate14.5
sl_hard_hit_percent47.0
sl_exit_velocity_avg91.0
sl_launch_angle_avg13.4
sl_whiff_percent30.7
sl_swing_percent43.0
at_bat_number64.0
ab_pitcher669062.0
ab_pitcher_nameMiller, Erik
ab_home_teamAZ
ab_away_teamSF
ab_game_typeR
ab_standL
ab_p_throwsL
ab_inning8.0
ab_inning_topbotBot
ab_outs_when_up1.0
ab_on_1b_start814439.0
ab_on_2b_start814439.0
ab_balls_start0.0
ab_strikes_start0.0
ab_home_score_start1.0
ab_away_score_start3.0
ab_bat_score_start1.0
ab_fld_score_start3.0
ab_eventwalk
ab_event_descriptionCorbin Carroll walks.
ab_event_typeB
ab_pitch_type_lastSI
ab_pitch_name_lastSinker
ab_zone_last12.0
ab_estimated_woba_last0.704607
ab_woba_value0.7
ab_woba_denom1.0
ab_babip_value0.0
ab_iso_value0.0
ab_balls_end3.0
ab_strikes_end2.0
ab_home_score_end1.0
ab_away_score_end3.0
ab_bat_score_end1.0
ab_fld_score_end3.0
ab_pitch_count6.0
ab_release_speed_avg92.91666666666669
ab_release_spin_rate_avg2447.1666666666665
ab_effective_speed_avg92.88333333333334
ab_delta_run_exp_avg0.0411666666666666
ab_delta_home_win_exp_avg0.0141666666666666
ab_delta_pitcher_run_exp_avg-0.0411666666666666
ab_bat_speed_avg77.7
ab_swing_length_avg8.4
ab_release_speed_max97.8
ab_release_spin_rate_max2630.0
ab_release_speed_min87.6
ab_release_spin_rate_min2358.0
ab_delta_run_exp_sum0.247
ab_delta_home_win_exp_sum0.085
ab_delta_pitcher_run_exp_sum-0.247
ab_result_is_hitFalse
ab_result_is_walkTrue
ab_result_is_strikeoutFalse
ab_result_is_hbpFalse
Ketel Marte (606466) · BATTER · 2B · Team ARI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 191
All-history rows before 20260521: 191
System season_avg: 0.2360
Data season_avg (2026 season-to-date): 0.2360
Diff (system - data): 0.0000
System opponent_avg: 0.1650

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1530.0000.000Hitting_2B0.1521.000-0.152-1.000
predicted_3B0.0470.0000.000Hitting_3B0.0470.000-0.0470.000
predicted_AB4.4703.00010.000Hitting_AB4.1943.000-1.1940.000
predicted_AVG0.2430.3330.300Hitting_AVG0.2361.0000.097-0.667
predicted_BB0.2891.0001.000Hitting_BB0.2931.0000.7070.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H1.0901.0003.000Hitting_H0.9903.0000.010-2.000
predicted_HR0.1800.0001.000Hitting_HR0.1571.000-0.157-1.000
predicted_OBP0.3210.5000.364Hitting_OBP0.2841.0000.216-0.500
predicted_R0.6211.0002.000Hitting_R0.6183.0000.382-2.000
predicted_RBI0.6701.0002.000Hitting_RBI0.5182.0000.482-1.000
predicted_SB-0.0000.000BaseRunning_SB0.0000.0000.0000.000
predicted_SLG0.4650.3330.600Hitting_SLG0.4072.333-0.074-2.000
predicted_SO0.7471.0002.000Hitting_SO0.7430.0000.2571.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics6
Deboosted Metrics5
Better Metrics5
Worse Metrics6
Biggest Boostpredicted_BB: 0.2890 -> 1.0000 (boost 0.7110, better)
Biggest Deboostpredicted_AB: 4.4700 -> 3.0000 (deboost -1.4700, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend109182predicted_AB: 4.4700 -> 9.9022 (boost 5.4322, better)predicted_OBP: 0.3210 -> 0.3092 (deboost -0.0118, worse)Final model 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_snapshot55050predicted_RBI: 1.8540 -> 2.0096 (boost 0.1556, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling75243predicted_SO: 1.5068 -> 2.0000 (boost 0.4932, worse)predicted_2B: 0.3572 -> 0.0000 (deboost -0.3572, worse)AB rounded to 10 (raw=9.90), rates preserved: AVG=0.261 HR/AB=0.059
5consistency_constraints11010predicted_R: 1.7818 -> 2.0000 (boost 0.2182, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context33030predicted_SLG: 0.4933 -> 0.6000 (boost 0.1067, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference60615-predicted_AB: 10.0000 -> 3.0000 (deboost -7.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final30303-predicted_SLG: 0.6000 -> 0.4933 (deboost -0.1067, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "606466",
  "player_name": "Ketel Marte",
  "position": "2B",
  "team": "ARI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.153,
        "predicted_3B": 0.047,
        "predicted_AB": 4.47,
        "predicted_AVG": 0.243,
        "predicted_BB": 0.289,
        "predicted_H": 1.09,
        "predicted_HR": 0.18,
        "predicted_OBP": 0.321,
        "predicted_R": 0.621,
        "predicted_RBI": 0.67,
        "predicted_SLG": 0.465,
        "predicted_SO": 0.747
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.3572,
        "predicted_3B": 0.0941,
        "predicted_AB": 9.9022,
        "predicted_AVG": 0.2464,
        "predicted_BB": 0.6341,
        "predicted_H": 2.465,
        "predicted_HBP": 0.005,
        "predicted_HR": 0.559,
        "predicted_OBP": 0.3092,
        "predicted_R": 1.6439,
        "predicted_RBI": 1.854,
        "predicted_SLG": 0.4767,
        "predicted_SO": 1.5296
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.153,
          "after": 0.3572,
          "delta": 0.2042,
          "percent_delta": 1.3346,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.047,
          "after": 0.0941,
          "delta": 0.0471,
          "percent_delta": 1.0021,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.47,
          "after": 9.9022,
          "delta": 5.4322,
          "percent_delta": 1.2153,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.243,
          "after": 0.2464,
          "delta": 0.0034,
          "percent_delta": 0.014,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.289,
          "after": 0.6341,
          "delta": 0.3451,
          "percent_delta": 1.1941,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.09,
          "after": 2.465,
          "delta": 1.375,
          "percent_delta": 1.2615,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.18,
          "after": 0.559,
          "delta": 0.379,
          "percent_delta": 2.1056,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.321,
          "after": 0.3092,
          "delta": -0.0118,
          "percent_delta": -0.0368,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.621,
          "after": 1.6439,
          "delta": 1.0229,
          "percent_delta": 1.6472,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.67,
          "after": 1.854,
          "delta": 1.184,
          "percent_delta": 1.7672,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.465,
          "after": 0.4767,
          "delta": 0.0117,
          "percent_delta": 0.0252,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.747,
          "after": 1.5296,
          "delta": 0.7826,
          "percent_delta": 1.0477,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 10,
        "boosted_metrics": 9,
        "deboosted_metrics": 1,
        "better_metrics": 8,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.47,
          "after": 9.9022,
          "delta": 5.4322,
          "percent_delta": 1.2153,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.321,
          "after": 0.3092,
          "delta": -0.0118,
          "percent_delta": -0.0368,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 2,
        "last_10": 3,
        "season": 44
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.3572,
        "predicted_3B": 0.0941,
        "predicted_AB": 9.9022,
        "predicted_AVG": 0.2611,
        "predicted_BB": 0.6435,
        "predicted_H": 2.5858,
        "predicted_HBP": 0.005,
        "predicted_HR": 0.5845,
        "predicted_OBP": 0.3062,
        "predicted_R": 1.7818,
        "predicted_RBI": 2.0096,
        "predicted_SLG": 0.4933,
        "predicted_SO": 1.5068
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.3572,
          "after": 0.3572,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0941,
          "after": 0.0941,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.9022,
          "after": 9.9022,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2464,
          "after": 0.2611,
          "delta": 0.0147,
          "percent_delta": 0.0597,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.6341,
          "after": 0.6435,
          "delta": 0.0094,
          "percent_delta": 0.0148,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.465,
          "after": 2.5858,
          "delta": 0.1208,
          "percent_delta": 0.049,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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.559,
          "after": 0.5845,
          "delta": 0.0255,
          "percent_delta": 0.0456,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3092,
          "after": 0.3062,
          "delta": -0.003,
          "percent_delta": -0.0097,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.6439,
          "after": 1.7818,
          "delta": 0.1379,
          "percent_delta": 0.0839,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.854,
          "after": 2.0096,
          "delta": 0.1556,
          "percent_delta": 0.0839,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4767,
          "after": 0.4933,
          "delta": 0.0166,
          "percent_delta": 0.0348,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.5296,
          "after": 1.5068,
          "delta": -0.0228,
          "percent_delta": -0.0149,
          "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_RBI",
          "before": 1.854,
          "after": 2.0096,
          "delta": 0.1556,
          "percent_delta": 0.0839,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 10 (raw=9.90), rates preserved: AVG=0.261 HR/AB=0.059",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 10.0,
        "predicted_BB": 1.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.3572,
          "after": 0.0,
          "delta": -0.3572,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0941,
          "after": 0.0,
          "delta": -0.0941,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 9.9022,
          "after": 10.0,
          "delta": 0.0978,
          "percent_delta": 0.0099,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.6435,
          "after": 1.0,
          "delta": 0.3565,
          "percent_delta": 0.554,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.5858,
          "after": 3.0,
          "delta": 0.4142,
          "percent_delta": 0.1602,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.005,
          "after": 0.0,
          "delta": -0.005,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.5845,
          "after": 1.0,
          "delta": 0.4155,
          "percent_delta": 0.7109,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 2.0096,
          "after": 2.0,
          "delta": -0.0096,
          "percent_delta": -0.0048,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.5068,
          "after": 2.0,
          "delta": 0.4932,
          "percent_delta": 0.3273,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 5,
        "deboosted_metrics": 2,
        "better_metrics": 4,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.5068,
          "after": 2.0,
          "delta": 0.4932,
          "percent_delta": 0.3273,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.3572,
          "after": 0.0,
          "delta": -0.3572,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 10.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 2.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": 10.0,
          "after": 10.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": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.7818,
          "after": 2.0,
          "delta": 0.2182,
          "percent_delta": 0.1225,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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_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": 1.7818,
          "after": 2.0,
          "delta": 0.2182,
          "percent_delta": 0.1225,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 10.0,
        "predicted_AVG": 0.3,
        "predicted_BB": 1.0,
        "predicted_H": 3.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.364,
        "predicted_R": 2.0,
        "predicted_RBI": 2.0,
        "predicted_SLG": 0.6,
        "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": 10.0,
          "after": 10.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2611,
          "after": 0.3,
          "delta": 0.0389,
          "percent_delta": 0.149,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3062,
          "after": 0.364,
          "delta": 0.0578,
          "percent_delta": 0.1888,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 2.0,
          "after": 2.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_SLG",
          "before": 0.4933,
          "after": 0.6,
          "delta": 0.1067,
          "percent_delta": 0.2163,
          "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.4933,
          "after": 0.6,
          "delta": 0.1067,
          "percent_delta": 0.2163,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 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": 10.0,
          "after": 3.0,
          "delta": -7.0,
          "percent_delta": -0.7,
          "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": 1.0,
          "delta": -2.0,
          "percent_delta": -0.6667,
          "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": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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": 6,
        "boosted_metrics": 0,
        "deboosted_metrics": 6,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 10.0,
          "after": 3.0,
          "delta": -7.0,
          "percent_delta": -0.7,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2611,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3062,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4933,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.3,
          "after": 0.2611,
          "delta": -0.0389,
          "percent_delta": -0.1296,
          "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.364,
          "after": 0.3062,
          "delta": -0.0578,
          "percent_delta": -0.1587,
          "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.6,
          "after": 0.4933,
          "delta": -0.1067,
          "percent_delta": -0.1778,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.6,
          "after": 0.4933,
          "delta": -0.1067,
          "percent_delta": -0.1778,
          "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.153,
        "after": 0.0,
        "delta": -0.153,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.047,
        "after": 0.0,
        "delta": -0.047,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.47,
        "after": 3.0,
        "delta": -1.47,
        "percent_delta": -0.3289,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.243,
        "after": 0.2611,
        "delta": 0.0181,
        "percent_delta": 0.0745,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.289,
        "after": 1.0,
        "delta": 0.711,
        "percent_delta": 2.4602,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.09,
        "after": 1.0,
        "delta": -0.09,
        "percent_delta": -0.0826,
        "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.321,
        "after": 0.3062,
        "delta": -0.0148,
        "percent_delta": -0.0461,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.621,
        "after": 1.0,
        "delta": 0.379,
        "percent_delta": 0.6103,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.67,
        "after": 1.0,
        "delta": 0.33,
        "percent_delta": 0.4925,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.465,
        "after": 0.4933,
        "delta": 0.0283,
        "percent_delta": 0.0609,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.747,
        "after": 1.0,
        "delta": 0.253,
        "percent_delta": 0.3387,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 6,
      "deboosted_metrics": 5,
      "better_metrics": 5,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.289,
        "after": 1.0,
        "delta": 0.711,
        "percent_delta": 2.4602,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.47,
        "after": 3.0,
        "delta": -1.47,
        "percent_delta": -0.3289,
        "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.047-
predicted_AB4.470-
predicted_AVG0.243-
predicted_BB0.289-
predicted_H1.090-
predicted_HR0.180-
predicted_OBP0.321-
predicted_R0.621-
predicted_RBI0.670-
predicted_SLG0.465-
predicted_SO0.747-
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.3570.204
predicted_3B0.0940.047
predicted_AB9.9025.432
predicted_AVG0.2460.003
predicted_BB0.6340.345
predicted_H2.4651.375
predicted_HBP0.005-
predicted_HR0.5590.379
predicted_OBP0.309-0.012
predicted_R1.6441.023
predicted_RBI1.8541.184
predicted_SLG0.4770.012
predicted_SO1.5300.783
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.3570.000
predicted_3B0.0940.000
predicted_AB9.9020.000
predicted_AVG0.2610.015
predicted_BB0.6430.009
predicted_H2.5860.121
predicted_HBP0.0050.000
predicted_HR0.5850.025
predicted_OBP0.306-0.003
predicted_R1.7820.138
predicted_RBI2.0100.156
predicted_SLG0.4930.017
predicted_SO1.507-0.023
4. ab_floor_and_scaling

AB rounded to 10 (raw=9.90), rates preserved: AVG=0.261 HR/AB=0.059

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB10.000-
BB1.000-
H3.000-
HBP0.000-
HR1.000-
RBI2.000-
SB0.000-
SO2.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB10.0000.000
BB1.0000.000
CS0.000-
H3.0000.000
HBP0.0000.000
HR1.0000.000
R2.000-
RBI2.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
6. 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.357
predicted_3B0.000-0.094
predicted_AB10.0000.098
predicted_AVG0.3000.039
predicted_BB1.0000.357
predicted_H3.0000.414
predicted_HR1.0000.415
predicted_OBP0.3640.058
predicted_R2.0000.218
predicted_RBI2.000-0.010
predicted_SLG0.6000.107
predicted_SO2.0000.493
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-7.000
BB1.0000.000
CS0.0000.000
H1.000-2.000
HBP0.0000.000
HR0.000-1.000
PA4.000-
R1.000-1.000
RBI1.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: 190
Reference playing time: 4.470
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-23.0007.0001.0000.0005.00014.0007.0001.0000.0000.30430.33331.00000.30440.21740.60870.04350.0000
last_100.203-44.00016.0001.0000.0006.00025.00016.0001.0000.0000.36360.36360.79550.36360.13640.56820.02270.0000
season0.6044-801.000189.00029.0009.00030.00099.000118.00055.000142.0000.23600.28340.40700.23600.03740.12360.06870.1773
Weighted Prediction From Real Data
MetricValue
predicted_2B0.6170
predicted_3B0.1540
predicted_AB16.8120
predicted_AVG0.2507
predicted_BB1.0730
predicted_H4.2140
predicted_HBP0.0050
predicted_HR1.0410
predicted_OBP0.2941
predicted_R2.9450
predicted_RBI3.3600
predicted_SLG0.4916
predicted_SO2.5250
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15300.61700.3572model_form_blend
predicted_3B0.04700.15400.0941model_form_blend
predicted_AB4.470016.81209.9022model_form_blend
predicted_AVG0.24300.25070.2464model_form_blend
predicted_BB0.28901.07300.6341model_form_blend
predicted_H1.09004.21402.4650model_form_blend
predicted_HBP-0.00500.0050form_only
predicted_HR0.18001.04100.5590model_form_blend
predicted_OBP0.32100.29410.3092model_form_blend
predicted_R0.62102.94501.6439model_form_blend
predicted_RBI0.67003.36001.8540model_form_blend
predicted_SLG0.46500.49160.4767model_form_blend
predicted_SO0.74702.52501.5296model_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 date191
Season rows before report date191
Report year2026
Profile rows used190
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
RBI1
BB1
SO1
SF0
HBP0
season_avg0.236

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_AVG1.0
Hitting_BB1
Hitting_GIDP0
Hitting_H3
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R3
Hitting_RBI2
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB7
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
allPositionsPlayed2B
gameID20260520_SF@ARI
game_typefull
mlbID606466
playerID606466
playerNameKetel Marte
pos2B
startedTrue
startingPosition2B
teamARI
teamID1
game_date2026-05-20
sl_k_percent16.3
sl_bb_percent6.8
sl_woba0.29
sl_xwoba0.353
sl_xba0.289
sl_xslg0.47
sl_sweet_spot_percent30.1
sl_barrel_batted_rate10.3
sl_hard_hit_percent47.9
sl_exit_velocity_avg91.9
sl_launch_angle_avg9.3
sl_whiff_percent21.8
sl_swing_percent48.7
Lourdes Gurriel Jr. (666971) · BATTER · LF · Team ARI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 93
All-history rows before 20260521: 93
System season_avg: 0.2390
Data season_avg (2026 season-to-date): 0.2394
Diff (system - data): -0.0004
System opponent_avg: 0.4110

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1940.0000.000Hitting_2B0.1940.000-0.1940.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.8173.0008.000Hitting_AB3.8174.000-0.817-1.000
predicted_AVG0.2360.0000.250Hitting_AVG0.2390.000-0.2390.000
predicted_BB0.3661.0001.000Hitting_BB0.3660.0000.6341.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.8900.0002.000Hitting_H0.9140.000-0.9140.000
predicted_HR0.1000.0000.000Hitting_HR0.0540.000-0.0540.000
predicted_OBP0.3010.2500.333Hitting_OBP0.3020.000-0.0520.250
predicted_R0.3230.0001.000Hitting_R0.3230.000-0.3230.000
predicted_RBI0.4300.0001.000Hitting_RBI0.4520.000-0.4520.000
predicted_SLG0.3730.0000.250Hitting_SLG0.3320.000-0.3320.000
predicted_SO0.7310.0002.000Hitting_SO0.7312.000-0.731-2.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics4
Deboosted Metrics7
Better Metrics5
Worse Metrics6
Biggest Boostpredicted_BB: 0.3660 -> 1.0000 (boost 0.6340, better)
Biggest Deboostpredicted_H: 0.8900 -> 0.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_blend1010091predicted_AB: 3.8170 -> 8.2026 (boost 4.3856, 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_snapshot66060predicted_H: 2.1049 -> 2.2080 (boost 0.1031, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling62415predicted_SO: 1.6767 -> 2.0000 (boost 0.3233, worse)predicted_2B: 0.3683 -> 0.0000 (deboost -0.3683, worse)AB rounded to 8 (raw=8.20), rates preserved: AVG=0.269 HR/AB=0.022
5consistency_constraints11010predicted_R: 0.7237 -> 1.0000 (boost 0.2763, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context31212predicted_OBP: 0.3266 -> 0.3330 (boost 0.0064, better)predicted_SLG: 0.3802 -> 0.2500 (deboost -0.1302, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference50514-predicted_AB: 8.0000 -> 3.0000 (deboost -5.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final32121predicted_SLG: 0.2500 -> 0.3802 (boost 0.1302, better)predicted_OBP: 0.3330 -> 0.3266 (deboost -0.0064, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "666971",
  "player_name": "Lourdes Gurriel Jr.",
  "position": "LF",
  "team": "ARI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.194,
        "predicted_3B": 0.0,
        "predicted_AB": 3.817,
        "predicted_AVG": 0.236,
        "predicted_BB": 0.366,
        "predicted_H": 0.89,
        "predicted_HR": 0.1,
        "predicted_OBP": 0.301,
        "predicted_R": 0.323,
        "predicted_RBI": 0.43,
        "predicted_SLG": 0.373,
        "predicted_SO": 0.731
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.3683,
        "predicted_3B": 0.0017,
        "predicted_AB": 8.2026,
        "predicted_AVG": 0.2484,
        "predicted_BB": 0.6893,
        "predicted_H": 2.1049,
        "predicted_HBP": 0.009,
        "predicted_HR": 0.1717,
        "predicted_OBP": 0.3083,
        "predicted_R": 0.6677,
        "predicted_RBI": 0.9228,
        "predicted_SLG": 0.3697,
        "predicted_SO": 1.7021
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.194,
          "after": 0.3683,
          "delta": 0.1743,
          "percent_delta": 0.8985,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0017,
          "delta": 0.0017,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.817,
          "after": 8.2026,
          "delta": 4.3856,
          "percent_delta": 1.149,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.236,
          "after": 0.2484,
          "delta": 0.0124,
          "percent_delta": 0.0525,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.366,
          "after": 0.6893,
          "delta": 0.3233,
          "percent_delta": 0.8833,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.89,
          "after": 2.1049,
          "delta": 1.2149,
          "percent_delta": 1.3651,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1,
          "after": 0.1717,
          "delta": 0.0717,
          "percent_delta": 0.717,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.301,
          "after": 0.3083,
          "delta": 0.0073,
          "percent_delta": 0.0243,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.323,
          "after": 0.6677,
          "delta": 0.3447,
          "percent_delta": 1.0672,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.43,
          "after": 0.9228,
          "delta": 0.4928,
          "percent_delta": 1.146,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.373,
          "after": 0.3697,
          "delta": -0.0033,
          "percent_delta": -0.0088,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.731,
          "after": 1.7021,
          "delta": 0.9711,
          "percent_delta": 1.3285,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 10,
        "boosted_metrics": 10,
        "deboosted_metrics": 0,
        "better_metrics": 9,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.817,
          "after": 8.2026,
          "delta": 4.3856,
          "percent_delta": 1.149,
          "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": 2,
        "last_10": 3,
        "season": 23
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.3683,
        "predicted_3B": 0.0017,
        "predicted_AB": 8.2026,
        "predicted_AVG": 0.2692,
        "predicted_BB": 0.6996,
        "predicted_H": 2.208,
        "predicted_HBP": 0.009,
        "predicted_HR": 0.1795,
        "predicted_OBP": 0.3266,
        "predicted_R": 0.7237,
        "predicted_RBI": 1.0002,
        "predicted_SLG": 0.3802,
        "predicted_SO": 1.6767
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.3683,
          "after": 0.3683,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0017,
          "after": 0.0017,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.2026,
          "after": 8.2026,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2484,
          "after": 0.2692,
          "delta": 0.0208,
          "percent_delta": 0.0837,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.6893,
          "after": 0.6996,
          "delta": 0.0103,
          "percent_delta": 0.0149,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.1049,
          "after": 2.208,
          "delta": 0.1031,
          "percent_delta": 0.049,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.009,
          "after": 0.009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1717,
          "after": 0.1795,
          "delta": 0.0078,
          "percent_delta": 0.0454,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3083,
          "after": 0.3266,
          "delta": 0.0183,
          "percent_delta": 0.0594,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6677,
          "after": 0.7237,
          "delta": 0.056,
          "percent_delta": 0.0839,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.9228,
          "after": 1.0002,
          "delta": 0.0774,
          "percent_delta": 0.0839,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3697,
          "after": 0.3802,
          "delta": 0.0105,
          "percent_delta": 0.0284,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.7021,
          "after": 1.6767,
          "delta": -0.0254,
          "percent_delta": -0.0149,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 6,
        "deboosted_metrics": 0,
        "better_metrics": 6,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 2.1049,
          "after": 2.208,
          "delta": 0.1031,
          "percent_delta": 0.049,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 8 (raw=8.20), rates preserved: AVG=0.269 HR/AB=0.022",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.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.3683,
          "after": 0.0,
          "delta": -0.3683,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0017,
          "after": 0.0,
          "delta": -0.0017,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.2026,
          "after": 8.0,
          "delta": -0.2026,
          "percent_delta": -0.0247,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.6996,
          "after": 1.0,
          "delta": 0.3004,
          "percent_delta": 0.4294,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.208,
          "after": 2.0,
          "delta": -0.208,
          "percent_delta": -0.0942,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.009,
          "after": 0.0,
          "delta": -0.009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1795,
          "after": 0.0,
          "delta": -0.1795,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0002,
          "after": 1.0,
          "delta": -0.0002,
          "percent_delta": -0.0002,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.6767,
          "after": 2.0,
          "delta": 0.3233,
          "percent_delta": 0.1928,
          "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.6767,
          "after": 2.0,
          "delta": 0.3233,
          "percent_delta": 0.1928,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.3683,
          "after": 0.0,
          "delta": -0.3683,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.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": 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": 8.0,
          "after": 8.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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.7237,
          "after": 1.0,
          "delta": 0.2763,
          "percent_delta": 0.3818,
          "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.7237,
          "after": 1.0,
          "delta": 0.2763,
          "percent_delta": 0.3818,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.333,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.25,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2692,
          "after": 0.25,
          "delta": -0.0192,
          "percent_delta": -0.0713,
          "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": 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.3266,
          "after": 0.333,
          "delta": 0.0064,
          "percent_delta": 0.0196,
          "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.3802,
          "after": 0.25,
          "delta": -0.1302,
          "percent_delta": -0.3425,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.3266,
          "after": 0.333,
          "delta": 0.0064,
          "percent_delta": 0.0196,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3802,
          "after": 0.25,
          "delta": -0.1302,
          "percent_delta": -0.3425,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 3.0,
          "delta": -5.0,
          "percent_delta": -0.625,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.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": 0.0,
          "delta": -2.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 3.0,
          "delta": -5.0,
          "percent_delta": -0.625,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2692,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_LF": 0.0,
        "predicted_OBP": 0.3266,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3802,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2692,
          "delta": 0.0192,
          "percent_delta": 0.0768,
          "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.333,
          "after": 0.3266,
          "delta": -0.0064,
          "percent_delta": -0.0192,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.3802,
          "delta": 0.1302,
          "percent_delta": 0.5207,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.3802,
          "delta": 0.1302,
          "percent_delta": 0.5207,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.333,
          "after": 0.3266,
          "delta": -0.0064,
          "percent_delta": -0.0192,
          "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.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.817,
        "after": 3.0,
        "delta": -0.817,
        "percent_delta": -0.214,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.236,
        "after": 0.2692,
        "delta": 0.0332,
        "percent_delta": 0.1407,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.366,
        "after": 1.0,
        "delta": 0.634,
        "percent_delta": 1.7322,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.89,
        "after": 0.0,
        "delta": -0.89,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.1,
        "after": 0.0,
        "delta": -0.1,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.301,
        "after": 0.3266,
        "delta": 0.0256,
        "percent_delta": 0.085,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.323,
        "after": 0.0,
        "delta": -0.323,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.43,
        "after": 0.0,
        "delta": -0.43,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.373,
        "after": 0.3802,
        "delta": 0.0072,
        "percent_delta": 0.0193,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.731,
        "after": 0.0,
        "delta": -0.731,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 4,
      "deboosted_metrics": 7,
      "better_metrics": 5,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.366,
        "after": 1.0,
        "delta": 0.634,
        "percent_delta": 1.7322,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.89,
        "after": 0.0,
        "delta": -0.89,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

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.000-
predicted_AB3.817-
predicted_AVG0.236-
predicted_BB0.366-
predicted_H0.890-
predicted_HR0.100-
predicted_OBP0.301-
predicted_R0.323-
predicted_RBI0.430-
predicted_SLG0.373-
predicted_SO0.731-
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.3680.174
predicted_3B0.0020.002
predicted_AB8.2034.386
predicted_AVG0.2480.012
predicted_BB0.6890.323
predicted_H2.1051.215
predicted_HBP0.009-
predicted_HR0.1720.072
predicted_OBP0.3080.007
predicted_R0.6680.345
predicted_RBI0.9230.493
predicted_SLG0.370-0.003
predicted_SO1.7020.971
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.3680.000
predicted_3B0.0020.000
predicted_AB8.2030.000
predicted_AVG0.2690.021
predicted_BB0.7000.010
predicted_H2.2080.103
predicted_HBP0.0090.000
predicted_HR0.1790.008
predicted_OBP0.3270.018
predicted_R0.7240.056
predicted_RBI1.0000.077
predicted_SLG0.3800.011
predicted_SO1.677-0.025
4. ab_floor_and_scaling

AB rounded to 8 (raw=8.20), rates preserved: AVG=0.269 HR/AB=0.022

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB8.000-
BB1.000-
H2.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO2.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB8.0000.000
BB1.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
6. 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.368
predicted_3B0.000-0.002
predicted_AB8.000-0.203
predicted_AVG0.250-0.019
predicted_BB1.0000.300
predicted_H2.000-0.208
predicted_HR0.000-0.179
predicted_OBP0.3330.006
predicted_R1.0000.276
predicted_RBI1.000-0.000
predicted_SLG0.250-0.130
predicted_SO2.0000.323
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-5.000
BB1.0000.000
CS0.0000.000
H0.000-2.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-2.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 93
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-20.0008.0000.0000.0000.0000.0000.0000.0006.0000.40000.40000.40000.40000.00000.00000.00000.3000
last_100.203-45.00018.0000.0000.0005.00010.0005.0000.00016.0000.40000.40000.73330.40000.11110.22220.00000.3556
season0.6023-355.00085.00018.0000.0005.00042.00030.00034.00068.0000.23940.30200.33240.23940.01410.11830.09580.1915
Weighted Prediction From Real Data
MetricValue
predicted_2B0.6000
predicted_3B0.0040
predicted_AB14.0330
predicted_AVG0.2650
predicted_BB1.1190
predicted_H3.7200
predicted_HBP0.0090
predicted_HR0.2670
predicted_OBP0.3181
predicted_R1.1260
predicted_RBI1.5780
predicted_SLG0.3654
predicted_SO2.9930
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.19400.60000.3683model_form_blend
predicted_3B0.00000.00400.0017model_form_blend
predicted_AB3.817014.03308.2026model_form_blend
predicted_AVG0.23600.26500.2484model_form_blend
predicted_BB0.36601.11900.6893model_form_blend
predicted_H0.89003.72002.1049model_form_blend
predicted_HBP-0.00900.0090form_only
predicted_HR0.10000.26700.1717model_form_blend
predicted_OBP0.30100.31810.3083model_form_blend
predicted_R0.32301.12600.6677model_form_blend
predicted_RBI0.43001.57800.9228model_form_blend
predicted_SLG0.37300.36540.3697model_form_blend
predicted_SO0.73102.99301.7021model_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 date93
Season rows before report date93
Report year2026
Profile rows used93
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.239

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB0
Hitting_battingOrder5
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedDH
gameID20260520_SF@ARI
game_typefull
mlbID666971
playerID666971
playerNameLourdes Gurriel Jr.
posLF
startedTrue
startingPositionDH
teamARI
teamID1
game_date2026-05-20
sl_k_percent17.4
sl_bb_percent8.7
sl_woba0.286
sl_xwoba0.297
sl_xba0.242
sl_xslg0.343
sl_sweet_spot_percent32.4
sl_barrel_batted_rate5.9
sl_hard_hit_percent33.8
sl_exit_velocity_avg87.3
sl_launch_angle_avg12.3
sl_whiff_percent27.0
sl_swing_percent52.0
Gabriel Moreno (672515) · BATTER · C · Team ARI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 103
All-history rows before 20260521: 103
System season_avg: 0.2620
Data season_avg (2026 season-to-date): 0.2618
Diff (system - data): 0.0002
System opponent_avg: 0.5560

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2721.0001.000Hitting_2B0.2720.0000.7281.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.7094.0008.000Hitting_AB3.7093.0000.2911.000
predicted_AVG0.2550.7500.250Hitting_AVG0.2620.0000.4880.750
predicted_BB0.3010.0001.000Hitting_BB0.3011.000-0.301-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0391.000-0.039-1.000
predicted_H0.8203.0002.000Hitting_H0.9710.0002.0293.000
predicted_HR0.1000.0000.000Hitting_HR0.0870.000-0.0870.000
predicted_OBP0.3260.7500.333Hitting_OBP0.3190.2500.4310.500
predicted_R0.5441.0001.000Hitting_R0.5440.0000.4561.000
predicted_RBI0.4901.0001.000Hitting_RBI0.5830.0000.4171.000
predicted_SLG0.4121.0000.375Hitting_SLG0.4060.0000.5941.000
predicted_SO0.9130.0002.000Hitting_SO0.9131.000-0.913-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics9
Boosted Metrics5
Deboosted Metrics4
Better Metrics6
Worse Metrics3
Biggest Boostpredicted_H: 0.8200 -> 3.0000 (boost 2.1800, better)
Biggest Deboostpredicted_SO: 0.9130 -> 0.0000 (deboost -0.9130, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend88071predicted_AB: 3.7090 -> 7.6527 (boost 3.9437, 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_snapshot33030predicted_RBI: 1.1422 -> 1.2380 (boost 0.0958, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling85344predicted_2B: 0.4891 -> 1.0000 (boost 0.5109, better)predicted_HR: 0.2505 -> 0.0000 (deboost -0.2505, worse)AB rounded to 8 (raw=7.65), rates preserved: AVG=0.253 HR/AB=0.033
5consistency_constraints10101-predicted_R: 1.2364 -> 1.0000 (deboost -0.2364, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context21111predicted_OBP: 0.3182 -> 0.3330 (boost 0.0148, better)predicted_SLG: 0.4155 -> 0.3750 (deboost -0.0405, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference41322predicted_H: 2.0000 -> 3.0000 (boost 1.0000, better)predicted_AB: 8.0000 -> 4.0000 (deboost -4.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final21111predicted_SLG: 0.3750 -> 0.4155 (boost 0.0405, better)predicted_OBP: 0.3330 -> 0.3182 (deboost -0.0148, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "672515",
  "player_name": "Gabriel Moreno",
  "position": "C",
  "team": "ARI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.272,
        "predicted_3B": 0.0,
        "predicted_AB": 3.709,
        "predicted_AVG": 0.255,
        "predicted_BB": 0.301,
        "predicted_H": 0.82,
        "predicted_HR": 0.1,
        "predicted_OBP": 0.326,
        "predicted_R": 0.544,
        "predicted_RBI": 0.49,
        "predicted_SLG": 0.412,
        "predicted_SO": 0.913
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.4891,
        "predicted_3B": 0.0013,
        "predicted_AB": 7.6527,
        "predicted_AVG": 0.2524,
        "predicted_BB": 0.7206,
        "predicted_H": 1.8462,
        "predicted_HBP": 0.139,
        "predicted_HR": 0.2396,
        "predicted_OBP": 0.3228,
        "predicted_R": 1.1407,
        "predicted_RBI": 1.1422,
        "predicted_SLG": 0.4106,
        "predicted_SO": 1.825
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.272,
          "after": 0.4891,
          "delta": 0.2171,
          "percent_delta": 0.7982,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0013,
          "delta": 0.0013,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.709,
          "after": 7.6527,
          "delta": 3.9437,
          "percent_delta": 1.0633,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.255,
          "after": 0.2524,
          "delta": -0.0026,
          "percent_delta": -0.0102,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.301,
          "after": 0.7206,
          "delta": 0.4196,
          "percent_delta": 1.394,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.82,
          "after": 1.8462,
          "delta": 1.0262,
          "percent_delta": 1.2515,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1,
          "after": 0.2396,
          "delta": 0.1396,
          "percent_delta": 1.396,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.326,
          "after": 0.3228,
          "delta": -0.0032,
          "percent_delta": -0.0098,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.544,
          "after": 1.1407,
          "delta": 0.5967,
          "percent_delta": 1.0969,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.49,
          "after": 1.1422,
          "delta": 0.6522,
          "percent_delta": 1.331,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.412,
          "after": 0.4106,
          "delta": -0.0014,
          "percent_delta": -0.0034,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.913,
          "after": 1.825,
          "delta": 0.912,
          "percent_delta": 0.9989,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 8,
        "deboosted_metrics": 0,
        "better_metrics": 7,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.709,
          "after": 7.6527,
          "delta": 3.9437,
          "percent_delta": 1.0633,
          "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": 2,
        "last_10": 3,
        "season": 27
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.4891,
        "predicted_3B": 0.0013,
        "predicted_AB": 7.6527,
        "predicted_AVG": 0.2531,
        "predicted_BB": 0.7313,
        "predicted_H": 1.9367,
        "predicted_HBP": 0.139,
        "predicted_HR": 0.2505,
        "predicted_OBP": 0.3182,
        "predicted_R": 1.2364,
        "predicted_RBI": 1.238,
        "predicted_SLG": 0.4155,
        "predicted_SO": 1.7978
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.4891,
          "after": 0.4891,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0013,
          "after": 0.0013,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.6527,
          "after": 7.6527,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2524,
          "after": 0.2531,
          "delta": 0.0007,
          "percent_delta": 0.0028,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.7206,
          "after": 0.7313,
          "delta": 0.0107,
          "percent_delta": 0.0148,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.8462,
          "after": 1.9367,
          "delta": 0.0905,
          "percent_delta": 0.049,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.139,
          "after": 0.139,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2396,
          "after": 0.2505,
          "delta": 0.0109,
          "percent_delta": 0.0455,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3228,
          "after": 0.3182,
          "delta": -0.0046,
          "percent_delta": -0.0143,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.1407,
          "after": 1.2364,
          "delta": 0.0957,
          "percent_delta": 0.0839,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.1422,
          "after": 1.238,
          "delta": 0.0958,
          "percent_delta": 0.0839,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4106,
          "after": 0.4155,
          "delta": 0.0049,
          "percent_delta": 0.0119,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.825,
          "after": 1.7978,
          "delta": -0.0272,
          "percent_delta": -0.0149,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 1.1422,
          "after": 1.238,
          "delta": 0.0958,
          "percent_delta": 0.0839,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 8 (raw=7.65), rates preserved: AVG=0.253 HR/AB=0.033",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.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.4891,
          "after": 1.0,
          "delta": 0.5109,
          "percent_delta": 1.0446,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0013,
          "after": 0.0,
          "delta": -0.0013,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.6527,
          "after": 8.0,
          "delta": 0.3473,
          "percent_delta": 0.0454,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.7313,
          "after": 1.0,
          "delta": 0.2687,
          "percent_delta": 0.3674,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.9367,
          "after": 2.0,
          "delta": 0.0633,
          "percent_delta": 0.0327,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.139,
          "after": 0.0,
          "delta": -0.139,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2505,
          "after": 0.0,
          "delta": -0.2505,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.238,
          "after": 1.0,
          "delta": -0.238,
          "percent_delta": -0.1922,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.7978,
          "after": 2.0,
          "delta": 0.2022,
          "percent_delta": 0.1125,
          "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_2B",
          "before": 0.4891,
          "after": 1.0,
          "delta": 0.5109,
          "percent_delta": 1.0446,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.2505,
          "after": 0.0,
          "delta": -0.2505,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.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": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 8.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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.2364,
          "after": 1.0,
          "delta": -0.2364,
          "percent_delta": -0.1912,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.2364,
          "after": 1.0,
          "delta": -0.2364,
          "percent_delta": -0.1912,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.333,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.375,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2531,
          "after": 0.25,
          "delta": -0.0031,
          "percent_delta": -0.0122,
          "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": 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.3182,
          "after": 0.333,
          "delta": 0.0148,
          "percent_delta": 0.0465,
          "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.4155,
          "after": 0.375,
          "delta": -0.0405,
          "percent_delta": -0.0975,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.3182,
          "after": 0.333,
          "delta": 0.0148,
          "percent_delta": 0.0465,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4155,
          "after": 0.375,
          "delta": -0.0405,
          "percent_delta": -0.0975,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 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": 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": 8.0,
          "after": 4.0,
          "delta": -4.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 3.0,
          "delta": 1.0,
          "percent_delta": 0.5,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 3.0,
          "delta": 1.0,
          "percent_delta": 0.5,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 4.0,
          "delta": -4.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2531,
        "predicted_BB": 0.0,
        "predicted_C": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3182,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4155,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2531,
          "delta": 0.0031,
          "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_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.333,
          "after": 0.3182,
          "delta": -0.0148,
          "percent_delta": -0.0444,
          "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.375,
          "after": 0.4155,
          "delta": 0.0405,
          "percent_delta": 0.1081,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.375,
          "after": 0.4155,
          "delta": 0.0405,
          "percent_delta": 0.1081,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.333,
          "after": 0.3182,
          "delta": -0.0148,
          "percent_delta": -0.0444,
          "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.272,
        "after": 1.0,
        "delta": 0.728,
        "percent_delta": 2.6765,
        "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.709,
        "after": 4.0,
        "delta": 0.291,
        "percent_delta": 0.0785,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.255,
        "after": 0.2531,
        "delta": -0.0019,
        "percent_delta": -0.0075,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.301,
        "after": 0.0,
        "delta": -0.301,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.82,
        "after": 3.0,
        "delta": 2.18,
        "percent_delta": 2.6585,
        "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.326,
        "after": 0.3182,
        "delta": -0.0078,
        "percent_delta": -0.0239,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.544,
        "after": 1.0,
        "delta": 0.456,
        "percent_delta": 0.8382,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.49,
        "after": 1.0,
        "delta": 0.51,
        "percent_delta": 1.0408,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.412,
        "after": 0.4155,
        "delta": 0.0035,
        "percent_delta": 0.0085,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.913,
        "after": 0.0,
        "delta": -0.913,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 5,
      "deboosted_metrics": 4,
      "better_metrics": 6,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.82,
        "after": 3.0,
        "delta": 2.18,
        "percent_delta": 2.6585,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.913,
        "after": 0.0,
        "delta": -0.913,
        "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.272-
predicted_3B0.000-
predicted_AB3.709-
predicted_AVG0.255-
predicted_BB0.301-
predicted_H0.820-
predicted_HR0.100-
predicted_OBP0.326-
predicted_R0.544-
predicted_RBI0.490-
predicted_SLG0.412-
predicted_SO0.913-
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.4890.217
predicted_3B0.0010.001
predicted_AB7.6533.944
predicted_AVG0.252-0.003
predicted_BB0.7210.420
predicted_H1.8461.026
predicted_HBP0.139-
predicted_HR0.2400.140
predicted_OBP0.323-0.003
predicted_R1.1410.597
predicted_RBI1.1420.652
predicted_SLG0.411-0.001
predicted_SO1.8250.912
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.4890.000
predicted_3B0.0010.000
predicted_AB7.6530.000
predicted_AVG0.2530.001
predicted_BB0.7310.011
predicted_H1.9370.091
predicted_HBP0.1390.000
predicted_HR0.2510.011
predicted_OBP0.318-0.005
predicted_R1.2360.096
predicted_RBI1.2380.096
predicted_SLG0.4150.005
predicted_SO1.798-0.027
4. ab_floor_and_scaling

AB rounded to 8 (raw=7.65), rates preserved: AVG=0.253 HR/AB=0.033

MetricValueDelta vs Prev Step
2B1.000-
3B0.000-
AB8.000-
BB1.000-
H2.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO2.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB8.0000.000
BB1.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
6. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B1.0000.511
predicted_3B0.000-0.001
predicted_AB8.0000.347
predicted_AVG0.250-0.003
predicted_BB1.0000.269
predicted_H2.0000.063
predicted_HR0.000-0.251
predicted_OBP0.3330.015
predicted_R1.000-0.236
predicted_RBI1.000-0.238
predicted_SLG0.375-0.040
predicted_SO2.0000.202
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB4.000-4.000
BB0.000-1.000
CS0.0000.000
H3.0001.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0000.000
RBI1.0000.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: 103
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-17.0002.0000.0000.0001.0002.0002.0004.0004.0000.11760.28570.29410.11770.05880.11770.23530.2353
last_100.203-41.00013.0000.0000.0005.00010.00012.0005.0004.0000.31710.39130.68290.31710.12200.24390.12200.0976
season0.6027-382.000100.00028.0000.0009.00060.00056.00031.00094.0000.26180.31850.40580.26180.02360.15710.08110.2461
Weighted Prediction From Real Data
MetricValue
predicted_2B0.7760
predicted_3B0.0030
predicted_AB12.8630
predicted_AVG0.2490
predicted_BB1.2750
predicted_H3.2020
predicted_HBP0.1390
predicted_HR0.4240
predicted_OBP0.3186
predicted_R1.9290
predicted_RBI2.0040
predicted_SLG0.4087
predicted_SO3.0300
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.27200.77600.4891model_form_blend
predicted_3B0.00000.00300.0013model_form_blend
predicted_AB3.709012.86307.6527model_form_blend
predicted_AVG0.25500.24900.2524model_form_blend
predicted_BB0.30101.27500.7206model_form_blend
predicted_H0.82003.20201.8462model_form_blend
predicted_HBP-0.13900.1390form_only
predicted_HR0.10000.42400.2396model_form_blend
predicted_OBP0.32600.31860.3228model_form_blend
predicted_R0.54401.92901.1407model_form_blend
predicted_RBI0.49002.00401.1422model_form_blend
predicted_SLG0.41200.40870.4106model_form_blend
predicted_SO0.91303.03001.8250model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date103
Season rows before report date103
Report year2026
Profile rows 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
H3
2B1
3B0
HR0
R1
RBI1
BB0
SO0
SF0
HBP0
season_avg0.262

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS1
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.0
Hitting_BB1
Hitting_GIDP1
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
allPositionsPlayedC
gameID20260519_SF@ARI
game_typefull
mlbID672515
playerID672515
playerNameGabriel Moreno
posC
startedTrue
startingPositionC
teamARI
teamID1
game_date2026-05-19
game_pk825086.0
sl_k_percent21.8
sl_bb_percent6.9
sl_woba0.311
sl_xwoba0.333
sl_xba0.246
sl_xslg0.429
sl_sweet_spot_percent39.4
sl_barrel_batted_rate11.3
sl_hard_hit_percent42.3
sl_exit_velocity_avg88.9
sl_launch_angle_avg16.0
sl_whiff_percent20.4
sl_swing_percent46.2
at_bat_number72.0
ab_pitcher668873.0
ab_pitcher_nameKilian, Caleb
ab_home_teamAZ
ab_away_teamSF
ab_game_typeR
ab_standR
ab_p_throwsR
ab_inning9.0
ab_inning_topbotBot
ab_outs_when_up1.0
ab_on_1b_start545121.0
ab_balls_start0.0
ab_strikes_start0.0
ab_home_score_start1.0
ab_away_score_start3.0
ab_bat_score_start1.0
ab_fld_score_start3.0
ab_eventstrikeout
ab_event_descriptionGabriel Moreno strikes out swinging.
ab_event_typeS
ab_hit_location2.0
ab_pitch_type_lastKC
ab_pitch_name_lastKnuckle Curve
ab_zone_last14.0
ab_launch_speed_last63.7
ab_launch_angle_last34.0
ab_hit_distance_last188.0
ab_estimated_woba_last0.0
ab_woba_value0.0
ab_woba_denom1.0
ab_babip_value0.0
ab_iso_value0.0
ab_balls_end2.0
ab_strikes_end2.0
ab_home_score_end1.0
ab_away_score_end3.0
ab_bat_score_end1.0
ab_fld_score_end3.0
ab_pitch_count7.0
ab_release_speed_avg91.25714285714284
ab_release_spin_rate_avg2505.285714285714
ab_effective_speed_avg91.5
ab_launch_speed_avg73.55000000000001
ab_launch_angle_avg38.5
ab_delta_run_exp_avg-0.0364285714285714
ab_delta_home_win_exp_avg-0.0094285714285714
ab_delta_pitcher_run_exp_avg0.0364285714285714
ab_bat_speed_avg68.46666666666667
ab_swing_length_avg6.966666666666666
ab_launch_speed_max83.4
ab_hit_distance_sc_max263.0
ab_release_speed_max96.4
ab_release_spin_rate_max2630.0
ab_release_speed_min81.8
ab_release_spin_rate_min2373.0
ab_delta_run_exp_sum-0.255
ab_delta_home_win_exp_sum-0.066
ab_delta_pitcher_run_exp_sum0.255
ab_result_is_hitFalse
ab_result_is_walkFalse
ab_result_is_strikeoutTrue
ab_result_is_hbpFalse
Ildemaro Vargas (545121) · BATTER · 1B · Team ARI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 171
All-history rows before 20260521: 171
System season_avg: 0.3370
Data season_avg (2026 season-to-date): 0.3371
Diff (system - data): -0.0001
System opponent_avg: 0.3660

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2110.0000.000Hitting_2B0.2110.000-0.2110.000
predicted_3B0.0470.0000.000Hitting_3B0.0470.000-0.0470.000
predicted_AB4.1814.0009.000Hitting_AB4.1814.000-0.1810.000
predicted_AVG0.2530.5000.333Hitting_AVG0.3370.0000.1630.500
predicted_BB0.1230.0000.000Hitting_BB0.1230.000-0.1230.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H1.0502.0003.000Hitting_H1.4090.0000.5912.000
predicted_HR0.1102.0000.000Hitting_HR0.1870.0001.8132.000
predicted_OBP0.3110.5000.333Hitting_OBP0.3560.0000.1440.500
predicted_R0.7431.0002.000Hitting_R0.7430.0000.2571.000
predicted_RBI0.5902.0002.000Hitting_RBI0.8251.0001.1751.000
predicted_SLG0.4182.0000.333Hitting_SLG0.5440.0001.4562.000
predicted_SO0.4270.0001.000Hitting_SO0.4270.000-0.4270.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_HR: 0.1100 -> 2.0000 (boost 1.8900, better)
Biggest Deboostpredicted_SO: 0.4270 -> 0.0000 (deboost -0.4270, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend11110101predicted_AB: 4.1810 -> 9.3566 (boost 5.1756, 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_snapshot66060predicted_H: 2.9988 -> 3.1457 (boost 0.1469, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling82617predicted_RBI: 1.6472 -> 2.0000 (boost 0.3528, better)predicted_2B: 0.4145 -> 0.0000 (deboost -0.4145, worse)AB rounded to 9 (raw=9.36), rates preserved: AVG=0.336 HR/AB=0.036
5consistency_constraints11010predicted_R: 1.8591 -> 2.0000 (boost 0.1409, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context20202-predicted_SLG: 0.5079 -> 0.3330 (deboost -0.1749, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference51423predicted_HR: 0.0000 -> 2.0000 (boost 2.0000, better)predicted_AB: 9.0000 -> 4.0000 (deboost -5.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final22020predicted_SLG: 0.3330 -> 0.5079 (boost 0.1749, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "545121",
  "player_name": "Ildemaro Vargas",
  "position": "1B",
  "team": "ARI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.211,
        "predicted_3B": 0.047,
        "predicted_AB": 4.181,
        "predicted_AVG": 0.253,
        "predicted_BB": 0.123,
        "predicted_H": 1.05,
        "predicted_HR": 0.11,
        "predicted_OBP": 0.311,
        "predicted_R": 0.743,
        "predicted_RBI": 0.59,
        "predicted_SLG": 0.418,
        "predicted_SO": 0.427
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.4145,
        "predicted_3B": 0.0904,
        "predicted_AB": 9.3566,
        "predicted_AVG": 0.2928,
        "predicted_BB": 0.2554,
        "predicted_H": 2.9988,
        "predicted_HBP": 0.006,
        "predicted_HR": 0.3223,
        "predicted_OBP": 0.3331,
        "predicted_R": 1.7152,
        "predicted_RBI": 1.5197,
        "predicted_SLG": 0.4608,
        "predicted_SO": 0.8734
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.211,
          "after": 0.4145,
          "delta": 0.2035,
          "percent_delta": 0.9645,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.047,
          "after": 0.0904,
          "delta": 0.0434,
          "percent_delta": 0.9234,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.181,
          "after": 9.3566,
          "delta": 5.1756,
          "percent_delta": 1.2379,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.253,
          "after": 0.2928,
          "delta": 0.0398,
          "percent_delta": 0.1573,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.123,
          "after": 0.2554,
          "delta": 0.1324,
          "percent_delta": 1.0764,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.05,
          "after": 2.9988,
          "delta": 1.9488,
          "percent_delta": 1.856,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.11,
          "after": 0.3223,
          "delta": 0.2123,
          "percent_delta": 1.93,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.311,
          "after": 0.3331,
          "delta": 0.0221,
          "percent_delta": 0.0711,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.743,
          "after": 1.7152,
          "delta": 0.9722,
          "percent_delta": 1.3085,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.59,
          "after": 1.5197,
          "delta": 0.9297,
          "percent_delta": 1.5758,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.418,
          "after": 0.4608,
          "delta": 0.0428,
          "percent_delta": 0.1024,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.427,
          "after": 0.8734,
          "delta": 0.4464,
          "percent_delta": 1.0454,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 11,
        "boosted_metrics": 11,
        "deboosted_metrics": 0,
        "better_metrics": 10,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.181,
          "after": 9.3566,
          "delta": 5.1756,
          "percent_delta": 1.2379,
          "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": 2,
        "last_10": 3,
        "season": 41
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.4145,
        "predicted_3B": 0.0904,
        "predicted_AB": 9.3566,
        "predicted_AVG": 0.3362,
        "predicted_BB": 0.2592,
        "predicted_H": 3.1457,
        "predicted_HBP": 0.006,
        "predicted_HR": 0.337,
        "predicted_OBP": 0.3541,
        "predicted_R": 1.8591,
        "predicted_RBI": 1.6472,
        "predicted_SLG": 0.5079,
        "predicted_SO": 0.8604
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.4145,
          "after": 0.4145,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0904,
          "after": 0.0904,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.3566,
          "after": 9.3566,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2928,
          "after": 0.3362,
          "delta": 0.0434,
          "percent_delta": 0.1482,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2554,
          "after": 0.2592,
          "delta": 0.0038,
          "percent_delta": 0.0149,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.9988,
          "after": 3.1457,
          "delta": 0.1469,
          "percent_delta": 0.049,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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.3223,
          "after": 0.337,
          "delta": 0.0147,
          "percent_delta": 0.0456,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3331,
          "after": 0.3541,
          "delta": 0.021,
          "percent_delta": 0.063,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.7152,
          "after": 1.8591,
          "delta": 0.1439,
          "percent_delta": 0.0839,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.5197,
          "after": 1.6472,
          "delta": 0.1275,
          "percent_delta": 0.0839,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4608,
          "after": 0.5079,
          "delta": 0.0471,
          "percent_delta": 0.1022,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8734,
          "after": 0.8604,
          "delta": -0.013,
          "percent_delta": -0.0149,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 6,
        "deboosted_metrics": 0,
        "better_metrics": 6,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 2.9988,
          "after": 3.1457,
          "delta": 0.1469,
          "percent_delta": 0.049,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 9 (raw=9.36), rates preserved: AVG=0.336 HR/AB=0.036",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 0.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.4145,
          "after": 0.0,
          "delta": -0.4145,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0904,
          "after": 0.0,
          "delta": -0.0904,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 9.3566,
          "after": 9.0,
          "delta": -0.3566,
          "percent_delta": -0.0381,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2592,
          "after": 0.0,
          "delta": -0.2592,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 3.1457,
          "after": 3.0,
          "delta": -0.1457,
          "percent_delta": -0.0463,
          "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.337,
          "after": 0.0,
          "delta": -0.337,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.6472,
          "after": 2.0,
          "delta": 0.3528,
          "percent_delta": 0.2142,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8604,
          "after": 1.0,
          "delta": 0.1396,
          "percent_delta": 0.1623,
          "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_RBI",
          "before": 1.6472,
          "after": 2.0,
          "delta": 0.3528,
          "percent_delta": 0.2142,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.4145,
          "after": 0.0,
          "delta": -0.4145,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 2.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": 9.0,
          "after": 9.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "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_R",
          "before": 1.8591,
          "after": 2.0,
          "delta": 0.1409,
          "percent_delta": 0.0758,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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_SO",
          "before": 1.0,
          "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": 1.8591,
          "after": 2.0,
          "delta": 0.1409,
          "percent_delta": 0.0758,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_AVG": 0.333,
        "predicted_BB": 0.0,
        "predicted_H": 3.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.333,
        "predicted_R": 2.0,
        "predicted_RBI": 2.0,
        "predicted_SLG": 0.333,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 9.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3362,
          "after": 0.333,
          "delta": -0.0032,
          "percent_delta": -0.0095,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3541,
          "after": 0.333,
          "delta": -0.0211,
          "percent_delta": -0.0596,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 2.0,
          "after": 2.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_SLG",
          "before": 0.5079,
          "after": 0.333,
          "delta": -0.1749,
          "percent_delta": -0.3444,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "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.5079,
          "after": 0.333,
          "delta": -0.1749,
          "percent_delta": -0.3444,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 2.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": 9.0,
          "after": 4.0,
          "delta": -5.0,
          "percent_delta": -0.5556,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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": 2.0,
          "delta": -1.0,
          "percent_delta": -0.3333,
          "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": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "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_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_HR",
          "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": 9.0,
          "after": 4.0,
          "delta": -5.0,
          "percent_delta": -0.5556,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.3362,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_FB": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 2.0,
        "predicted_OBP": 0.3541,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.5079,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.333,
          "after": 0.3362,
          "delta": 0.0032,
          "percent_delta": 0.0096,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.333,
          "after": 0.3541,
          "delta": 0.0211,
          "percent_delta": 0.0634,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.333,
          "after": 0.5079,
          "delta": 0.1749,
          "percent_delta": 0.5252,
          "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.333,
          "after": 0.5079,
          "delta": 0.1749,
          "percent_delta": 0.5252,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.211,
        "after": 0.0,
        "delta": -0.211,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.047,
        "after": 0.0,
        "delta": -0.047,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.181,
        "after": 4.0,
        "delta": -0.181,
        "percent_delta": -0.0433,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.253,
        "after": 0.3362,
        "delta": 0.0832,
        "percent_delta": 0.3289,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.123,
        "after": 0.0,
        "delta": -0.123,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.05,
        "after": 2.0,
        "delta": 0.95,
        "percent_delta": 0.9048,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.11,
        "after": 2.0,
        "delta": 1.89,
        "percent_delta": 17.1818,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.311,
        "after": 0.3541,
        "delta": 0.0431,
        "percent_delta": 0.1386,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.743,
        "after": 1.0,
        "delta": 0.257,
        "percent_delta": 0.3459,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.59,
        "after": 2.0,
        "delta": 1.41,
        "percent_delta": 2.3898,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.418,
        "after": 0.5079,
        "delta": 0.0899,
        "percent_delta": 0.2151,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.427,
        "after": 0.0,
        "delta": -0.427,
        "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_HR",
        "before": 0.11,
        "after": 2.0,
        "delta": 1.89,
        "percent_delta": 17.1818,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.427,
        "after": 0.0,
        "delta": -0.427,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.211-
predicted_3B0.047-
predicted_AB4.181-
predicted_AVG0.253-
predicted_BB0.123-
predicted_H1.050-
predicted_HR0.110-
predicted_OBP0.311-
predicted_R0.743-
predicted_RBI0.590-
predicted_SLG0.418-
predicted_SO0.427-
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.4140.203
predicted_3B0.0900.043
predicted_AB9.3575.176
predicted_AVG0.2930.040
predicted_BB0.2550.132
predicted_H2.9991.949
predicted_HBP0.006-
predicted_HR0.3220.212
predicted_OBP0.3330.022
predicted_R1.7150.972
predicted_RBI1.5200.930
predicted_SLG0.4610.043
predicted_SO0.8730.446
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.4140.000
predicted_3B0.0900.000
predicted_AB9.3570.000
predicted_AVG0.3360.043
predicted_BB0.2590.004
predicted_H3.1460.147
predicted_HBP0.0060.000
predicted_HR0.3370.015
predicted_OBP0.3540.021
predicted_R1.8590.144
predicted_RBI1.6470.127
predicted_SLG0.5080.047
predicted_SO0.860-0.013
4. ab_floor_and_scaling

AB rounded to 9 (raw=9.36), rates preserved: AVG=0.336 HR/AB=0.036

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB9.000-
BB0.000-
H3.000-
HBP0.000-
HR0.000-
RBI2.000-
SB0.000-
SO1.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB9.0000.000
BB0.0000.000
CS0.000-
H3.0000.000
HBP0.0000.000
HR0.0000.000
R2.000-
RBI2.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
6. 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.414
predicted_3B0.000-0.090
predicted_AB9.000-0.357
predicted_AVG0.333-0.003
predicted_BB0.000-0.259
predicted_H3.000-0.146
predicted_HR0.000-0.337
predicted_OBP0.333-0.021
predicted_R2.0000.141
predicted_RBI2.0000.353
predicted_SLG0.333-0.175
predicted_SO1.0000.140
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.000-5.000
BB0.0000.000
CS0.0000.000
H2.000-1.000
HBP0.0000.000
HR2.0002.000
PA4.000-
R1.000-1.000
RBI2.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: 171
Reference playing time: 4.181
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-20.0008.0000.0000.0000.0001.0004.0000.0000.0000.40000.40000.40000.40000.00000.05000.00000.0000
last_100.203-45.00018.0000.0000.0000.0001.00014.0000.0000.0000.40000.40000.40000.40000.00000.02220.00000.0000
season0.6041-715.000241.00036.0008.00032.000141.000127.00021.00073.0000.33710.35600.54410.33710.04480.19720.02940.1021
Weighted Prediction From Real Data
MetricValue
predicted_2B0.6750
predicted_3B0.1460
predicted_AB15.9830
predicted_AVG0.3438
predicted_BB0.4250
predicted_H5.4940
predicted_HBP0.0060
predicted_HR0.5940
predicted_OBP0.3614
predicted_R2.9600
predicted_RBI2.7100
predicted_SLG0.5157
predicted_SO1.4450
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.21100.67500.4145model_form_blend
predicted_3B0.04700.14600.0904model_form_blend
predicted_AB4.181015.98309.3566model_form_blend
predicted_AVG0.25300.34380.2928model_form_blend
predicted_BB0.12300.42500.2554model_form_blend
predicted_H1.05005.49402.9988model_form_blend
predicted_HBP-0.00600.0060form_only
predicted_HR0.11000.59400.3223model_form_blend
predicted_OBP0.31100.36140.3331model_form_blend
predicted_R0.74302.96001.7152model_form_blend
predicted_RBI0.59002.71001.5197model_form_blend
predicted_SLG0.41800.51570.4608model_form_blend
predicted_SO0.42701.44500.8734model_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 used171
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
HR2
R1
RBI2
BB0
SO0
SF0
HBP0
season_avg0.337

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI1
Hitting_SAC0
Hitting_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
allPositionsPlayed1B
gameID20260520_SF@ARI
game_typefull
mlbID545121
playerID545121
playerNameIldemaro Vargas
pos1B
startedTrue
startingPosition1B
teamARI
teamID1
game_date2026-05-20
sl_k_percent9.5
sl_bb_percent3.0
sl_woba0.394
sl_xwoba0.337
sl_xba0.313
sl_xslg0.441
sl_sweet_spot_percent34.0
sl_barrel_batted_rate4.1
sl_hard_hit_percent34.0
sl_exit_velocity_avg87.2
sl_launch_angle_avg10.6
sl_whiff_percent14.9
sl_swing_percent50.8
Adrian Del Castillo (680728) · BATTER · DH · Team ARI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 105
All-history rows before 20260521: 105
System season_avg: 0.1900
Data season_avg (2026 season-to-date): 0.1896
Diff (system - data): 0.0004
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.1540.0000.000Hitting_2B0.1520.000-0.1520.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.7023.0007.000Hitting_AB3.6674.000-0.667-1.000
predicted_AVG0.2200.0000.143Hitting_AVG0.1900.000-0.1900.000
predicted_BB0.2211.0000.000Hitting_BB0.2190.0000.7811.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.6300.0001.000Hitting_H0.6950.000-0.6950.000
predicted_HR0.0800.0000.000Hitting_HR0.1050.000-0.1050.000
predicted_OBP0.2580.2500.143Hitting_OBP0.2320.0000.0180.250
predicted_R0.2600.0001.000Hitting_R0.2570.000-0.2570.000
predicted_RBI0.3700.0001.000Hitting_RBI0.6290.000-0.6290.000
predicted_SLG0.3160.0000.143Hitting_SLG0.3170.000-0.3170.000
predicted_SO1.2980.0002.000Hitting_SO1.2862.000-1.286-2.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.2210 -> 1.0000 (boost 0.7790, better)
Biggest Deboostpredicted_SO: 1.2980 -> 0.0000 (deboost -1.2980, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend88071predicted_AB: 3.7020 -> 7.2911 (boost 3.5891, better)-Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot32121predicted_RBI: 1.0785 -> 1.1690 (boost 0.0905, better)predicted_AVG: 0.2178 -> 0.2119 (deboost -0.0059, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling70716-predicted_H: 1.5450 -> 1.0000 (deboost -0.5450, worse)AB rounded to 7 (raw=7.29), rates preserved: AVG=0.212 HR/AB=0.025
5consistency_constraints11010predicted_R: 0.5154 -> 1.0000 (boost 0.4846, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context30303-predicted_SLG: 0.3238 -> 0.1430 (deboost -0.1808, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference61524predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 7.0000 -> 3.0000 (deboost -4.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final33030predicted_SLG: 0.1430 -> 0.3238 (boost 0.1808, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "680728",
  "player_name": "Adrian Del Castillo",
  "position": "DH",
  "team": "ARI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.154,
        "predicted_3B": 0.0,
        "predicted_AB": 3.702,
        "predicted_AVG": 0.22,
        "predicted_BB": 0.221,
        "predicted_H": 0.63,
        "predicted_HR": 0.08,
        "predicted_OBP": 0.258,
        "predicted_R": 0.26,
        "predicted_RBI": 0.37,
        "predicted_SLG": 0.316,
        "predicted_SO": 1.298
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2723,
        "predicted_3B": 0.0013,
        "predicted_AB": 7.2911,
        "predicted_AVG": 0.2178,
        "predicted_BB": 0.3939,
        "predicted_H": 1.4728,
        "predicted_HBP": 0.007,
        "predicted_HR": 0.1725,
        "predicted_OBP": 0.2556,
        "predicted_R": 0.4755,
        "predicted_RBI": 1.0785,
        "predicted_SLG": 0.3197,
        "predicted_SO": 2.515
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.154,
          "after": 0.2723,
          "delta": 0.1183,
          "percent_delta": 0.7682,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0013,
          "delta": 0.0013,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.702,
          "after": 7.2911,
          "delta": 3.5891,
          "percent_delta": 0.9695,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.22,
          "after": 0.2178,
          "delta": -0.0022,
          "percent_delta": -0.01,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.221,
          "after": 0.3939,
          "delta": 0.1729,
          "percent_delta": 0.7824,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.63,
          "after": 1.4728,
          "delta": 0.8428,
          "percent_delta": 1.3378,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.08,
          "after": 0.1725,
          "delta": 0.0925,
          "percent_delta": 1.1562,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.258,
          "after": 0.2556,
          "delta": -0.0024,
          "percent_delta": -0.0093,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.26,
          "after": 0.4755,
          "delta": 0.2155,
          "percent_delta": 0.8288,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.37,
          "after": 1.0785,
          "delta": 0.7085,
          "percent_delta": 1.9149,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.316,
          "after": 0.3197,
          "delta": 0.0037,
          "percent_delta": 0.0117,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.298,
          "after": 2.515,
          "delta": 1.217,
          "percent_delta": 0.9376,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 8,
        "deboosted_metrics": 0,
        "better_metrics": 7,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.702,
          "after": 7.2911,
          "delta": 3.5891,
          "percent_delta": 0.9695,
          "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": 2,
        "last_10": 3,
        "season": 30
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2723,
        "predicted_3B": 0.0013,
        "predicted_AB": 7.2911,
        "predicted_AVG": 0.2119,
        "predicted_BB": 0.3998,
        "predicted_H": 1.545,
        "predicted_HBP": 0.007,
        "predicted_HR": 0.1804,
        "predicted_OBP": 0.2529,
        "predicted_R": 0.5154,
        "predicted_RBI": 1.169,
        "predicted_SLG": 0.3238,
        "predicted_SO": 2.4775
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2723,
          "after": 0.2723,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0013,
          "after": 0.0013,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.2911,
          "after": 7.2911,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2178,
          "after": 0.2119,
          "delta": -0.0059,
          "percent_delta": -0.0271,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3939,
          "after": 0.3998,
          "delta": 0.0059,
          "percent_delta": 0.015,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.4728,
          "after": 1.545,
          "delta": 0.0722,
          "percent_delta": 0.049,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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.1725,
          "after": 0.1804,
          "delta": 0.0079,
          "percent_delta": 0.0458,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2556,
          "after": 0.2529,
          "delta": -0.0027,
          "percent_delta": -0.0106,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4755,
          "after": 0.5154,
          "delta": 0.0399,
          "percent_delta": 0.0839,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0785,
          "after": 1.169,
          "delta": 0.0905,
          "percent_delta": 0.0839,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3197,
          "after": 0.3238,
          "delta": 0.0041,
          "percent_delta": 0.0128,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.515,
          "after": 2.4775,
          "delta": -0.0375,
          "percent_delta": -0.0149,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 1.0785,
          "after": 1.169,
          "delta": 0.0905,
          "percent_delta": 0.0839,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.2178,
          "after": 0.2119,
          "delta": -0.0059,
          "percent_delta": -0.0271,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 7 (raw=7.29), rates preserved: AVG=0.212 HR/AB=0.025",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.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.2723,
          "after": 0.0,
          "delta": -0.2723,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0013,
          "after": 0.0,
          "delta": -0.0013,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.2911,
          "after": 7.0,
          "delta": -0.2911,
          "percent_delta": -0.0399,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3998,
          "after": 0.0,
          "delta": -0.3998,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.545,
          "after": 1.0,
          "delta": -0.545,
          "percent_delta": -0.3528,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.007,
          "after": 0.0,
          "delta": -0.007,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1804,
          "after": 0.0,
          "delta": -0.1804,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.169,
          "after": 1.0,
          "delta": -0.169,
          "percent_delta": -0.1446,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.4775,
          "after": 2.0,
          "delta": -0.4775,
          "percent_delta": -0.1927,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 0,
        "deboosted_metrics": 7,
        "better_metrics": 1,
        "worse_metrics": 6,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.545,
          "after": 1.0,
          "delta": -0.545,
          "percent_delta": -0.3528,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.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": 7.0,
          "after": 7.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5154,
          "after": 1.0,
          "delta": 0.4846,
          "percent_delta": 0.9402,
          "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.5154,
          "after": 1.0,
          "delta": 0.4846,
          "percent_delta": 0.9402,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.0,
        "predicted_AVG": 0.143,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.143,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.143,
        "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": 7.0,
          "after": 7.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2119,
          "after": 0.143,
          "delta": -0.0689,
          "percent_delta": -0.3252,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2529,
          "after": 0.143,
          "delta": -0.1099,
          "percent_delta": -0.4346,
          "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.3238,
          "after": 0.143,
          "delta": -0.1808,
          "percent_delta": -0.5584,
          "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.3238,
          "after": 0.143,
          "delta": -0.1808,
          "percent_delta": -0.5584,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.0,
          "after": 3.0,
          "delta": -4.0,
          "percent_delta": -0.5714,
          "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": 2.0,
          "after": 0.0,
          "delta": -2.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": 7.0,
          "after": 3.0,
          "delta": -4.0,
          "percent_delta": -0.5714,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2119,
        "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.2529,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3238,
        "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.143,
          "after": 0.2119,
          "delta": 0.0689,
          "percent_delta": 0.4818,
          "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.143,
          "after": 0.2529,
          "delta": 0.1099,
          "percent_delta": 0.7683,
          "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.143,
          "after": 0.3238,
          "delta": 0.1808,
          "percent_delta": 1.2645,
          "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.143,
          "after": 0.3238,
          "delta": 0.1808,
          "percent_delta": 1.2645,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.154,
        "after": 0.0,
        "delta": -0.154,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.702,
        "after": 3.0,
        "delta": -0.702,
        "percent_delta": -0.1896,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.22,
        "after": 0.2119,
        "delta": -0.0081,
        "percent_delta": -0.0368,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.221,
        "after": 1.0,
        "delta": 0.779,
        "percent_delta": 3.5249,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.63,
        "after": 0.0,
        "delta": -0.63,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.08,
        "after": 0.0,
        "delta": -0.08,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.258,
        "after": 0.2529,
        "delta": -0.0051,
        "percent_delta": -0.0198,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.26,
        "after": 0.0,
        "delta": -0.26,
        "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.316,
        "after": 0.3238,
        "delta": 0.0078,
        "percent_delta": 0.0247,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.298,
        "after": 0.0,
        "delta": -1.298,
        "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.221,
        "after": 1.0,
        "delta": 0.779,
        "percent_delta": 3.5249,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.298,
        "after": 0.0,
        "delta": -1.298,
        "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.154-
predicted_3B0.000-
predicted_AB3.702-
predicted_AVG0.220-
predicted_BB0.221-
predicted_H0.630-
predicted_HR0.080-
predicted_OBP0.258-
predicted_R0.260-
predicted_RBI0.370-
predicted_SLG0.316-
predicted_SO1.298-
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.2720.118
predicted_3B0.0010.001
predicted_AB7.2913.589
predicted_AVG0.218-0.002
predicted_BB0.3940.173
predicted_H1.4730.843
predicted_HBP0.007-
predicted_HR0.1720.092
predicted_OBP0.256-0.002
predicted_R0.4750.215
predicted_RBI1.0790.709
predicted_SLG0.3200.004
predicted_SO2.5151.217
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.2720.000
predicted_3B0.0010.000
predicted_AB7.2910.000
predicted_AVG0.212-0.006
predicted_BB0.4000.006
predicted_H1.5450.072
predicted_HBP0.0070.000
predicted_HR0.1800.008
predicted_OBP0.253-0.003
predicted_R0.5150.040
predicted_RBI1.1690.091
predicted_SLG0.3240.004
predicted_SO2.478-0.038
4. ab_floor_and_scaling

AB rounded to 7 (raw=7.29), rates preserved: AVG=0.212 HR/AB=0.025

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB7.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO2.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB7.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
6. 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.272
predicted_3B0.000-0.001
predicted_AB7.000-0.291
predicted_AVG0.143-0.069
predicted_BB0.000-0.400
predicted_H1.000-0.545
predicted_HR0.000-0.180
predicted_OBP0.143-0.110
predicted_R1.0000.485
predicted_RBI1.000-0.169
predicted_SLG0.143-0.181
predicted_SO2.000-0.478
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-4.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-2.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 104
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-20.0008.0000.0000.0000.0004.0000.0000.0006.0000.40000.40000.40000.40000.00000.20000.00000.3000
last_100.203-45.0008.0000.0000.0000.0004.0000.0000.00021.0000.17780.17780.17780.17780.00000.08890.00000.4667
season0.6030-385.00073.00016.0000.00011.00066.00027.00023.000135.0000.18960.23240.31690.18960.02860.17140.05970.3507
Weighted Prediction From Real Data
MetricValue
predicted_2B0.4290
predicted_3B0.0030
predicted_AB12.0450
predicted_AVG0.2149
predicted_BB0.6230
predicted_H2.5890
predicted_HBP0.0070
predicted_HR0.2950
predicted_OBP0.2525
predicted_R0.7610
predicted_RBI2.0170
predicted_SLG0.3245
predicted_SO4.1270
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15400.42900.2723model_form_blend
predicted_3B0.00000.00300.0013model_form_blend
predicted_AB3.702012.04507.2911model_form_blend
predicted_AVG0.22000.21490.2178model_form_blend
predicted_BB0.22100.62300.3939model_form_blend
predicted_H0.63002.58901.4728model_form_blend
predicted_HBP-0.00700.0070form_only
predicted_HR0.08000.29500.1725model_form_blend
predicted_OBP0.25800.25250.2556model_form_blend
predicted_R0.26000.76100.4755model_form_blend
predicted_RBI0.37002.01701.0785model_form_blend
predicted_SLG0.31600.32450.3197model_form_blend
predicted_SO1.29804.12702.5150model_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 date105
Season rows before report date105
Report year2026
Profile rows used104
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.19

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB0
Hitting_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
gameID20260520_SF@ARI
game_typefull
mlbID680728
playerID680728
playerNameAdrian Del Castillo
posDH
startedTrue
startingPositionC
teamARI
teamID1
game_date2026-05-20
sl_k_percent33.0
sl_bb_percent5.8
sl_woba0.256
sl_xwoba0.249
sl_xba0.191
sl_xslg0.331
sl_sweet_spot_percent33.3
sl_barrel_batted_rate8.1
sl_hard_hit_percent39.7
sl_exit_velocity_avg88.6
sl_launch_angle_avg15.3
sl_whiff_percent31.9
sl_swing_percent48.4
Ryan Waldschmidt (814439) · BATTER · CF · Team ARI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 40
All-history rows before 20260521: 40
System season_avg: 0.2980
Data season_avg (2026 season-to-date): 0.2977
Diff (system - data): 0.0003
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.3750.0001.000Hitting_2B0.3750.000-0.3750.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.2754.0006.000Hitting_AB3.2753.0000.7251.000
predicted_AVG0.2600.2500.167Hitting_AVG0.2980.667-0.048-0.417
predicted_BB0.4250.0001.000Hitting_BB0.4250.000-0.4250.000
predicted_CS-0.0000.000BaseRunning_CS0.1250.000-0.1250.000
predicted_H0.2701.0001.000Hitting_H0.9752.0000.025-1.000
predicted_HR0.0300.0000.000Hitting_HR0.0000.0000.0000.000
predicted_OBP0.3320.2500.286Hitting_OBP0.3780.667-0.128-0.417
predicted_R0.4501.0001.000Hitting_R0.4502.0000.550-1.000
predicted_RBI0.1700.0001.000Hitting_RBI0.6000.000-0.6000.000
predicted_SLG0.4120.2500.333Hitting_SLG0.4120.667-0.162-0.417
predicted_SO0.8500.0002.000Hitting_SO0.8500.000-0.8500.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: 0.2700 -> 1.0000 (boost 0.7300, better)
Biggest Deboostpredicted_SO: 0.8500 -> 0.0000 (deboost -0.8500, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend1010091predicted_AB: 3.2750 -> 5.5254 (boost 2.2504, 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_snapshot63333predicted_R: 0.9998 -> 1.0837 (boost 0.0839, better)predicted_SLG: 0.4178 -> 0.3666 (deboost -0.0512, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling65142predicted_SO: 1.3986 -> 2.0000 (boost 0.6014, worse)predicted_H: 1.2870 -> 1.0000 (deboost -0.2870, worse)AB rounded to 6 (raw=5.53), rates preserved: AVG=0.233 HR/AB=0.007
5consistency_constraints10101-predicted_R: 1.0837 -> 1.0000 (deboost -0.0837, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context30303-predicted_AVG: 0.2329 -> 0.1670 (deboost -0.0659, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference50514-predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final33030predicted_AVG: 0.1670 -> 0.2329 (boost 0.0659, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "814439",
  "player_name": "Ryan Waldschmidt",
  "position": "CF",
  "team": "ARI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.375,
        "predicted_3B": 0.0,
        "predicted_AB": 3.275,
        "predicted_AVG": 0.26,
        "predicted_BB": 0.425,
        "predicted_H": 0.27,
        "predicted_HR": 0.03,
        "predicted_OBP": 0.332,
        "predicted_R": 0.45,
        "predicted_RBI": 0.17,
        "predicted_SLG": 0.412,
        "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.6146,
        "predicted_3B": 0.0024,
        "predicted_AB": 5.5254,
        "predicted_AVG": 0.2756,
        "predicted_BB": 0.8113,
        "predicted_H": 1.2269,
        "predicted_HBP": 0.013,
        "predicted_HR": 0.038,
        "predicted_OBP": 0.3558,
        "predicted_R": 0.9998,
        "predicted_RBI": 0.6557,
        "predicted_SLG": 0.4178,
        "predicted_SO": 1.4198
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.375,
          "after": 0.6146,
          "delta": 0.2396,
          "percent_delta": 0.6389,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0024,
          "delta": 0.0024,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.275,
          "after": 5.5254,
          "delta": 2.2504,
          "percent_delta": 0.6871,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.26,
          "after": 0.2756,
          "delta": 0.0156,
          "percent_delta": 0.06,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.425,
          "after": 0.8113,
          "delta": 0.3863,
          "percent_delta": 0.9089,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.27,
          "after": 1.2269,
          "delta": 0.9569,
          "percent_delta": 3.5441,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.03,
          "after": 0.038,
          "delta": 0.008,
          "percent_delta": 0.2667,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.332,
          "after": 0.3558,
          "delta": 0.0238,
          "percent_delta": 0.0717,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.45,
          "after": 0.9998,
          "delta": 0.5498,
          "percent_delta": 1.2218,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.17,
          "after": 0.6557,
          "delta": 0.4857,
          "percent_delta": 2.8571,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.412,
          "after": 0.4178,
          "delta": 0.0058,
          "percent_delta": 0.0141,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.85,
          "after": 1.4198,
          "delta": 0.5698,
          "percent_delta": 0.6704,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 10,
        "boosted_metrics": 10,
        "deboosted_metrics": 0,
        "better_metrics": 9,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.275,
          "after": 5.5254,
          "delta": 2.2504,
          "percent_delta": 0.6871,
          "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": 2,
        "last_10": 4,
        "season": 12
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.6146,
        "predicted_3B": 0.0024,
        "predicted_AB": 5.5254,
        "predicted_AVG": 0.2329,
        "predicted_BB": 0.8234,
        "predicted_H": 1.287,
        "predicted_HBP": 0.013,
        "predicted_HR": 0.0397,
        "predicted_OBP": 0.3324,
        "predicted_R": 1.0837,
        "predicted_RBI": 0.7107,
        "predicted_SLG": 0.3666,
        "predicted_SO": 1.3986
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.6146,
          "after": 0.6146,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0024,
          "after": 0.0024,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.5254,
          "after": 5.5254,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2756,
          "after": 0.2329,
          "delta": -0.0427,
          "percent_delta": -0.1549,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.8113,
          "after": 0.8234,
          "delta": 0.0121,
          "percent_delta": 0.0149,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.2269,
          "after": 1.287,
          "delta": 0.0601,
          "percent_delta": 0.049,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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.038,
          "after": 0.0397,
          "delta": 0.0017,
          "percent_delta": 0.0447,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3558,
          "after": 0.3324,
          "delta": -0.0234,
          "percent_delta": -0.0658,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.9998,
          "after": 1.0837,
          "delta": 0.0839,
          "percent_delta": 0.0839,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6557,
          "after": 0.7107,
          "delta": 0.055,
          "percent_delta": 0.0839,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4178,
          "after": 0.3666,
          "delta": -0.0512,
          "percent_delta": -0.1225,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.4198,
          "after": 1.3986,
          "delta": -0.0212,
          "percent_delta": -0.0149,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.9998,
          "after": 1.0837,
          "delta": 0.0839,
          "percent_delta": 0.0839,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4178,
          "after": 0.3666,
          "delta": -0.0512,
          "percent_delta": -0.1225,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 6 (raw=5.53), rates preserved: AVG=0.233 HR/AB=0.007",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.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.6146,
          "after": 1.0,
          "delta": 0.3854,
          "percent_delta": 0.6271,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0024,
          "after": 0.0,
          "delta": -0.0024,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.5254,
          "after": 6.0,
          "delta": 0.4746,
          "percent_delta": 0.0859,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.8234,
          "after": 1.0,
          "delta": 0.1766,
          "percent_delta": 0.2145,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.287,
          "after": 1.0,
          "delta": -0.287,
          "percent_delta": -0.223,
          "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.0397,
          "after": 0.0,
          "delta": -0.0397,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7107,
          "after": 1.0,
          "delta": 0.2893,
          "percent_delta": 0.4071,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.3986,
          "after": 2.0,
          "delta": 0.6014,
          "percent_delta": 0.43,
          "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.3986,
          "after": 2.0,
          "delta": 0.6014,
          "percent_delta": 0.43,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.287,
          "after": 1.0,
          "delta": -0.287,
          "percent_delta": -0.223,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.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": 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": 6.0,
          "after": 6.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": 1.0837,
          "after": 1.0,
          "delta": -0.0837,
          "percent_delta": -0.0772,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.0837,
          "after": 1.0,
          "delta": -0.0837,
          "percent_delta": -0.0772,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_AVG": 0.167,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.286,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.333,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2329,
          "after": 0.167,
          "delta": -0.0659,
          "percent_delta": -0.283,
          "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.3324,
          "after": 0.286,
          "delta": -0.0464,
          "percent_delta": -0.1396,
          "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.3666,
          "after": 0.333,
          "delta": -0.0336,
          "percent_delta": -0.0917,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.2329,
          "after": 0.167,
          "delta": -0.0659,
          "percent_delta": -0.283,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 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": 6.0,
          "after": 4.0,
          "delta": -2.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 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": 0,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 4.0,
          "delta": -2.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2329,
        "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.3324,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3666,
        "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.167,
          "after": 0.2329,
          "delta": 0.0659,
          "percent_delta": 0.3948,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.286,
          "after": 0.3324,
          "delta": 0.0464,
          "percent_delta": 0.1623,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.333,
          "after": 0.3666,
          "delta": 0.0336,
          "percent_delta": 0.1009,
          "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.167,
          "after": 0.2329,
          "delta": 0.0659,
          "percent_delta": 0.3948,
          "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.375,
        "after": 0.0,
        "delta": -0.375,
        "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.275,
        "after": 4.0,
        "delta": 0.725,
        "percent_delta": 0.2214,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.26,
        "after": 0.2329,
        "delta": -0.0271,
        "percent_delta": -0.1042,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.425,
        "after": 0.0,
        "delta": -0.425,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.27,
        "after": 1.0,
        "delta": 0.73,
        "percent_delta": 2.7037,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.03,
        "after": 0.0,
        "delta": -0.03,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_OBP",
        "before": 0.332,
        "after": 0.3324,
        "delta": 0.0004,
        "percent_delta": 0.0012,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.45,
        "after": 1.0,
        "delta": 0.55,
        "percent_delta": 1.2222,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.17,
        "after": 0.0,
        "delta": -0.17,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.412,
        "after": 0.3666,
        "delta": -0.0454,
        "percent_delta": -0.1102,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.85,
        "after": 0.0,
        "delta": -0.85,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 3,
      "deboosted_metrics": 6,
      "better_metrics": 4,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.27,
        "after": 1.0,
        "delta": 0.73,
        "percent_delta": 2.7037,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.85,
        "after": 0.0,
        "delta": -0.85,
        "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.375-
predicted_3B0.000-
predicted_AB3.275-
predicted_AVG0.260-
predicted_BB0.425-
predicted_H0.270-
predicted_HR0.030-
predicted_OBP0.332-
predicted_R0.450-
predicted_RBI0.170-
predicted_SLG0.412-
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.6150.240
predicted_3B0.0020.002
predicted_AB5.5252.250
predicted_AVG0.2760.016
predicted_BB0.8110.386
predicted_H1.2270.957
predicted_HBP0.013-
predicted_HR0.0380.008
predicted_OBP0.3560.024
predicted_R1.0000.550
predicted_RBI0.6560.486
predicted_SLG0.4180.006
predicted_SO1.4200.570
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.6150.000
predicted_3B0.0020.000
predicted_AB5.5250.000
predicted_AVG0.233-0.043
predicted_BB0.8230.012
predicted_H1.2870.060
predicted_HBP0.0130.000
predicted_HR0.0400.002
predicted_OBP0.332-0.023
predicted_R1.0840.084
predicted_RBI0.7110.055
predicted_SLG0.367-0.051
predicted_SO1.399-0.021
4. ab_floor_and_scaling

AB rounded to 6 (raw=5.53), rates preserved: AVG=0.233 HR/AB=0.007

MetricValueDelta vs Prev Step
2B1.000-
3B0.000-
AB6.000-
BB1.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO2.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB6.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
6. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B1.0000.385
predicted_3B0.000-0.002
predicted_AB6.0000.475
predicted_AVG0.167-0.066
predicted_BB1.0000.177
predicted_H1.000-0.287
predicted_HR0.000-0.040
predicted_OBP0.286-0.046
predicted_R1.000-0.084
predicted_RBI1.0000.289
predicted_SLG0.333-0.034
predicted_SO2.0000.601
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.000-1.000
3B0.0000.000
AB4.000-2.000
BB0.000-1.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0000.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO0.000-2.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.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-11.0002.0000.0000.0000.0000.0006.0004.0004.0000.18180.40000.18180.18180.00000.00000.36360.3636
last_100.204-27.00014.0008.0000.0000.0004.00014.0008.0005.0000.51850.62860.81480.51850.00000.14820.29630.1852
season0.6012-131.00039.00015.0000.0000.00024.00018.00017.00034.0000.29770.37840.41220.29770.00000.18320.12980.2595
Weighted Prediction From Real Data
MetricValue
predicted_2B0.9730
predicted_3B0.0060
predicted_AB8.8910
predicted_AVG0.2989
predicted_BB1.3890
predicted_H2.6580
predicted_HBP0.0130
predicted_HR0.0500
predicted_OBP0.3914
predicted_R1.8220
predicted_RBI1.3820
predicted_SLG0.4265
predicted_SO2.2720
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.37500.97300.6146model_form_blend
predicted_3B0.00000.00600.0024model_form_blend
predicted_AB3.27508.89105.5254model_form_blend
predicted_AVG0.26000.29890.2756model_form_blend
predicted_BB0.42501.38900.8113model_form_blend
predicted_H0.27002.65801.2269model_form_blend
predicted_HBP-0.01300.0130form_only
predicted_HR0.03000.05000.0380model_form_blend
predicted_OBP0.33200.39140.3558model_form_blend
predicted_R0.45001.82200.9998model_form_blend
predicted_RBI0.17001.38200.6557model_form_blend
predicted_SLG0.41200.42650.4178model_form_blend
predicted_SO0.85002.27201.4198model_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 date40
Season rows before report date40
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
AB4
H1
2B0
3B0
HR0
R1
RBI0
BB0
SO0
SF0
HBP0
season_avg0.298

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_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R2
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
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
allPositionsPlayedCF
gameID20260520_SF@ARI
game_typefull
mlbID814439
playerID814439
playerNameRyan Waldschmidt
posCF
startedTrue
startingPositionCF
teamARI
teamID1
game_date2026-05-20
sl_k_percent23.1
sl_bb_percent10.3
sl_woba0.351
sl_xwoba0.355
sl_xba0.271
sl_xslg0.468
sl_sweet_spot_percent56.0
sl_barrel_batted_rate16.0
sl_hard_hit_percent36.0
sl_exit_velocity_avg85.4
sl_launch_angle_avg15.2
sl_whiff_percent27.4
sl_swing_percent39.5
Eduardo Rodriguez (593958) · PITCHER · Starter · Team ARI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 9
All-history rows before 20260521: 9

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB2.4440.000-1.4441.000
predicted_ER1.0001.0001.000Pitching_ER1.6673.000-0.667-2.000
predicted_H2.0002.0002.000Pitching_H5.0009.000-3.000-7.000
predicted_IP6.2006.2006.200Pitching_InningsPitched5.8225.1000.3781.100
predicted_SO6.0006.0006.000Pitching_SO4.3336.0001.6670.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 -> 6.0000 (boost 1.0000, better)
Biggest Deboostpredicted_IP: 8.0000 -> 6.2000 (deboost -1.8000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2starter_usage_guardrail10101-predicted_IP: 8.0000 -> 6.2000 (deboost -1.8000, worse)Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
3pitcher_quality_guardrail11010predicted_SO: 5.0000 -> 6.0000 (boost 1.0000, better)-Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
4current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "593958",
  "player_name": "Eduardo Rodriguez",
  "position": "Starter",
  "team": "ARI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_IP": 8.0,
        "predicted_SO": 5.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "starter_usage_guardrail",
      "description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_IP": 6.2,
        "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": 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": 8.0,
          "after": 6.2,
          "delta": -1.8,
          "percent_delta": -0.225,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 8.0,
          "after": 6.2,
          "delta": -1.8,
          "percent_delta": -0.225,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 3,
      "step": "pitcher_quality_guardrail",
      "description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_IP": 6.2,
        "predicted_SO": 6.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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": 6.2,
          "after": 6.2,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 5.0,
          "after": 6.0,
          "delta": 1.0,
          "percent_delta": 0.2,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 5.0,
          "after": 6.0,
          "delta": 1.0,
          "percent_delta": 0.2,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "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": 6.2,
        "predicted_R": 1.0,
        "predicted_SO": 6.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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": 6.2,
          "after": 6.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": 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": 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": 8.0,
        "after": 6.2,
        "delta": -1.8,
        "percent_delta": -0.225,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 5.0,
        "after": 6.0,
        "delta": 1.0,
        "percent_delta": 0.2,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 2,
      "boosted_metrics": 1,
      "deboosted_metrics": 1,
      "better_metrics": 1,
      "worse_metrics": 1,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 5.0,
        "after": 6.0,
        "delta": 1.0,
        "percent_delta": 0.2,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 8.0,
        "after": 6.2,
        "delta": -1.8,
        "percent_delta": -0.225,
        "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_H2.000-
predicted_HR0.000-
predicted_IP8.000-
predicted_SO5.000-
2. starter_usage_guardrail

Starter workload capped by recent innings, season ERA/WHIP, and team-form context.

MetricValueDelta vs Prev Step
predicted_BB1.0000.000
predicted_ER1.0000.000
predicted_H2.0000.000
predicted_HR0.0000.000
predicted_IP6.200-1.800
predicted_SO5.0000.000
3. 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_H2.0000.000
predicted_HR0.0000.000
predicted_IP6.2000.000
predicted_SO6.0001.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 9
Reference playing time: 8.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45530.10010.00026.00013.00025.0002.0002.96701.28570.32970.85710.42860.82420.0659
last_100.35953.10015.00045.00022.00039.0004.0002.53121.25620.28120.84380.41250.73120.0750
season0.20953.10015.00045.00022.00039.0004.0002.53121.25620.28120.84380.41250.73120.0750
Weighted Prediction From Real Data
MetricValue
predicted_BB2.7250
predicted_ER2.4720
predicted_ERA3.3137
predicted_H5.9350
predicted_HR0.6120
predicted_IP6.2000
predicted_SO5.6850
predicted_WHIP1.2897
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00002.72501.8610model_form_blend
predicted_ER1.00002.47201.7347model_form_blend
predicted_ERA-3.31373.3137form_only
predicted_H2.00005.93503.9641model_form_blend
predicted_HR0.00000.61200.3055model_form_blend
predicted_IP8.00006.20007.1000model_form_blend
predicted_SO5.00005.68505.3419model_form_blend
predicted_WHIP-1.28971.2897form_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 used9
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP6.2
H2
R1
ER1
BB1
SO6
HR0
BF23
Pitches100

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_Balk1
Pitching_Batters Faced23
Pitching_ER3
Pitching_ERA2.53
Pitching_Flyouts2
Pitching_Groundouts4
Pitching_H9
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched5.1
Pitching_Pitches91
Pitching_R3
Pitching_SO6
Pitching_Strikes68
Pitching_Wild Pitch0
Pitching_decisionL
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260516_ARI@COL
game_typefull
mlbID593958
playerID593958
playerNameEduardo Rodriguez
posP
startedTrue
startingPositionP
teamARI
teamID1
game_date2026-05-16
game_pk824359.0
sl_k_percent17.5
sl_bb_percent9.9
sl_woba0.293
sl_xwoba0.334
sl_sweet_spot_percent35.2
sl_barrel_batted_rate7.4
sl_hard_hit_percent36.4
sl_whiff_percent18.8
sl_swing_percent45.2
sv_pitch_count91.0
sv_outs_recorded_est15.0
sv_release_speed89.03406593406594
sv_release_spin_rate2231.1428571428573
sv_effective_speed90.06373626373626
sv_launch_speed81.64146341463415
sv_launch_angle25.4390243902439
sv_woba_value8.8
sv_woba_denom23.0
sv_delta_run_exp0.8820000000000001
sv_delta_home_win_exp0.061
sl_avg_best_speed78.606821852
sl_avg_hyper_speed93.849240745
Juan Morillo (666661) · PITCHER · Middle Reliever · Team ARI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 2
All-history rows before 20260521: 2

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB1.0001.000-1.000-1.000
predicted_ER1.0001.0001.000Pitching_ER1.0002.0000.000-1.000
predicted_H1.0001.0001.000Pitching_H1.0001.0000.0000.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.6000.2000.4000.800
predicted_SO0.0000.0000.000Pitching_SO0.5000.000-0.5000.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.1000 -> 1.0000 (boost 0.9000, 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: 0.1000 -> 1.0000 (boost 0.9000, 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": "666661",
  "player_name": "Juan Morillo",
  "position": "Middle Reliever",
  "team": "ARI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.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": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_IP": 1.0,
        "predicted_R": 1.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 0.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": 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": 0.1,
          "after": 1.0,
          "delta": 0.9,
          "percent_delta": 9.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": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 0.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": 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": 0.1,
        "after": 1.0,
        "delta": 0.9,
        "percent_delta": 9.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_BB0.000-
predicted_ER1.000-
predicted_H1.000-
predicted_HR1.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: 2
Reference playing time: 0.100
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4521.2002.0002.0002.0001.0001.00010.80002.40001.20001.20001.20000.60000.6000
last_100.3521.2002.0002.0002.0001.0001.00010.80002.40001.20001.20001.20000.60000.6000
season0.2021.2002.0002.0002.0001.0001.00010.80002.40001.20001.20001.20000.60000.6000
Weighted Prediction From Real Data
MetricValue
predicted_BB0.1510
predicted_ER0.1830
predicted_ERA4.6449
predicted_H0.3390
predicted_HR0.0560
predicted_IP0.1000
predicted_SO0.3290
predicted_WHIP1.3844
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.15100.0383model_form_blend
predicted_ER1.00000.18300.7928model_form_blend
predicted_ERA-4.64494.6449form_only
predicted_H1.00000.33900.8323model_form_blend
predicted_HR1.00000.05600.7606model_form_blend
predicted_IP0.10000.10000.1000model_form_blend
predicted_SO1.00000.32900.8298model_form_blend
predicted_WHIP-1.38441.3844form_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 date2
Season rows before report date2
Report year2026
Profile rows used2
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
Pitches20

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced4
Pitching_ER2
Pitching_ERA10.80
Pitching_Flyouts0
Pitching_Groundouts2
Pitching_H1
Pitching_HBP0
Pitching_HR1
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.2
Pitching_Pitches22
Pitching_R2
Pitching_SO0
Pitching_Strikes12
Pitching_Wild Pitch0
Pitching_decisionL, BS
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260328_ARI@LAD
game_typefull
mlbID666661
playerID666661
playerNameJuan Morillo
posP
startedFalse
startingPositionP
teamARI
teamID1
game_date2026-03-28
game_pk823973.0
sl_k_percent27.6
sl_bb_percent6.6
sl_woba0.2
sl_xwoba0.216
sl_sweet_spot_percent24.5
sl_barrel_batted_rate6.3
sl_hard_hit_percent34.7
sl_whiff_percent33.1
sl_swing_percent50.9
sv_pitch_count22.0
sv_outs_recorded_est2.0
sv_release_speed95.87727272727274
sv_release_spin_rate2291.681818181818
sv_effective_speed95.80454545454543
sv_launch_speed82.35000000000001
sv_launch_angle11.0
sv_woba_value2.7
sv_woba_denom4.0
sv_delta_run_exp2.038
sv_delta_home_win_exp0.535
sl_avg_best_speed75.6260336
sl_avg_hyper_speed93.96439449
Paul Sewald (623149) · PITCHER · Middle Reliever · Team ARI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 1
All-history rows before 20260521: 1

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.0000.0000.0000.000
predicted_ER0.0000.0000.000Pitching_ER0.0000.0000.0000.000
predicted_H1.0001.0001.000Pitching_H0.0000.0001.0001.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.1000.1000.9000.900
predicted_SO0.0000.0000.000Pitching_SO0.0000.0000.0000.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics1
Boosted Metrics1
Deboosted Metrics0
Better Metrics1
Worse Metrics0
Biggest Boostpredicted_IP: 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": "623149",
  "player_name": "Paul Sewald",
  "position": "Middle Reliever",
  "team": "ARI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.1,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 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": 0.1,
          "after": 1.0,
          "delta": 0.9,
          "percent_delta": 9.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_IP",
          "before": 0.1,
          "after": 1.0,
          "delta": 0.9,
          "percent_delta": 9.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "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": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 1,
      "deboosted_metrics": 0,
      "better_metrics": 1,
      "worse_metrics": 0,
      "biggest_boost": {
        "metric": "predicted_IP",
        "before": 0.1,
        "after": 1.0,
        "delta": 0.9,
        "percent_delta": 9.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": null,
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 1
Reference playing time: 0.100
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4510.1000.0000.0000.0000.0000.0000.00000.00000.00000.00000.00000.00000.0000
last_100.3510.1000.0000.0000.0000.0000.0000.00000.00000.00000.00000.00000.00000.0000
season0.2010.1000.0000.0000.0000.0000.0000.00000.00000.00000.00000.00000.00000.0000
Weighted Prediction From Real Data
MetricValue
predicted_BB0.1240
predicted_ER0.1550
predicted_ERA4.1837
predicted_H0.3100
predicted_HR0.0430
predicted_IP0.1000
predicted_SO0.3130
predicted_WHIP1.3003
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.12400.0289model_form_blend
predicted_ER0.00000.15500.0361model_form_blend
predicted_ERA-4.18374.1837form_only
predicted_H1.00000.31000.8392model_form_blend
predicted_HR0.00000.04300.0100model_form_blend
predicted_IP0.10000.10000.1000model_form_blend
predicted_SO0.00000.31300.0729model_form_blend
predicted_WHIP-1.30031.3003form_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 date1
Season rows before report date1
Report year2026
Profile rows used1
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 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_Pitches5
Pitching_R0
Pitching_SO0
Pitching_Strikes5
Pitching_Wild Pitch0
Pitching_pitchingOrder5
allPositionsPlayedP
gameID20260328_ARI@LAD
game_typefull
mlbID623149
playerID623149
playerNamePaul Sewald
posP
startedFalse
startingPositionP
teamARI
teamID1
game_date2026-03-28
game_pk823973.0
sl_k_percent29.2
sl_bb_percent9.2
sl_woba0.277
sl_xwoba0.311
sl_sweet_spot_percent46.2
sl_barrel_batted_rate12.8
sl_hard_hit_percent41.0
sl_whiff_percent28.0
sl_swing_percent51.4
sv_pitch_count5.0
sv_outs_recorded_est1.0
sv_release_speed88.6
sv_release_spin_rate2524.2
sv_effective_speed88.5
sv_launch_speed79.85
sv_launch_angle22.5
sv_woba_value0.0
sv_woba_denom1.0
sv_delta_run_exp-0.26
sv_delta_home_win_exp-0.008
sl_avg_best_speed80.524973158
sl_avg_hyper_speed94.659957368
Taylor Clarke (664199) · PITCHER · Middle Reliever · Team ARI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 1
All-history rows before 20260521: 1

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.0000.0001.0001.000
predicted_ER1.0001.0001.000Pitching_ER4.0004.000-3.000-3.000
predicted_H3.0003.0003.000Pitching_H3.0003.0000.0000.000
predicted_IP0.1000.1000.100Pitching_InningsPitched0.1000.1000.0000.000
predicted_SO0.0000.0000.000Pitching_SO0.0000.0000.0000.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": "664199",
  "player_name": "Taylor Clarke",
  "position": "Middle Reliever",
  "team": "ARI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 1.0,
        "predicted_H": 3.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.1,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 1.0,
        "predicted_H": 3.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.1,
        "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": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 0.1,
          "after": 0.1,
          "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": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 3.0,
        "after": 3.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 0.1,
        "after": 0.1,
        "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_ER1.000-
predicted_H3.000-
predicted_HR0.000-
predicted_IP0.100-
predicted_SO0.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 1
Reference playing time: 0.100
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4510.1004.0003.0000.0000.0001.000108.00009.000012.00009.00000.00000.00003.0000
last_100.3510.1004.0003.0000.0000.0001.000108.00009.000012.00009.00000.00000.00003.0000
season0.2010.1004.0003.0000.0000.0001.000108.00009.000012.00009.00000.00000.00003.0000
Weighted Prediction From Real Data
MetricValue
predicted_BB0.1240
predicted_ER0.2070
predicted_ERA5.5877
predicted_H0.3490
predicted_HR0.0560
predicted_IP0.1000
predicted_SO0.3130
predicted_WHIP1.4173
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.12400.7959model_form_blend
predicted_ER1.00000.20700.8152model_form_blend
predicted_ERA-5.58775.5877form_only
predicted_H3.00000.34902.3823model_form_blend
predicted_HR0.00000.05600.0130model_form_blend
predicted_IP0.10000.10000.1000model_form_blend
predicted_SO0.00000.31300.0729model_form_blend
predicted_WHIP-1.41731.4173form_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 date1
Season rows before report date1
Report year2026
Profile rows used1
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP0.1
H3
R1
ER1
BB1
SO0
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 Faced5
Pitching_ER4
Pitching_ERA108.00
Pitching_Flyouts1
Pitching_Groundouts0
Pitching_H3
Pitching_HBP1
Pitching_HR1
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.1
Pitching_Pitches16
Pitching_R4
Pitching_SO0
Pitching_Strikes10
Pitching_Wild Pitch0
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260326_ARI@LAD
game_typefull
mlbID664199
playerID664199
playerNameTaylor Clarke
posP
startedFalse
startingPositionP
teamARI
teamID1
game_date2026-03-26
game_pk823974.0
sl_k_percent11.7
sl_bb_percent2.6
sl_woba0.216
sl_xwoba0.27
sl_sweet_spot_percent26.6
sl_barrel_batted_rate6.3
sl_hard_hit_percent26.6
sl_whiff_percent19.5
sl_swing_percent47.3
sv_pitch_count16.0
sv_outs_recorded_est1.0
sv_release_speed90.64375
sv_release_spin_rate2063.3125
sv_effective_speed90.75
sv_launch_speed94.02
sv_launch_angle22.0
sv_woba_value4.85
sv_woba_denom5.0
sv_delta_run_exp2.918
sv_delta_home_win_exp0.105
sl_avg_best_speed74.92331125
sl_avg_hyper_speed92.590398413

20260521_NYM@WAS

Prediction Method: enhanced_ml_savant_pitcher_quality
Team Recent Window (Home): 50 games
Team Recent Window (Away): 48 games
Team Recent Period: Latest 10 games from dataset
Enhanced Prediction Target: {"away_runs": 4, "home_runs": 3, "confidence": 0.532965, "home_win_probability": 0.467035, "away_win_probability": 0.532965, "predicted_score_text": "NYM 4 - 3 WAS", "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": "NYM", "original_runs": 4, "run_delta": 0.3388, "adjusted_runs": 4, "lineup": {"players_used": 9, "total_weight": 66.0, "quality": 0.26146136806334414, "contact": 0.39153916032172303, "power": 0.5055716504502892, "discipline": 0.05291581154385645, "xwoba": 0.3342424242424242, "recent_xwoba": 0.3342424242424242, "barrel": 9.663636363636362, "ab_hard_contact": 0.21712997870274878, "ab_bat_speed": 69.92153430023536, "ab_strikeout_rate": 0.21718808456003957, "available_players": 9, "top_players": [{"player_id": "665742", "player_name": "Juan Soto", "position": "LF", "weight": 9.0, "quality": 0.8777535113254, "contact": 1.2472399475972782, "power": 1.9340087314635865, "discipline": 0.944565476190476, "xwoba": 0.385, "recent_xwoba": 0.385, "barrel": 18.0, "ab_hard_contact": 0.9068412959383949, "ab_bat_speed": 71.02824900793651, "ab_strikeout_rate": 0.15550595238095238, "available": 1.0}, {"player_id": "668901", "player_name": "Mark Vientos", "position": "1B", "weight": 8.0, "quality": 0.556657858402703, "contact": 0.842308601530102, "power": 1.1762996460688602, "discipline": -0.6275119047619049, "xwoba": 0.357, "recent_xwoba": 0.357, "barrel": 11.5, "ab_hard_contact": 0.3758976832819538, "ab_bat_speed": 72.56617013888889, "ab_strikeout_rate": 0.18708333333333332, "available": 1.0}, {"player_id": "666182", "player_name": "Bo Bichette", "position": "SS", "weight": 10.0, "quality": 0.5134591940945645, "contact": 0.7379796728808765, "power": 0.2835397014194861, "discipline": 0.25894224924012155, "xwoba": 0.333, "recent_xwoba": 0.333, "barrel": 6.7, "ab_hard_contact": -0.0907297811340968, "ab_bat_speed": 68.8934736728992, "ab_strikeout_rate": 0.15691489361702127, "available": 1.0}, {"player_id": "620443", "player_name": "Luis Torrens", "position": "C", "weight": 5.0, "quality": -0.19498495058726614, "contact": -0.5083554492635495, "power": -0.8829002944711466, "discipline": -0.5242738095238099, "xwoba": 0.255, "recent_xwoba": 0.255, "barrel": 0.0, "ab_hard_contact": -0.265624937041965, "ab_bat_speed": 68.48206597222223, "ab_strikeout_rate": 0.19791666666666666, "available": 1.0}, {"player_id": "805999", "player_name": "A.J. Ewing", "position": "CF", "weight": 6.0, "quality": 0.11736197967317467, "contact": 0.9556262937920066, "power": 0.8118686555087256, "discipline": 1.0655238095238095, "xwoba": 0.429, "recent_xwoba": 0.429, "barrel": 11.8, "ab_hard_contact": -0.39957927077787486, "ab_bat_speed": 66.18637152777778, "ab_strikeout_rate": 0.3333333333333333, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "676917", "player_name": "Cade Cavalli", "quality": -0.19761119793230478, "contact": -0.6495123780543365, "command": 0.12249879824845308, "movement": 0.21531801039746531, "xwoba": 0.322, "whiff": 24.7, "faced_est_woba": 0.3286405456889969, "faced_launch_speed": 84.65486370246603, "faced_strikeout_rate": 0.22777825315971623, "faced_run_exp": -0.024989670558226804}}, "home": {"team": "WAS", "original_runs": 3, "run_delta": 0.3062, "adjusted_runs": 3, "lineup": {"players_used": 9, "total_weight": 64.0, "quality": 0.23921786826491662, "contact": 0.21436545472908577, "power": 0.15386104423931152, "discipline": 0.23551655482410283, "xwoba": 0.329265625, "recent_xwoba": 0.329265625, "barrel": 9.590625000000001, "ab_hard_contact": 0.12101641417214137, "ab_bat_speed": 69.81464872194664, "ab_strikeout_rate": 0.1827356773187542, "available_players": 9, "top_players": [{"player_id": "695578", "player_name": "James Wood", "position": "LF", "weight": 10.0, "quality": 1.514481238584302, "contact": 1.494719245114372, "power": 2.0, "discipline": 0.410101068999028, "xwoba": 0.429, "recent_xwoba": 0.429, "barrel": 26.3, "ab_hard_contact": 1.2495675785460738, "ab_bat_speed": 74.26090646258504, "ab_strikeout_rate": 0.3044703595724004, "available": 1.0}, {"player_id": "683083", "player_name": "Nasim Nuñez", "position": "2B", "weight": 7.0, "quality": -0.8472441889696403, "contact": -1.2940003021382256, "power": -1.8157204436918561, "discipline": 0.6416550387596895, "xwoba": 0.269, "recent_xwoba": 0.269, "barrel": 0.0, "ab_hard_contact": -1.2420279214561698, "ab_bat_speed": 63.6324031007752, "ab_strikeout_rate": 0.17984496124031008, "available": 1.0}, {"player_id": "665953", "player_name": "Andrés Chaparro", "position": "1B", "weight": 3.0, "quality": 0.07106245722481355, "contact": 2.0, "power": 1.9496505365437775, "discipline": 0.17092063492063486, "xwoba": 0.48900000000000005, "recent_xwoba": 0.48900000000000005, "barrel": 14.300000000000002, "ab_hard_contact": 1.1901535880184215, "ab_bat_speed": 71.5925925925926, "ab_strikeout_rate": 0.2222222222222222, "available": 1.0}, {"player_id": "686611", "player_name": "Dylan Crews", "position": "RF", "weight": 5.0, "quality": -0.027009902477407595, "contact": -1.5910930335889462, "power": -1.864168940969449, "discipline": 0.14999999999999986, "xwoba": 0.111, "recent_xwoba": 0.111, "barrel": 0.0, "ab_hard_contact": -0.8967121527223191, "ab_bat_speed": 72.325, "ab_strikeout_rate": 0.0, "available": 1.0}, {"player_id": "678554", "player_name": "Curtis Mead", "position": "3B", "weight": 6.0, "quality": 0.430650542012794, "contact": 1.0043574623294222, "power": 0.5628438796293975, "discipline": 1.3832857142857145, "xwoba": 0.377, "recent_xwoba": 0.377, "barrel": 9.1, "ab_hard_contact": 0.4553537830641173, "ab_bat_speed": 71.79692063492064, "ab_strikeout_rate": 0.14714285714285716, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "656849", "player_name": "David Peterson", "quality": -0.22148003588757734, "contact": -0.5909621800781758, "command": 0.03210770795438986, "movement": -0.219510145886193, "xwoba": 0.328, "whiff": 23.8, "faced_est_woba": 0.329028429636564, "faced_launch_speed": 84.06533480324612, "faced_strikeout_rate": 0.21153215163512645, "faced_run_exp": -0.011790150666857702}}}, "confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Production confidence governor cap enforced.", "pre_simulation_target": {"away_runs": 4, "home_runs": 3, "predicted_score_text": "NYM 4 - 3 WAS", "confidence": 0.532965, "source": "enhanced_prediction_before_inning_simulation"}, "score_source": "enhanced_prediction.pre_simulation_target", "final_prediction_synced": true, "final_prediction_source": "pre_simulation_target", "simulation_usage": "advisory_box_score_draw", "simulation_score_matches_prediction": false, "simulation_reconciliation": {"pre_simulation_score": {"away_runs": 4, "home_runs": 3, "score_text": "NYM 4 - 3 WAS", "winner": "NYM"}, "final_simulation_score": {"away_runs": 5, "home_runs": 2, "score_text": "NYM 5 - 2 WAS", "winner": "NYM"}, "winner_flipped_by_simulation": false, "away_run_delta": 1, "home_run_delta": -1, "total_run_delta": 0, "score_source": "enhanced_prediction.pre_simulation_target", "simulation_usage": "advisory_box_score_draw", "final_prediction_source": "pre_simulation_target"}}
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, 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 predictionNYM 4 - 3 WASNYM0.533enhanced_prediction.pre_simulation_targetTrue
Simulation drawNYM 5 - 2 WASNYM-advisory_box_score_drawFalse

The shipped score is the pre-simulation model target. The inning simulation is a separate box-score realization used for player lines and stress testing.

Full Prediction Process

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_analysis9.7000
8. Probability/governorsApplies win probability calibration, matchup guardrails, margin governor and confidence governor.win_probability_calibration, margin_governor, confidence_governor0.5330
9. Simulation reconciliationKeeps final shipped score and simulation box score auditable side by side.simulation_reconciliationadvisory_box_score_draw
10. Score evolution rendered6 stored score steps are rendered below.game.score_evolution.stepstrue

Score Evolution Steps

StepLayerAway RunsHome RunsConfidenceDescription
1historical_ml5.9144.844-Base ML historical model prediction
2variance_applied65-Random variance applied (0.9-1.1)
3enhanced_prediction430.5330Enhanced ML with recent form, H2H, low-score analysis
4embedded_savant_run_environment43-Target score adjusted by temporal Savant lineup quality versus opposing starter quality
5capped_target43-Capped at max 12 realistic runs
6simulation_result52-Final inning-by-inning simulation result

Governors, Guardrails, and Reconciliation

Low Score Analysis
{
  "low_score_probability": 0.4539000000000001,
  "base_low_score_probability": 0.4238095238095238,
  "low_score_signal_threshold": 0.5038095238095238,
  "low_score_signal_strength": 0.03009047619047628,
  "confidence": 0.6355000000000001,
  "factors": {
    "environmental": 1.0710000000000002,
    "pitcher_form": 1.0,
    "team_form": 1.0,
    "situational": 1.0,
    "combined": 1.0710000000000002
  },
  "prediction": "normal_scoring",
  "expected_total_runs": 7,
  "pre_simulation_expected_total_runs": 9.7,
  "low_score_model_expected_total_runs": 9.7,
  "final_simulation_total_runs": 7,
  "score_source": "enhanced_prediction.pre_simulation_target"
}
Win Probability Calibration
{
  "method": "historical_slate_bin_shrinkage",
  "sample_size": 162,
  "near_bucket_sample_size": 162,
  "medium_bucket_sample_size": 176,
  "wide_bucket_sample_size": 187,
  "global_sample_size": 205,
  "bucket_scope": "near_0.05",
  "sparse_bucket": false,
  "empirical_hit_rate": 0.5247,
  "bayesian_hit_rate": 0.5222,
  "sample_weight": 0.6,
  "prior_strength": 18.0,
  "reliability": 0.9,
  "confidence_cap": 0.78,
  "raw_pick_probability": 0.5582,
  "calibrated_pick_probability": 0.533,
  "predicted_side": "away"
}
Season Run Differential Adjustment
{
  "applied": false,
  "home": {
    "team": "WAS",
    "games": 50,
    "wins": 25,
    "losses": 25,
    "win_pct": 0.5,
    "runs_scored": 279,
    "runs_allowed": 294,
    "run_differential": -15,
    "run_differential_per_game": -0.3,
    "available": true
  },
  "away": {
    "team": "NYM",
    "games": 49,
    "wins": 21,
    "losses": 28,
    "win_pct": 0.42857142857142855,
    "runs_scored": 202,
    "runs_allowed": 216,
    "run_differential": -14,
    "run_differential_per_game": -0.2857142857142857,
    "available": true
  },
  "run_differential_edge_per_game": -0.0143,
  "win_pct_edge": 0.0714,
  "quality_edge": 0.0929,
  "margin_adjustment": 0.0,
  "reason": "season quality edge below action threshold"
}
Matchup Recency Guardrail
{
  "applied": false,
  "confidence_cap": null,
  "winner_flipped": false,
  "reasons": [],
  "signals": {
    "predicted_team": "NYM",
    "guardrail_predicted_team": "NYM",
    "guardrail_opponent_team": null,
    "output_pre_simulation_winner": "NYM",
    "output_opponent_team": "WAS",
    "final_score_winner": "NYM",
    "pre_simulation_winner": "NYM",
    "winner_flipped_by_simulation": false
  },
  "final_prediction_sync": {
    "pre_simulation_score": {
      "away_runs": 4,
      "home_runs": 3,
      "score_text": "NYM 4 - 3 WAS",
      "winner": "NYM"
    },
    "final_simulation_score": {
      "away_runs": 5,
      "home_runs": 2,
      "score_text": "NYM 5 - 2 WAS",
      "winner": "NYM"
    },
    "winner_flipped_by_simulation": false,
    "away_run_delta": 1,
    "home_run_delta": -1,
    "total_run_delta": 0,
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_usage": "advisory_box_score_draw",
    "final_prediction_source": "pre_simulation_target"
  }
}
Season Quality Guardrail
{
  "applied": false,
  "confidence_cap": null,
  "winner_flipped": false,
  "reasons": [],
  "signals": {
    "home": {
      "team": "WAS",
      "games": 50,
      "wins": 25,
      "losses": 25,
      "win_pct": 0.5,
      "runs_scored": 279,
      "runs_allowed": 294,
      "run_differential": -15,
      "run_differential_per_game": -0.3,
      "available": true
    },
    "away": {
      "team": "NYM",
      "games": 49,
      "wins": 21,
      "losses": 28,
      "win_pct": 0.42857142857142855,
      "runs_scored": 202,
      "runs_allowed": 216,
      "run_differential": -14,
      "run_differential_per_game": -0.2857142857142857,
      "available": true
    }
  }
}
Margin Governor
{
  "applied": false,
  "raw_margin": -0.6923,
  "final_margin": -0.6923,
  "margin_cap": 1.5,
  "season_quality_edge": 0.0929,
  "reason": "raw target margin within supported range"
}
Confidence Governor
{
  "applied": false,
  "raw_confidence": 0.532965,
  "final_confidence": 0.532965,
  "confidence_cap": 0.66,
  "score_gap": 0.6923,
  "calibration_sample_size": 162,
  "calibration_empirical_hit_rate": 0.5247,
  "calibration_bayesian_hit_rate": 0.5222,
  "calibration_sparse_bucket": false,
  "season_quality_edge": 0.0929,
  "reasons": [
    "unvalidated probabilities are capped for production display",
    "projected score gap is close",
    "local calibration sample has at least 30 games",
    "local calibration sample has at least 60 games",
    "win-probability calibration cap enforced"
  ]
}
Simulation Reconciliation
{
  "pre_simulation_score": {
    "away_runs": 4,
    "home_runs": 3,
    "score_text": "NYM 4 - 3 WAS",
    "winner": "NYM"
  },
  "final_simulation_score": {
    "away_runs": 5,
    "home_runs": 2,
    "score_text": "NYM 5 - 2 WAS",
    "winner": "NYM"
  },
  "winner_flipped_by_simulation": false,
  "away_run_delta": 1,
  "home_run_delta": -1,
  "total_run_delta": 0,
  "score_source": "enhanced_prediction.pre_simulation_target",
  "simulation_usage": "advisory_box_score_draw",
  "final_prediction_source": "pre_simulation_target"
}
Enhanced Prediction Target
{
  "away_runs": 4,
  "home_runs": 3,
  "confidence": 0.532965,
  "home_win_probability": 0.467035,
  "away_win_probability": 0.532965,
  "predicted_score_text": "NYM 4 - 3 WAS",
  "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": "NYM",
      "original_runs": 4,
      "run_delta": 0.3388,
      "adjusted_runs": 4,
      "lineup": {
        "players_used": 9,
        "total_weight": 66.0,
        "quality": 0.26146136806334414,
        "contact": 0.39153916032172303,
        "power": 0.5055716504502892,
        "discipline": 0.05291581154385645,
        "xwoba": 0.3342424242424242,
        "recent_xwoba": 0.3342424242424242,
        "barrel": 9.663636363636362,
        "ab_hard_contact": 0.21712997870274878,
        "ab_bat_speed": 69.92153430023536,
        "ab_strikeout_rate": 0.21718808456003957,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "665742",
            "player_name": "Juan Soto",
            "position": "LF",
            "weight": 9.0,
            "quality": 0.8777535113254,
            "contact": 1.2472399475972782,
            "power": 1.9340087314635865,
            "discipline": 0.944565476190476,
            "xwoba": 0.385,
            "recent_xwoba": 0.385,
            "barrel": 18.0,
            "ab_hard_contact": 0.9068412959383949,
            "ab_bat_speed": 71.02824900793651,
            "ab_strikeout_rate": 0.15550595238095238,
            "available": 1.0
          },
          {
            "player_id": "668901",
            "player_name": "Mark Vientos",
            "position": "1B",
            "weight": 8.0,
            "quality": 0.556657858402703,
            "contact": 0.842308601530102,
            "power": 1.1762996460688602,
            "discipline": -0.6275119047619049,
            "xwoba": 0.357,
            "recent_xwoba": 0.357,
            "barrel": 11.5,
            "ab_hard_contact": 0.3758976832819538,
            "ab_bat_speed": 72.56617013888889,
            "ab_strikeout_rate": 0.18708333333333332,
            "available": 1.0
          },
          {
            "player_id": "666182",
            "player_name": "Bo Bichette",
            "position": "SS",
            "weight": 10.0,
            "quality": 0.5134591940945645,
            "contact": 0.7379796728808765,
            "power": 0.2835397014194861,
            "discipline": 0.25894224924012155,
            "xwoba": 0.333,
            "recent_xwoba": 0.333,
            "barrel": 6.7,
            "ab_hard_contact": -0.0907297811340968,
            "ab_bat_speed": 68.8934736728992,
            "ab_strikeout_rate": 0.15691489361702127,
            "available": 1.0
          },
          {
            "player_id": "620443",
            "player_name": "Luis Torrens",
            "position": "C",
            "weight": 5.0,
            "quality": -0.19498495058726614,
            "contact": -0.5083554492635495,
            "power": -0.8829002944711466,
            "discipline": -0.5242738095238099,
            "xwoba": 0.255,
            "recent_xwoba": 0.255,
            "barrel": 0.0,
            "ab_hard_contact": -0.265624937041965,
            "ab_bat_speed": 68.48206597222223,
            "ab_strikeout_rate": 0.19791666666666666,
            "available": 1.0
          },
          {
            "player_id": "805999",
            "player_name": "A.J. Ewing",
            "position": "CF",
            "weight": 6.0,
            "quality": 0.11736197967317467,
            "contact": 0.9556262937920066,
            "power": 0.8118686555087256,
            "discipline": 1.0655238095238095,
            "xwoba": 0.429,
            "recent_xwoba": 0.429,
            "barrel": 11.8,
            "ab_hard_contact": -0.39957927077787486,
            "ab_bat_speed": 66.18637152777778,
            "ab_strikeout_rate": 0.3333333333333333,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "676917",
        "player_name": "Cade Cavalli",
        "quality": -0.19761119793230478,
        "contact": -0.6495123780543365,
        "command": 0.12249879824845308,
        "movement": 0.21531801039746531,
        "xwoba": 0.322,
        "whiff": 24.7,
        "faced_est_woba": 0.3286405456889969,
        "faced_launch_speed": 84.65486370246603,
        "faced_strikeout_rate": 0.22777825315971623,
        "faced_run_exp": -0.024989670558226804
      }
    },
    "home": {
      "team": "WAS",
      "original_runs": 3,
      "run_delta": 0.3062,
      "adjusted_runs": 3,
      "lineup": {
        "players_used": 9,
        "total_weight": 64.0,
        "quality": 0.23921786826491662,
        "contact": 0.21436545472908577,
        "power": 0.15386104423931152,
        "discipline": 0.23551655482410283,
        "xwoba": 0.329265625,
        "recent_xwoba": 0.329265625,
        "barrel": 9.590625000000001,
        "ab_hard_contact": 0.12101641417214137,
        "ab_bat_speed": 69.81464872194664,
        "ab_strikeout_rate": 0.1827356773187542,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "695578",
            "player_name": "James Wood",
            "position": "LF",
            "weight": 10.0,
            "quality": 1.514481238584302,
            "contact": 1.494719245114372,
            "power": 2.0,
            "discipline": 0.410101068999028,
            "xwoba": 0.429,
            "recent_xwoba": 0.429,
            "barrel": 26.3,
            "ab_hard_contact": 1.2495675785460738,
            "ab_bat_speed": 74.26090646258504,
            "ab_strikeout_rate": 0.3044703595724004,
            "available": 1.0
          },
          {
            "player_id": "683083",
            "player_name": "Nasim Nuñez",
            "position": "2B",
            "weight": 7.0,
            "quality": -0.8472441889696403,
            "contact": -1.2940003021382256,
            "power": -1.8157204436918561,
            "discipline": 0.6416550387596895,
            "xwoba": 0.269,
            "recent_xwoba": 0.269,
            "barrel": 0.0,
            "ab_hard_contact": -1.2420279214561698,
            "ab_bat_speed": 63.6324031007752,
            "ab_strikeout_rate": 0.17984496124031008,
            "available": 1.0
          },
          {
            "player_id": "665953",
            "player_name": "Andrés Chaparro",
            "position": "1B",
            "weight": 3.0,
            "quality": 0.07106245722481355,
            "contact": 2.0,
            "power": 1.9496505365437775,
            "discipline": 0.17092063492063486,
            "xwoba": 0.48900000000000005,
            "recent_xwoba": 0.48900000000000005,
            "barrel": 14.300000000000002,
            "ab_hard_contact": 1.1901535880184215,
            "ab_bat_speed": 71.5925925925926,
            "ab_strikeout_rate": 0.2222222222222222,
            "available": 1.0
          },
          {
            "player_id": "686611",
            "player_name": "Dylan Crews",
            "position": "RF",
            "weight": 5.0,
            "quality": -0.027009902477407595,
            "contact": -1.5910930335889462,
            "power": -1.864168940969449,
            "discipline": 0.14999999999999986,
            "xwoba": 0.111,
            "recent_xwoba": 0.111,
            "barrel": 0.0,
            "ab_hard_contact": -0.8967121527223191,
            "ab_bat_speed": 72.325,
            "ab_strikeout_rate": 0.0,
            "available": 1.0
          },
          {
            "player_id": "678554",
            "player_name": "Curtis Mead",
            "position": "3B",
            "weight": 6.0,
            "quality": 0.430650542012794,
            "contact": 1.0043574623294222,
            "power": 0.5628438796293975,
            "discipline": 1.3832857142857145,
            "xwoba": 0.377,
            "recent_xwoba": 0.377,
            "barrel": 9.1,
            "ab_hard_contact": 0.4553537830641173,
            "ab_bat_speed": 71.79692063492064,
            "ab_strikeout_rate": 0.14714285714285716,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "656849",
        "player_name": "David Peterson",
        "quality": -0.22148003588757734,
        "contact": -0.5909621800781758,
        "command": 0.03210770795438986,
        "movement": -0.219510145886193,
        "xwoba": 0.328,
        "whiff": 23.8,
        "faced_est_woba": 0.329028429636564,
        "faced_launch_speed": 84.06533480324612,
        "faced_strikeout_rate": 0.21153215163512645,
        "faced_run_exp": -0.011790150666857702
      }
    }
  },
  "confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Production confidence governor cap enforced.",
  "pre_simulation_target": {
    "away_runs": 4,
    "home_runs": 3,
    "predicted_score_text": "NYM 4 - 3 WAS",
    "confidence": 0.532965,
    "source": "enhanced_prediction_before_inning_simulation"
  },
  "score_source": "enhanced_prediction.pre_simulation_target",
  "final_prediction_synced": true,
  "final_prediction_source": "pre_simulation_target",
  "simulation_usage": "advisory_box_score_draw",
  "simulation_score_matches_prediction": false,
  "simulation_reconciliation": {
    "pre_simulation_score": {
      "away_runs": 4,
      "home_runs": 3,
      "score_text": "NYM 4 - 3 WAS",
      "winner": "NYM"
    },
    "final_simulation_score": {
      "away_runs": 5,
      "home_runs": 2,
      "score_text": "NYM 5 - 2 WAS",
      "winner": "NYM"
    },
    "winner_flipped_by_simulation": false,
    "away_run_delta": 1,
    "home_run_delta": -1,
    "total_run_delta": 0,
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_usage": "advisory_box_score_draw",
    "final_prediction_source": "pre_simulation_target"
  }
}

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 NYMTrue1.02631.0263190
Home WASTrue1.02191.0219190

Away Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
RFCarson Benge-1.01970.2632neutral0.31900.26600.40406.6043.4090.108.7019.4019.607.100.2286
1BMark Vientos-1.06530.8708positive_batter_regression0.35700.27900.525011.5047.8090.9013.1029.7019.904.601.4857
SSBo Bichette-1.05630.7502positive_batter_regression0.33300.28300.42806.7045.1090.907.4016.401671.6857
LFJuan Soto-1.07340.9789neutral0.38500.26700.56101849.5092.6014.8021.601613.900
3BBrett Baty-1.01280.1700neutral0.31000.23900.40009.9040.6090.50928.3027.808.600.4857
2BMarcus Semien-10neutral0.30200.24800.38907.3032.408618.8023.2020.306.800.8286
DHMJ Melendez-0.9861-0.1858negative_batter_regression0.27800.17100.330013.9058.3093.7016.6038.1034.8011.60-1.8000
CFA.J. Ewing-1.04890.6525neutral0.42900.29400.528011.8041.208616.60242521.900.1429
CLuis Torrens-0.9738-0.3495neutral0.25500.21800.2920047.2090.106.5024.1020.504.100.3143

Home Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
3BCurtis Mead-1.04120.5489neutral0.37700.26400.45409.1046.8089.4014.1016.8014.9015.800.3143
1BAndrés Chaparro-1.07430.9906positive_batter_regression0.48900.33900.766014.3057.1094.6018.502520102
SSCJ Abrams-1.04420.5891negative_batter_regression0.35800.26300.455010.3040.9089.9017.303020.3010.10-1.0571
LFJames Wood-1.14821.9762neutral0.42900.27700.615026.306196.4010.303430.5017.200.8000
DHDaylen Lile-1.03870.5165neutral0.34000.27200.44407.7037.8087.801625.3018.207.900.2286
2BNasim Nuñez-0.9418-0.7761neutral0.26900.20200.248001884.108.8022.8019.4012.700.4286
RFDylan Crews-0.9303-0.9292negative_batter_regression0.11100.11700.15100086.1014.30000-2
CFJacob Young-1.00950.1265neutral0.31400.26600.39205.5031.808811.2020.8016.605.300.8286
CKeibert Ruiz-0.9687-0.4177negative_batter_regression0.24700.20100.34006.6040.8089.6017.4016.70162.10-1.9429
Raw Savant Batter Quality JSON
{
  "home": {
    "applied": true,
    "offense_factor": 1.0219,
    "raw_average_factor": 1.0219,
    "team_espn_average_rank": null,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "3B",
        "player_id": "678554",
        "player_name": "Curtis Mead",
        "offense_factor": 1.0412,
        "quality_score": 0.5489,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "678554",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 114.0,
          "k_percent": 14.9,
          "bb_percent": 15.8,
          "woba": 0.366,
          "xwoba": 0.377,
          "xba": 0.264,
          "xslg": 0.454,
          "sweet_spot_percent": 31.2,
          "barrel_batted_rate": 9.1,
          "hard_hit_percent": 46.8,
          "exit_velocity_avg": 89.4,
          "launch_angle_avg": 14.1,
          "whiff_percent": 16.8,
          "swing_percent": 40.9
        },
        "components": {
          "expected_quality": 1.1806,
          "regression_edge": 0.3143,
          "xwoba_edge": 1.9714,
          "xba_edge": 0.6857,
          "xslg_edge": 1.1143,
          "barrel_edge": 0.4889,
          "hard_hit_edge": 1.05,
          "exit_velocity_edge": 0.16,
          "sweet_spot_edge": -0.35,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "1B",
        "player_id": "665953",
        "player_name": "Andrés Chaparro",
        "offense_factor": 1.0743,
        "quality_score": 0.9906,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "665953",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 9.0,
          "k_percent": 20.0,
          "bb_percent": 10.0,
          "woba": 0.288,
          "xwoba": 0.489,
          "xba": 0.339,
          "xslg": 0.766,
          "sweet_spot_percent": 42.9,
          "barrel_batted_rate": 14.3,
          "hard_hit_percent": 57.1,
          "exit_velocity_avg": 94.6,
          "launch_angle_avg": 18.5,
          "whiff_percent": 25.0,
          "swing_percent": 48.5
        },
        "components": {
          "expected_quality": 2.2342,
          "regression_edge": 2.0,
          "xwoba_edge": 2.5,
          "xba_edge": 2.5,
          "xslg_edge": 2.5,
          "barrel_edge": 1.6444,
          "hard_hit_edge": 2.5,
          "exit_velocity_edge": 2.24,
          "sweet_spot_edge": 1.6,
          "launch_angle_hr_bonus": 0.45
        }
      },
      {
        "position": "SS",
        "player_id": "682928",
        "player_name": "CJ Abrams",
        "offense_factor": 1.0442,
        "quality_score": 0.5891,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "682928",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 204.0,
          "k_percent": 20.3,
          "bb_percent": 10.1,
          "woba": 0.395,
          "xwoba": 0.358,
          "xba": 0.263,
          "xslg": 0.455,
          "sweet_spot_percent": 32.8,
          "barrel_batted_rate": 10.3,
          "hard_hit_percent": 40.9,
          "exit_velocity_avg": 89.9,
          "launch_angle_avg": 17.3,
          "whiff_percent": 30.0,
          "swing_percent": 49.9
        },
        "components": {
          "expected_quality": 0.9109,
          "regression_edge": -1.0571,
          "xwoba_edge": 1.4286,
          "xba_edge": 0.6571,
          "xslg_edge": 1.1286,
          "barrel_edge": 0.7556,
          "hard_hit_edge": 0.2071,
          "exit_velocity_edge": 0.36,
          "sweet_spot_edge": -0.0833,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "LF",
        "player_id": "695578",
        "player_name": "James Wood",
        "offense_factor": 1.1482,
        "quality_score": 1.9762,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "695578",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 224.0,
          "k_percent": 30.5,
          "bb_percent": 17.2,
          "woba": 0.401,
          "xwoba": 0.429,
          "xba": 0.277,
          "xslg": 0.615,
          "sweet_spot_percent": 39.8,
          "barrel_batted_rate": 26.3,
          "hard_hit_percent": 61.0,
          "exit_velocity_avg": 96.4,
          "launch_angle_avg": 10.3,
          "whiff_percent": 34.0,
          "swing_percent": 37.2
        },
        "components": {
          "expected_quality": 2.1676,
          "regression_edge": 0.8,
          "xwoba_edge": 2.5,
          "xba_edge": 1.0571,
          "xslg_edge": 2.5,
          "barrel_edge": 2.5,
          "hard_hit_edge": 2.5,
          "exit_velocity_edge": 2.5,
          "sweet_spot_edge": 1.0833,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "DH",
        "player_id": "695734",
        "player_name": "Daylen Lile",
        "offense_factor": 1.0387,
        "quality_score": 0.5165,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "695734",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 212.0,
          "k_percent": 18.2,
          "bb_percent": 7.9,
          "woba": 0.332,
          "xwoba": 0.34,
          "xba": 0.272,
          "xslg": 0.444,
          "sweet_spot_percent": 36.3,
          "barrel_batted_rate": 7.7,
          "hard_hit_percent": 37.8,
          "exit_velocity_avg": 87.8,
          "launch_angle_avg": 16.0,
          "whiff_percent": 25.3,
          "swing_percent": 54.6
        },
        "components": {
          "expected_quality": 0.586,
          "regression_edge": 0.2286,
          "xwoba_edge": 0.9143,
          "xba_edge": 0.9143,
          "xslg_edge": 0.9714,
          "barrel_edge": 0.1778,
          "hard_hit_edge": -0.2357,
          "exit_velocity_edge": -0.48,
          "sweet_spot_edge": 0.5,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "2B",
        "player_id": "683083",
        "player_name": "Nasim Nuñez",
        "offense_factor": 0.9418,
        "quality_score": -0.7761,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "683083",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 159.0,
          "k_percent": 19.4,
          "bb_percent": 12.7,
          "woba": 0.254,
          "xwoba": 0.269,
          "xba": 0.202,
          "xslg": 0.248,
          "sweet_spot_percent": 28.8,
          "barrel_batted_rate": 0.0,
          "hard_hit_percent": 18.0,
          "exit_velocity_avg": 84.1,
          "launch_angle_avg": 8.8,
          "whiff_percent": 22.8,
          "swing_percent": 47.1
        },
        "components": {
          "expected_quality": -1.3184,
          "regression_edge": 0.4286,
          "xwoba_edge": -1.1143,
          "xba_edge": -1.0857,
          "xslg_edge": -1.8286,
          "barrel_edge": -1.5333,
          "hard_hit_edge": -2.5,
          "exit_velocity_edge": -1.96,
          "sweet_spot_edge": -0.75,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "RF",
        "player_id": "686611",
        "player_name": "Dylan Crews",
        "offense_factor": 0.9303,
        "quality_score": -0.9292,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "686611",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 4.0,
          "k_percent": 0.0,
          "bb_percent": 0.0,
          "woba": 0.225,
          "xwoba": 0.111,
          "xba": 0.117,
          "xslg": 0.151,
          "sweet_spot_percent": 25.0,
          "barrel_batted_rate": 0.0,
          "hard_hit_percent": 0.0,
          "exit_velocity_avg": 86.1,
          "launch_angle_avg": 14.3,
          "whiff_percent": 0.0,
          "swing_percent": 41.2
        },
        "components": {
          "expected_quality": -2.0754,
          "regression_edge": -2.0,
          "xwoba_edge": -2.5,
          "xba_edge": -2.5,
          "xslg_edge": -2.5,
          "barrel_edge": -1.5333,
          "hard_hit_edge": -2.5,
          "exit_velocity_edge": -1.16,
          "sweet_spot_edge": -1.3833,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "CF",
        "player_id": "696285",
        "player_name": "Jacob Young",
        "offense_factor": 1.0095,
        "quality_score": 0.1265,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "696285",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 166.0,
          "k_percent": 16.6,
          "bb_percent": 5.3,
          "woba": 0.285,
          "xwoba": 0.314,
          "xba": 0.266,
          "xslg": 0.392,
          "sweet_spot_percent": 37.2,
          "barrel_batted_rate": 5.5,
          "hard_hit_percent": 31.8,
          "exit_velocity_avg": 88.0,
          "launch_angle_avg": 11.2,
          "whiff_percent": 20.8,
          "swing_percent": 44.2
        },
        "components": {
          "expected_quality": 0.06,
          "regression_edge": 0.8286,
          "xwoba_edge": 0.1714,
          "xba_edge": 0.7429,
          "xslg_edge": 0.2286,
          "barrel_edge": -0.3111,
          "hard_hit_edge": -1.0929,
          "exit_velocity_edge": -0.4,
          "sweet_spot_edge": 0.65,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "C",
        "player_id": "660688",
        "player_name": "Keibert Ruiz",
        "offense_factor": 0.9687,
        "quality_score": -0.4177,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "660688",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 94.0,
          "k_percent": 16.0,
          "bb_percent": 2.1,
          "woba": 0.315,
          "xwoba": 0.247,
          "xba": 0.201,
          "xslg": 0.34,
          "sweet_spot_percent": 35.5,
          "barrel_batted_rate": 6.6,
          "hard_hit_percent": 40.8,
          "exit_velocity_avg": 89.6,
          "launch_angle_avg": 17.4,
          "whiff_percent": 16.7,
          "swing_percent": 47.4
        },
        "components": {
          "expected_quality": -0.763,
          "regression_edge": -1.9429,
          "xwoba_edge": -1.7429,
          "xba_edge": -1.1143,
          "xslg_edge": -0.5143,
          "barrel_edge": -0.0667,
          "hard_hit_edge": 0.1929,
          "exit_velocity_edge": 0.24,
          "sweet_spot_edge": 0.3667,
          "launch_angle_hr_bonus": 0.2
        }
      }
    ],
    "source": "all_players_stats.csv embedded Savant batter features"
  },
  "away": {
    "applied": true,
    "offense_factor": 1.0263,
    "raw_average_factor": 1.0263,
    "team_espn_average_rank": null,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "RF",
        "player_id": "701807",
        "player_name": "Carson Benge",
        "offense_factor": 1.0197,
        "quality_score": 0.2632,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "701807",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 168.0,
          "k_percent": 19.6,
          "bb_percent": 7.1,
          "woba": 0.311,
          "xwoba": 0.319,
          "xba": 0.266,
          "xslg": 0.404,
          "sweet_spot_percent": 37.7,
          "barrel_batted_rate": 6.6,
          "hard_hit_percent": 43.4,
          "exit_velocity_avg": 90.1,
          "launch_angle_avg": 8.7,
          "whiff_percent": 19.4,
          "swing_percent": 47.2
        },
        "components": {
          "expected_quality": 0.3635,
          "regression_edge": 0.2286,
          "xwoba_edge": 0.3143,
          "xba_edge": 0.7429,
          "xslg_edge": 0.4,
          "barrel_edge": -0.0667,
          "hard_hit_edge": 0.5643,
          "exit_velocity_edge": 0.44,
          "sweet_spot_edge": 0.7333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "1B",
        "player_id": "668901",
        "player_name": "Mark Vientos",
        "offense_factor": 1.0653,
        "quality_score": 0.8708,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "668901",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 151.0,
          "k_percent": 19.9,
          "bb_percent": 4.6,
          "woba": 0.305,
          "xwoba": 0.357,
          "xba": 0.279,
          "xslg": 0.525,
          "sweet_spot_percent": 34.5,
          "barrel_batted_rate": 11.5,
          "hard_hit_percent": 47.8,
          "exit_velocity_avg": 90.9,
          "launch_angle_avg": 13.1,
          "whiff_percent": 29.7,
          "swing_percent": 54.4
        },
        "components": {
          "expected_quality": 1.2335,
          "regression_edge": 1.4857,
          "xwoba_edge": 1.4,
          "xba_edge": 1.1143,
          "xslg_edge": 2.1286,
          "barrel_edge": 1.0222,
          "hard_hit_edge": 1.1929,
          "exit_velocity_edge": 0.76,
          "sweet_spot_edge": 0.2,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "SS",
        "player_id": "666182",
        "player_name": "Bo Bichette",
        "offense_factor": 1.0563,
        "quality_score": 0.7502,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "666182",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 213.0,
          "k_percent": 16.0,
          "bb_percent": 7.0,
          "woba": 0.274,
          "xwoba": 0.333,
          "xba": 0.283,
          "xslg": 0.428,
          "sweet_spot_percent": 32.9,
          "barrel_batted_rate": 6.7,
          "hard_hit_percent": 45.1,
          "exit_velocity_avg": 90.9,
          "launch_angle_avg": 7.4,
          "whiff_percent": 16.4,
          "swing_percent": 52.2
        },
        "components": {
          "expected_quality": 0.6266,
          "regression_edge": 1.6857,
          "xwoba_edge": 0.7143,
          "xba_edge": 1.2286,
          "xslg_edge": 0.7429,
          "barrel_edge": -0.0444,
          "hard_hit_edge": 0.8071,
          "exit_velocity_edge": 0.76,
          "sweet_spot_edge": -0.0667,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "LF",
        "player_id": "665742",
        "player_name": "Juan Soto",
        "offense_factor": 1.0734,
        "quality_score": 0.9789,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "665742",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 138.0,
          "k_percent": 16.0,
          "bb_percent": 13.9,
          "woba": 0.385,
          "xwoba": 0.385,
          "xba": 0.267,
          "xslg": 0.561,
          "sweet_spot_percent": 27.7,
          "barrel_batted_rate": 18.0,
          "hard_hit_percent": 49.5,
          "exit_velocity_avg": 92.6,
          "launch_angle_avg": 14.8,
          "whiff_percent": 21.6,
          "swing_percent": 41.9
        },
        "components": {
          "expected_quality": 1.8147,
          "regression_edge": 0.0,
          "xwoba_edge": 2.2,
          "xba_edge": 0.7714,
          "xslg_edge": 2.5,
          "barrel_edge": 2.4667,
          "hard_hit_edge": 1.4357,
          "exit_velocity_edge": 1.44,
          "sweet_spot_edge": -0.9333,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "3B",
        "player_id": "683146",
        "player_name": "Brett Baty",
        "offense_factor": 1.0128,
        "quality_score": 0.17,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "683146",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 158.0,
          "k_percent": 27.8,
          "bb_percent": 8.6,
          "woba": 0.293,
          "xwoba": 0.31,
          "xba": 0.239,
          "xslg": 0.4,
          "sweet_spot_percent": 33.7,
          "barrel_batted_rate": 9.9,
          "hard_hit_percent": 40.6,
          "exit_velocity_avg": 90.5,
          "launch_angle_avg": 9.0,
          "whiff_percent": 28.3,
          "swing_percent": 45.6
        },
        "components": {
          "expected_quality": 0.1963,
          "regression_edge": 0.4857,
          "xwoba_edge": 0.0571,
          "xba_edge": -0.0286,
          "xslg_edge": 0.3429,
          "barrel_edge": 0.6667,
          "hard_hit_edge": 0.1643,
          "exit_velocity_edge": 0.6,
          "sweet_spot_edge": 0.0667,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "2B",
        "player_id": "543760",
        "player_name": "Marcus Semien",
        "offense_factor": 1.0,
        "quality_score": 0.0,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "543760",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 189.0,
          "k_percent": 20.3,
          "bb_percent": 6.8,
          "woba": 0.273,
          "xwoba": 0.302,
          "xba": 0.248,
          "xslg": 0.389,
          "sweet_spot_percent": 34.5,
          "barrel_batted_rate": 7.3,
          "hard_hit_percent": 32.4,
          "exit_velocity_avg": 86.0,
          "launch_angle_avg": 18.8,
          "whiff_percent": 23.2,
          "swing_percent": 50.7
        },
        "components": {
          "expected_quality": -0.1348,
          "regression_edge": 0.8286,
          "xwoba_edge": -0.1714,
          "xba_edge": 0.2286,
          "xslg_edge": 0.1857,
          "barrel_edge": 0.0889,
          "hard_hit_edge": -1.0071,
          "exit_velocity_edge": -1.2,
          "sweet_spot_edge": 0.2,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "DH",
        "player_id": "669004",
        "player_name": "MJ Melendez",
        "offense_factor": 0.9861,
        "quality_score": -0.1858,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "669004",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 67.0,
          "k_percent": 34.8,
          "bb_percent": 11.6,
          "woba": 0.341,
          "xwoba": 0.278,
          "xba": 0.171,
          "xslg": 0.33,
          "sweet_spot_percent": 25.0,
          "barrel_batted_rate": 13.9,
          "hard_hit_percent": 58.3,
          "exit_velocity_avg": 93.7,
          "launch_angle_avg": 16.6,
          "whiff_percent": 38.1,
          "swing_percent": 46.9
        },
        "components": {
          "expected_quality": -0.1871,
          "regression_edge": -1.8,
          "xwoba_edge": -0.8571,
          "xba_edge": -1.9714,
          "xslg_edge": -0.6571,
          "barrel_edge": 1.5556,
          "hard_hit_edge": 2.5,
          "exit_velocity_edge": 1.88,
          "sweet_spot_edge": -1.3833,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "CF",
        "player_id": "805999",
        "player_name": "A.J. Ewing",
        "offense_factor": 1.0489,
        "quality_score": 0.6525,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "805999",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 31.0,
          "k_percent": 25.0,
          "bb_percent": 21.9,
          "woba": 0.424,
          "xwoba": 0.429,
          "xba": 0.294,
          "xslg": 0.528,
          "sweet_spot_percent": 47.1,
          "barrel_batted_rate": 11.8,
          "hard_hit_percent": 41.2,
          "exit_velocity_avg": 86.0,
          "launch_angle_avg": 16.6,
          "whiff_percent": 24.0,
          "swing_percent": 36.8
        },
        "components": {
          "expected_quality": 1.6628,
          "regression_edge": 0.1429,
          "xwoba_edge": 2.5,
          "xba_edge": 1.5429,
          "xslg_edge": 2.1714,
          "barrel_edge": 1.0889,
          "hard_hit_edge": 0.25,
          "exit_velocity_edge": -1.2,
          "sweet_spot_edge": 2.3,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "C",
        "player_id": "620443",
        "player_name": "Luis Torrens",
        "offense_factor": 0.9738,
        "quality_score": -0.3495,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "620443",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 71.0,
          "k_percent": 20.5,
          "bb_percent": 4.1,
          "woba": 0.244,
          "xwoba": 0.255,
          "xba": 0.218,
          "xslg": 0.292,
          "sweet_spot_percent": 26.4,
          "barrel_batted_rate": 0.0,
          "hard_hit_percent": 47.2,
          "exit_velocity_avg": 90.1,
          "launch_angle_avg": 6.5,
          "whiff_percent": 24.1,
          "swing_percent": 51.1
        },
        "components": {
          "expected_quality": -0.9542,
          "regression_edge": 0.3143,
          "xwoba_edge": -1.5143,
          "xba_edge": -0.6286,
          "xslg_edge": -1.2,
          "barrel_edge": -1.5333,
          "hard_hit_edge": 1.1071,
          "exit_velocity_edge": 0.44,
          "sweet_spot_edge": -1.15,
          "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 NYMTrue--0.13670.71201.01160.99230.98581.0113neutral0.32800.337022.708.4023.805.2045.30
Home WASTrue--0.10270.76001.00871.00170.98331.0286neutral0.32200.345024.108.3024.70841.30

Pitch Movement And Arsenal

TeamPitcherMovement AvailablePrimary PitchPitchesVeloSpinAxisHBIVBDropRel XRel ZExtensionArm AngleMovement Score
Away NYMTrueNone6388.55215100000000-0.0632
Home WASTrueNone8990.922220000000000.0690
Run FactorValue
away_runs_vs_home_pitcher1.0066
home_runs_vs_away_pitcher1.0083
home_pitcher_quality_edge0.0340
Raw Savant Pitcher Quality JSON
{
  "applied": true,
  "home_pitcher": {
    "available": true,
    "pitcher_id": "676917",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 190.0,
      "k_percent": 24.1,
      "bb_percent": 8.3,
      "woba": 0.345,
      "xwoba": 0.322,
      "sweet_spot_percent": 36.2,
      "barrel_batted_rate": 8.0,
      "hard_hit_percent": 41.3,
      "avg_best_speed": 79.256,
      "avg_hyper_speed": 94.4633,
      "whiff_percent": 24.7,
      "swing_percent": 45.7
    },
    "league_medians": {
      "pa": 69.0,
      "k_percent": 22.7,
      "bb_percent": 9.4,
      "woba": 0.308,
      "xwoba": 0.312,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.2,
      "hard_hit_percent": 38.7,
      "avg_best_speed": 78.2751,
      "avg_hyper_speed": 94.07,
      "whiff_percent": 25.7,
      "swing_percent": 46.9
    },
    "components": {
      "contact_quality": -0.4126,
      "command_and_miss": 0.095,
      "regression_edge": 0.6571,
      "xwoba_edge": -0.2857,
      "barrel_edge": -0.1778,
      "hard_hit_edge": -0.3714,
      "whiff_edge": -0.1429,
      "bb_edge": 0.275,
      "pitch_design_score": 0.069
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "676917",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 89,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 89,
        "pitch_usage": 0.0,
        "release_speed": 90.91619730144518,
        "release_spin_rate": 2220.4971208223674,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 89,
          "pitch_usage": 0.0,
          "release_speed": 90.91619730144518,
          "release_spin_rate": 2220.4971208223674,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.9162,
        "release_spin_rate": 2220.4971,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": 0.069,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": 0.4931,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -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.1027,
    "sample_weight": 0.76,
    "run_prevention_factor": 1.0087,
    "strikeout_factor": 1.0017,
    "walk_factor": 0.9833,
    "homer_factor": 1.0286,
    "woba_minus_xwoba": 0.023,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": false,
      "player_id": "676917",
      "reason": "player_not_in_espn_rankings"
    }
  },
  "away_pitcher": {
    "available": true,
    "pitcher_id": "656849",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 178.0,
      "k_percent": 22.7,
      "bb_percent": 8.4,
      "woba": 0.337,
      "xwoba": 0.328,
      "sweet_spot_percent": 33.6,
      "barrel_batted_rate": 5.2,
      "hard_hit_percent": 45.3,
      "avg_best_speed": 78.4743,
      "avg_hyper_speed": 94.7644,
      "whiff_percent": 23.8,
      "swing_percent": 46.8
    },
    "league_medians": {
      "pa": 69.0,
      "k_percent": 22.7,
      "bb_percent": 9.4,
      "woba": 0.308,
      "xwoba": 0.312,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.2,
      "hard_hit_percent": 38.7,
      "avg_best_speed": 78.2751,
      "avg_hyper_speed": 94.07,
      "whiff_percent": 25.7,
      "swing_percent": 46.9
    },
    "components": {
      "contact_quality": -0.3589,
      "command_and_miss": -0.045,
      "regression_edge": 0.2571,
      "xwoba_edge": -0.4571,
      "barrel_edge": 0.4444,
      "hard_hit_edge": -0.9429,
      "whiff_edge": -0.2714,
      "bb_edge": 0.25,
      "pitch_design_score": -0.0632
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "656849",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 63,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 63,
        "pitch_usage": 0.0,
        "release_speed": 88.55413479218447,
        "release_spin_rate": 2151.1303975351793,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 63,
          "pitch_usage": 0.0,
          "release_speed": 88.55413479218447,
          "release_spin_rate": 2151.1303975351793,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.5541,
        "release_spin_rate": 2151.1304,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": -0.0632,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": -0.4518,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -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.1367,
    "sample_weight": 0.712,
    "run_prevention_factor": 1.0116,
    "strikeout_factor": 0.9923,
    "walk_factor": 0.9858,
    "homer_factor": 1.0113,
    "woba_minus_xwoba": 0.009,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": false,
      "player_id": "656849",
      "reason": "player_not_in_espn_rankings"
    }
  },
  "run_factors": {
    "away_runs_vs_home_pitcher": 1.0066,
    "home_runs_vs_away_pitcher": 1.0083,
    "home_pitcher_quality_edge": 0.034
  },
  "score_before": {
    "away_runs": 3.4835,
    "home_runs": 2.7911
  },
  "score_after": {
    "away_runs": 3.5065,
    "home_runs": 2.8142,
    "home_win_probability": 0.4418
  },
  "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 NYM19-290.3961.603.40-85coldstrong
Home WAS14-360.2801.704.50-138coldaverage

Season Run Differential

TeamRecordWin %Run DiffRD/GameAvailable
Away NYM21-280.429-14-0.286True
Home WAS25-250.500-15-0.300True
Signal---0.0140.093applied=False

Recent Head-to-Head

DateMatchupScoreWinnerMarginType
------

Player/Game Reconciliation

LayerABHRHRRBIBBSO
Game target NYM--4----
Game target WAS--3----
Player finalized NYM661811210717
Player finalized WAS641711211714
Player model fractional NYM66.5116.6510.102.529.776.3515.25
Player model fractional WAS62.9316.0811.182.7810.877.4613.59
Simulation box NYM36953538
Simulation box WAS33720257

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 NYMStarterDavid Peterson422525.011.44True
Away NYMMiddle RelieverHuascar Brazobán1.1001013.681.23True
Away NYMMiddle RelieverBrooks Raley1.2001003.111.42True
Away NYMMiddle RelieverDevin Williams102023.011.07True
Away NYMMiddle RelieverLuke Weaver101202.901.29True
Home WASStarterCade Cavalli4.2025604.091.42True
Home WASMiddle RelieverBrad Lord1.1002013.181.20True
Home WASMiddle RelieverGus Varland110104.401.43True
Home WASMiddle RelieverRichard Lovelady110113.511.43True
Home WASMiddle RelieverPJ Poulin111112.861.52True
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
awayNYMbatterCLuis Torrensboosted106455predicted_RBI1.8300boostbetter
homeWASbatter1BAndrés Chaparroworse125748predicted_H1.4000boostbetter
awayNYMbatterSSBo Bichetteworse94536predicted_SO1.2480boostworse
awayNYMbatterCFA.J. Ewingbetter105564predicted_H1.2300boostbetter
awayNYMbatterRFCarson Bengebetter97263predicted_AB1.0600boostbetter
homeWASpitcherStarterCade Cavalliworse21102predicted_H1.0000boostworse
homeWASpitcherMiddle RelieverRichard Loveladybetter10110predicted_H-1.0000deboostbetter
homeWASbatterDHDaylen Lileworse102819predicted_H-0.9500deboostworse
homeWASbatterLFJames Woodbetter106473predicted_H0.9400boostbetter
homeWASbatterRFDylan Crewsworse92718predicted_H-0.9400deboostworse
homeWASbatterCKeibert Ruizworse102837predicted_BB0.9170boostbetter
awayNYMbatter3BBrett Batybetter115665predicted_HR0.8900boostbetter
awayNYMbatterDHMJ Melendezworse104637predicted_SO0.8570boostworse
homeWASbatterCFJacob Youngbetter115665predicted_AB-0.8300deboostworse
awayNYMbatter2BMarcus Semienworse113847predicted_H-0.8200deboostworse
homeWASbatter3BCurtis Meadworse116556predicted_RBI0.8100boostbetter
awayNYMbatterLFJuan Sotobetter117483predicted_HR0.7300boostbetter
homeWASbatterSSCJ Abramsworse105546predicted_RBI-0.6900deboostworse
awayNYMpitcherStarterDavid Petersonworse10101predicted_IP-0.6667deboostworse
awayNYMbatter1BMark Vientosworse113829predicted_H0.6600boostbetter
homeWASbatter2BNasim Nuñezworse94536predicted_R-0.4760deboostworse
homeWASpitcherMiddle RelieverPJ Poulinbetter11010predicted_IP0.3333boostbetter
awayNYMpitcherMiddle RelieverHuascar Brazobánworse10101predicted_IP-0.2333deboostworse
homeWASpitcherMiddle RelieverBrad Lordworse10101predicted_IP-0.2333deboostworse
awayNYMpitcherMiddle RelieverBrooks Raleybetter11010predicted_IP0.2000boostbetter

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

Away Team: NYM

Away Pitcher Deep Analysis

FieldValue
PitcherDavid Peterson
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.1367
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0632
Avg Velo88.5541
Avg Spin2151.1304
HB Inches0
IVB Inches0
Release Extension0
Pre IP4
Pre ER2
Pre H5
Pre BB2
Pre SO2
Season ERA5.4000
Season WHIP1.5692
Role Avg IP4.6670
Recent Avg IP4.6670
Last Start IP3.2000
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "NYM",
    "games": 56,
    "wins": 22,
    "losses": 34,
    "win_pct": 0.3929,
    "runs_scored": 220.0,
    "runs_allowed": 236.0,
    "run_differential": -16.0,
    "run_differential_per_game": -0.2857,
    "avg_runs_scored": 3.9286,
    "avg_runs_allowed": 4.2143,
    "offense_index": 0.8783,
    "defense_index": 1.0613,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 6.4,
      "avg_runs_allowed": 5.1,
      "run_differential": 13.0
    },
    "available": true,
    "quality_score": -0.0912
  },
  "opponent": {
    "team": "WAS",
    "games": 56,
    "wins": 26,
    "losses": 30,
    "win_pct": 0.4643,
    "runs_scored": 286.0,
    "runs_allowed": 313.0,
    "run_differential": -27.0,
    "run_differential_per_game": -0.4821,
    "avg_runs_scored": 5.1071,
    "avg_runs_allowed": 5.5893,
    "offense_index": 1.1418,
    "defense_index": 0.8002,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 6.4,
      "avg_runs_allowed": 6.9,
      "run_differential": -5.0
    },
    "available": true,
    "quality_score": -0.0546
  },
  "edges": {
    "quality_edge": -0.0366,
    "offense_edge": -0.1217,
    "opponent_offense_edge": 0.1418,
    "defense_strength": 0.0613,
    "opponent_defense_weakness": 0.1998,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 0.9947,
    "run_prevention": 1.0184,
    "strikeout": 0.9876
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "656849",
    "profile": {
      "available": true,
      "pitcher_id": "656849",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 178.0,
        "k_percent": 22.7,
        "bb_percent": 8.4,
        "woba": 0.337,
        "xwoba": 0.328,
        "sweet_spot_percent": 33.6,
        "barrel_batted_rate": 5.2,
        "hard_hit_percent": 45.3,
        "avg_best_speed": 78.4743,
        "avg_hyper_speed": 94.7644,
        "whiff_percent": 23.8,
        "swing_percent": 46.8
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": -0.3589,
        "command_and_miss": -0.045,
        "regression_edge": 0.2571,
        "xwoba_edge": -0.4571,
        "barrel_edge": 0.4444,
        "hard_hit_edge": -0.9429,
        "whiff_edge": -0.2714,
        "bb_edge": 0.25,
        "pitch_design_score": -0.0632
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "656849",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 63,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 63,
          "pitch_usage": 0.0,
          "release_speed": 88.55413479218447,
          "release_spin_rate": 2151.1303975351793,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 63,
            "pitch_usage": 0.0,
            "release_speed": 88.55413479218447,
            "release_spin_rate": 2151.1303975351793,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.5541,
          "release_spin_rate": 2151.1304,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.0632,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.4518,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.1367,
      "sample_weight": 0.712,
      "run_prevention_factor": 1.0116,
      "strikeout_factor": 0.9923,
      "walk_factor": 0.9858,
      "homer_factor": 1.0113,
      "woba_minus_xwoba": 0.009,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "656849",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 4.0,
        "factor": 1.0083,
        "adjusted": 4
      },
      "predicted_H": {
        "original": 6.0,
        "factor": 1.0083,
        "adjusted": 6
      },
      "predicted_BB": {
        "original": 3.0,
        "factor": 0.9899,
        "adjusted": 3
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.008,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 5.0,
        "factor": 0.9945,
        "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": 43.1,
    "ER": 26,
    "H": 51,
    "BB": 17,
    "SO": 46,
    "HR": 2,
    "ERA": 5.3999999999999995,
    "WHIP": 1.5692307692307692,
    "K9": 9.553846153846154,
    "HR9": 0.41538461538461535,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": true
  },
  "fielding": {
    "errors": 2,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-05-16T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "656849",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 63,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 63,
    "pitch_usage": 0.0,
    "release_speed": 88.55413479218447,
    "release_spin_rate": 2151.1303975351793,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 63,
      "pitch_usage": 0.0,
      "release_speed": 88.55413479218447,
      "release_spin_rate": 2151.1303975351793,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.5541,
    "release_spin_rate": 2151.1304,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0632,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.4518,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.5625,
    "last_10": 0.43749999999999994
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6667,
    "prior_weight": 0.3333
  },
  "role": "pitcher",
  "player_id": "656849",
  "report_date": "20260521_N",
  "season_year": 2026,
  "rows_used": 10,
  "reference_playing_time": 4.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 20.0,
        "ER": 12.0,
        "R": 15.0,
        "H": 22.0,
        "BB": 7.0,
        "SO": 24.0,
        "HR": 1.0,
        "BF": 93.0,
        "Pitches": 353.0
      },
      "per_game": {
        "IP": 4.0,
        "ER": 2.4,
        "R": 3.0,
        "H": 4.4,
        "BB": 1.4,
        "SO": 4.8,
        "HR": 0.2,
        "BF": 18.6,
        "Pitches": 70.6
      },
      "rates": {
        "ERA": 5.4,
        "WHIP": 1.45,
        "ER_per_IP": 0.6,
        "H_per_IP": 1.1,
        "BB_per_IP": 0.35,
        "SO_per_IP": 1.2,
        "HR_per_IP": 0.05
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 43.1,
        "ER": 26.0,
        "R": 30.0,
        "H": 51.0,
        "BB": 17.0,
        "SO": 46.0,
        "HR": 2.0,
        "BF": 203.0,
        "Pitches": 718.0
      },
      "per_game": {
        "IP": 4.1,
        "ER": 2.6,
        "R": 3.0,
        "H": 5.1,
        "BB": 1.7,
        "SO": 4.6,
        "HR": 0.2,
        "BF": 20.3,
        "Pitches": 71.8
      },
      "rates": {
        "ERA": 5.4,
        "WHIP": 1.5692,
        "ER_per_IP": 0.6,
        "H_per_IP": 1.17692,
        "BB_per_IP": 0.39231,
        "SO_per_IP": 1.06154,
        "HR_per_IP": 0.04615
      }
    },
    "season": {
      "games": 10,
      "totals": {
        "IP": 43.1,
        "ER": 26.0,
        "R": 30.0,
        "H": 51.0,
        "BB": 17.0,
        "SO": 46.0,
        "HR": 2.0,
        "BF": 203.0,
        "Pitches": 718.0
      },
      "per_game": {
        "IP": 4.1,
        "ER": 2.6,
        "R": 3.0,
        "H": 5.1,
        "BB": 1.7,
        "SO": 4.6,
        "HR": 0.2,
        "BF": 20.3,
        "Pitches": 71.8
      },
      "rates": {
        "ERA": 5.4,
        "WHIP": 1.5692,
        "ER_per_IP": 0.6,
        "H_per_IP": 1.17692,
        "BB_per_IP": 0.39231,
        "SO_per_IP": 1.06154,
        "HR_per_IP": 0.04615
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 4.1,
    "predicted_ER": 2.406,
    "predicted_H": 4.62,
    "predicted_BB": 1.603,
    "predicted_SO": 4.651,
    "predicted_HR": 0.327,
    "predicted_ERA": 5.013,
    "predicted_WHIP": 1.4406
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4908,
  "form_weight": 0.5092,
  "form_reliability": 0.6667,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6667,
    "prior_weight": 0.3333
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 4.2,
      "form": 4.1,
      "final": 4.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 2.0,
      "form": 2.406,
      "final": 2.2067,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 5.0,
      "form": 4.62,
      "final": 4.8065,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 2.0,
      "form": 1.603,
      "final": 1.7979,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 4.651,
      "final": 3.3498,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.327,
      "final": 0.1665,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 5.013,
      "final": 5.013,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.4406,
      "final": 1.4406,
      "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 Source-
Savant Quality Score0.3846
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.1968
Avg Velo93.1981
Avg Spin2164.5231
HB Inches0
IVB Inches0
Release Extension0
Pre IP1.1000
Pre ER0
Pre H0
Pre BB1
Pre SO1
Season ERA1.8493
Season WHIP0.9863
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "NYM",
    "games": 56,
    "wins": 22,
    "losses": 34,
    "win_pct": 0.3929,
    "runs_scored": 220.0,
    "runs_allowed": 236.0,
    "run_differential": -16.0,
    "run_differential_per_game": -0.2857,
    "avg_runs_scored": 3.9286,
    "avg_runs_allowed": 4.2143,
    "offense_index": 0.8783,
    "defense_index": 1.0613,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 6.4,
      "avg_runs_allowed": 5.1,
      "run_differential": 13.0
    },
    "available": true,
    "quality_score": -0.0912
  },
  "opponent": {
    "team": "WAS",
    "games": 56,
    "wins": 26,
    "losses": 30,
    "win_pct": 0.4643,
    "runs_scored": 286.0,
    "runs_allowed": 313.0,
    "run_differential": -27.0,
    "run_differential_per_game": -0.4821,
    "avg_runs_scored": 5.1071,
    "avg_runs_allowed": 5.5893,
    "offense_index": 1.1418,
    "defense_index": 0.8002,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 6.4,
      "avg_runs_allowed": 6.9,
      "run_differential": -5.0
    },
    "available": true,
    "quality_score": -0.0546
  },
  "edges": {
    "quality_edge": -0.0366,
    "offense_edge": -0.1217,
    "opponent_offense_edge": 0.1418,
    "defense_strength": 0.0613,
    "opponent_defense_weakness": 0.1998,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 0.9947,
    "run_prevention": 1.0184,
    "strikeout": 0.9876
  },
  "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": 85.0,
        "k_percent": 19.8,
        "bb_percent": 10.4,
        "woba": 0.229,
        "xwoba": 0.26,
        "sweet_spot_percent": 19.7,
        "barrel_batted_rate": 1.5,
        "hard_hit_percent": 21.2,
        "avg_best_speed": 70.7476,
        "avg_hyper_speed": 91.6938,
        "whiff_percent": 27.1,
        "swing_percent": 51.1
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": 1.7336,
        "command_and_miss": -0.1664,
        "regression_edge": -0.8857,
        "xwoba_edge": 1.4857,
        "barrel_edge": 1.2667,
        "hard_hit_edge": 2.5,
        "whiff_edge": 0.2,
        "bb_edge": -0.25,
        "pitch_design_score": 0.1968
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "623211",
        "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": 93.19806509334994,
          "release_spin_rate": 2164.5230531140396,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 93.19806509334994,
            "release_spin_rate": 2164.5230531140396,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.1981,
          "release_spin_rate": 2164.5231,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.1968,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.4058,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 0.3846,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9673,
      "strikeout_factor": 0.9961,
      "walk_factor": 1.009,
      "homer_factor": 0.8893,
      "woba_minus_xwoba": -0.031,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "623211",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9853,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9853,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.004,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9502,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 0.9982,
        "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.2,
    "ER": 5,
    "H": 6,
    "BB": 8,
    "SO": 9,
    "HR": 1,
    "ERA": 3.2926829268292686,
    "WHIP": 1.024390243902439,
    "K9": 5.926829268292683,
    "HR9": 0.6585365853658537,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-05-18T00: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": 23,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 23,
    "pitch_usage": 0.0,
    "release_speed": 93.19806509334994,
    "release_spin_rate": 2164.5230531140396,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 93.19806509334994,
      "release_spin_rate": 2164.5230531140396,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.1981,
    "release_spin_rate": 2164.5231,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1968,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.4058,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.821,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4909,
    "prior_weight": 0.5091
  },
  "role": "pitcher",
  "player_id": "623211",
  "report_date": "20260521_N",
  "season_year": 2026,
  "rows_used": 20,
  "reference_playing_time": 1.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 7.2,
        "ER": 3.0,
        "R": 4.0,
        "H": 3.0,
        "BB": 7.0,
        "SO": 6.0,
        "HR": 0.0,
        "BF": 33.0,
        "Pitches": 126.0
      },
      "per_game": {
        "IP": 1.2,
        "ER": 0.6,
        "R": 0.8,
        "H": 0.6,
        "BB": 1.4,
        "SO": 1.2,
        "HR": 0.0,
        "BF": 6.6,
        "Pitches": 25.2
      },
      "rates": {
        "ERA": 3.5217,
        "WHIP": 1.3043,
        "ER_per_IP": 0.3913,
        "H_per_IP": 0.3913,
        "BB_per_IP": 0.91304,
        "SO_per_IP": 0.78261,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 13.2,
        "ER": 5.0,
        "R": 6.0,
        "H": 6.0,
        "BB": 8.0,
        "SO": 9.0,
        "HR": 1.0,
        "BF": 54.0,
        "Pitches": 207.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.5,
        "R": 0.6,
        "H": 0.6,
        "BB": 0.8,
        "SO": 0.9,
        "HR": 0.1,
        "BF": 5.4,
        "Pitches": 20.7
      },
      "rates": {
        "ERA": 3.2927,
        "WHIP": 1.0244,
        "ER_per_IP": 0.36585,
        "H_per_IP": 0.43902,
        "BB_per_IP": 0.58537,
        "SO_per_IP": 0.65854,
        "HR_per_IP": 0.07317
      }
    },
    "season": {
      "games": 20,
      "totals": {
        "IP": 24.1,
        "ER": 5.0,
        "R": 6.0,
        "H": 14.0,
        "BB": 10.0,
        "SO": 19.0,
        "HR": 1.0,
        "BF": 96.0,
        "Pitches": 368.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.25,
        "R": 0.3,
        "H": 0.7,
        "BB": 0.5,
        "SO": 0.95,
        "HR": 0.05,
        "BF": 4.8,
        "Pitches": 18.4
      },
      "rates": {
        "ERA": 1.8493,
        "WHIP": 0.9863,
        "ER_per_IP": 0.20548,
        "H_per_IP": 0.57534,
        "BB_per_IP": 0.41096,
        "SO_per_IP": 0.78082,
        "HR_per_IP": 0.0411
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 1.1,
    "predicted_ER": 0.576,
    "predicted_H": 0.981,
    "predicted_BB": 0.751,
    "predicted_SO": 1.192,
    "predicted_HR": 0.117,
    "predicted_ERA": 3.6832,
    "predicted_WHIP": 1.2317
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5651,
  "form_weight": 0.4349,
  "form_reliability": 0.4909,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.821,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4909,
    "prior_weight": 0.5091
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.1,
      "form": 1.1,
      "final": 1.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.576,
      "final": 0.2505,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.981,
      "final": 0.4266,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.751,
      "final": 0.8917,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.192,
      "final": 1.0835,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.117,
      "final": 0.0509,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.6832,
      "final": 3.6832,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2317,
      "final": 1.2317,
      "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
PitcherBrooks Raley
RoleMiddle Reliever
Projection Source-
Savant Quality Score0.0315
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.2800
Avg Velo84.1905
Avg Spin2613.7898
HB Inches0
IVB Inches0
Release Extension0
Pre IP1.2000
Pre ER0
Pre H0
Pre BB0
Pre SO1
Season ERA1.4727
Season WHIP1.1455
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "NYM",
    "games": 56,
    "wins": 22,
    "losses": 34,
    "win_pct": 0.3929,
    "runs_scored": 220.0,
    "runs_allowed": 236.0,
    "run_differential": -16.0,
    "run_differential_per_game": -0.2857,
    "avg_runs_scored": 3.9286,
    "avg_runs_allowed": 4.2143,
    "offense_index": 0.8783,
    "defense_index": 1.0613,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 6.4,
      "avg_runs_allowed": 5.1,
      "run_differential": 13.0
    },
    "available": true,
    "quality_score": -0.0912
  },
  "opponent": {
    "team": "WAS",
    "games": 56,
    "wins": 26,
    "losses": 30,
    "win_pct": 0.4643,
    "runs_scored": 286.0,
    "runs_allowed": 313.0,
    "run_differential": -27.0,
    "run_differential_per_game": -0.4821,
    "avg_runs_scored": 5.1071,
    "avg_runs_allowed": 5.5893,
    "offense_index": 1.1418,
    "defense_index": 0.8002,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 6.4,
      "avg_runs_allowed": 6.9,
      "run_differential": -5.0
    },
    "available": true,
    "quality_score": -0.0546
  },
  "edges": {
    "quality_edge": -0.0366,
    "offense_edge": -0.1217,
    "opponent_offense_edge": 0.1418,
    "defense_strength": 0.0613,
    "opponent_defense_weakness": 0.1998,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 0.9947,
    "run_prevention": 1.0184,
    "strikeout": 0.9876
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "548384",
    "profile": {
      "available": true,
      "pitcher_id": "548384",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 70.0,
        "k_percent": 27.3,
        "bb_percent": 10.4,
        "woba": 0.263,
        "xwoba": 0.306,
        "sweet_spot_percent": 46.8,
        "barrel_batted_rate": 6.4,
        "hard_hit_percent": 31.9,
        "avg_best_speed": 78.2511,
        "avg_hyper_speed": 93.464,
        "whiff_percent": 26.5,
        "swing_percent": 46.0
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": 0.2519,
        "command_and_miss": 0.2857,
        "regression_edge": -1.2286,
        "xwoba_edge": 0.1714,
        "barrel_edge": 0.1778,
        "hard_hit_edge": 0.9714,
        "whiff_edge": 0.1143,
        "bb_edge": -0.25,
        "pitch_design_score": -0.28
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "548384",
        "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": 84.19048424743471,
          "release_spin_rate": 2613.7898289346817,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 84.19048424743471,
            "release_spin_rate": 2613.7898289346817,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 84.1905,
          "release_spin_rate": 2613.7898,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "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.0315,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9973,
      "strikeout_factor": 1.0139,
      "walk_factor": 1.009,
      "homer_factor": 0.9738,
      "woba_minus_xwoba": -0.043,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "548384",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9988,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9988,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.004,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9882,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0063,
        "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": 1,
    "H": 7,
    "BB": 4,
    "SO": 11,
    "HR": 0,
    "ERA": 0.9310344827586208,
    "WHIP": 1.1379310344827587,
    "K9": 10.241379310344827,
    "HR9": 0.0,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-05-18T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "548384",
  "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": 84.19048424743471,
    "release_spin_rate": 2613.7898289346817,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 84.19048424743471,
      "release_spin_rate": 2613.7898289346817,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 84.1905,
    "release_spin_rate": 2613.7898,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 3.632,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4208,
    "prior_weight": 0.5792
  },
  "role": "pitcher",
  "player_id": "548384",
  "report_date": "20260521_N",
  "season_year": 2026,
  "rows_used": 20,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.1,
        "ER": 1.0,
        "R": 2.0,
        "H": 6.0,
        "BB": 3.0,
        "SO": 3.0,
        "HR": 0.0,
        "BF": 24.0,
        "Pitches": 87.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.4,
        "H": 1.2,
        "BB": 0.6,
        "SO": 0.6,
        "HR": 0.0,
        "BF": 4.8,
        "Pitches": 17.4
      },
      "rates": {
        "ERA": 2.0769,
        "WHIP": 2.0769,
        "ER_per_IP": 0.23077,
        "H_per_IP": 1.38462,
        "BB_per_IP": 0.69231,
        "SO_per_IP": 0.69231,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.2,
        "ER": 1.0,
        "R": 2.0,
        "H": 7.0,
        "BB": 4.0,
        "SO": 11.0,
        "HR": 0.0,
        "BF": 41.0,
        "Pitches": 147.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.1,
        "R": 0.2,
        "H": 0.7,
        "BB": 0.4,
        "SO": 1.1,
        "HR": 0.0,
        "BF": 4.1,
        "Pitches": 14.7
      },
      "rates": {
        "ERA": 0.931,
        "WHIP": 1.1379,
        "ER_per_IP": 0.10345,
        "H_per_IP": 0.72414,
        "BB_per_IP": 0.41379,
        "SO_per_IP": 1.13793,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 20,
      "totals": {
        "IP": 18.1,
        "ER": 3.0,
        "R": 4.0,
        "H": 13.0,
        "BB": 8.0,
        "SO": 21.0,
        "HR": 1.0,
        "BF": 77.0,
        "Pitches": 287.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.15,
        "R": 0.2,
        "H": 0.65,
        "BB": 0.4,
        "SO": 1.05,
        "HR": 0.05,
        "BF": 3.85,
        "Pitches": 14.35
      },
      "rates": {
        "ERA": 1.4727,
        "WHIP": 1.1455,
        "ER_per_IP": 0.16364,
        "H_per_IP": 0.70909,
        "BB_per_IP": 0.43636,
        "SO_per_IP": 1.14545,
        "HR_per_IP": 0.05455
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.345,
    "predicted_H": 0.974,
    "predicted_BB": 0.447,
    "predicted_SO": 0.946,
    "predicted_HR": 0.08,
    "predicted_ERA": 3.1095,
    "predicted_WHIP": 1.4203
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5947,
  "form_weight": 0.4053,
  "form_reliability": 0.4208,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 3.632,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4208,
    "prior_weight": 0.5792
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.345,
      "final": 0.1398,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.974,
      "final": 0.3948,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.447,
      "final": 0.1812,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.946,
      "final": 0.9781,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.08,
      "final": 0.0324,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.1095,
      "final": 3.1095,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.4203,
      "final": 1.4203,
      "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
PitcherDevin Williams
RoleMiddle Reliever
Projection Source-
Savant Quality Score0.3391
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0337
Avg Velo89.0824
Avg Spin2436.4697
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB2
Pre SO2
Season ERA3.4468
Season WHIP1.2128
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "NYM",
    "games": 56,
    "wins": 22,
    "losses": 34,
    "win_pct": 0.3929,
    "runs_scored": 220.0,
    "runs_allowed": 236.0,
    "run_differential": -16.0,
    "run_differential_per_game": -0.2857,
    "avg_runs_scored": 3.9286,
    "avg_runs_allowed": 4.2143,
    "offense_index": 0.8783,
    "defense_index": 1.0613,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 6.4,
      "avg_runs_allowed": 5.1,
      "run_differential": 13.0
    },
    "available": true,
    "quality_score": -0.0912
  },
  "opponent": {
    "team": "WAS",
    "games": 56,
    "wins": 26,
    "losses": 30,
    "win_pct": 0.4643,
    "runs_scored": 286.0,
    "runs_allowed": 313.0,
    "run_differential": -27.0,
    "run_differential_per_game": -0.4821,
    "avg_runs_scored": 5.1071,
    "avg_runs_allowed": 5.5893,
    "offense_index": 1.1418,
    "defense_index": 0.8002,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 6.4,
      "avg_runs_allowed": 6.9,
      "run_differential": -5.0
    },
    "available": true,
    "quality_score": -0.0546
  },
  "edges": {
    "quality_edge": -0.0366,
    "offense_edge": -0.1217,
    "opponent_offense_edge": 0.1418,
    "defense_strength": 0.0613,
    "opponent_defense_weakness": 0.1998,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 0.9947,
    "run_prevention": 1.0184,
    "strikeout": 0.9876
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "642207",
    "profile": {
      "available": true,
      "pitcher_id": "642207",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 64.0,
        "k_percent": 35.3,
        "bb_percent": 11.8,
        "woba": 0.32,
        "xwoba": 0.271,
        "sweet_spot_percent": 36.1,
        "barrel_batted_rate": 8.3,
        "hard_hit_percent": 30.6,
        "avg_best_speed": 79.2331,
        "avg_hyper_speed": 93.3937,
        "whiff_percent": 40.0,
        "swing_percent": 49.3
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": 0.4481,
        "command_and_miss": 1.405,
        "regression_edge": 1.4,
        "xwoba_edge": 1.1714,
        "barrel_edge": -0.2444,
        "hard_hit_edge": 1.1571,
        "whiff_edge": 2.0429,
        "bb_edge": -0.6,
        "pitch_design_score": -0.0337
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "642207",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 10,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 10,
          "pitch_usage": 0.0,
          "release_speed": 89.08235409628212,
          "release_spin_rate": 2436.469701305639,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 10,
            "pitch_usage": 0.0,
            "release_speed": 89.08235409628212,
            "release_spin_rate": 2436.469701305639,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.0824,
          "release_spin_rate": 2436.4697,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.0337,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.2405,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.3391,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9712,
      "strikeout_factor": 1.0692,
      "walk_factor": 1.0216,
      "homer_factor": 0.9722,
      "woba_minus_xwoba": 0.049,
      "regression_flag": "positive_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "642207",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.987,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.987,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0097,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9875,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0311,
        "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": 1,
    "H": 4,
    "BB": 2,
    "SO": 13,
    "HR": 0,
    "ERA": 0.9642857142857144,
    "WHIP": 0.6428571428571429,
    "K9": 12.535714285714286,
    "HR9": 0.0,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": true,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-05-17T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "642207",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 10,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 10,
    "pitch_usage": 0.0,
    "release_speed": 89.08235409628212,
    "release_spin_rate": 2436.469701305639,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 10,
      "pitch_usage": 0.0,
      "release_speed": 89.08235409628212,
      "release_spin_rate": 2436.469701305639,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.0824,
    "release_spin_rate": 2436.4697,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0337,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.2405,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 3.104,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.383,
    "prior_weight": 0.617
  },
  "role": "pitcher",
  "player_id": "642207",
  "report_date": "20260521_N",
  "season_year": 2026,
  "rows_used": 17,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.2,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.0,
        "BB": 2.0,
        "SO": 6.0,
        "HR": 0.0,
        "BF": 15.0,
        "Pitches": 56.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.0,
        "BB": 0.4,
        "SO": 1.2,
        "HR": 0.0,
        "BF": 3.0,
        "Pitches": 11.2
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.4286,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.0,
        "BB_per_IP": 0.42857,
        "SO_per_IP": 1.28571,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.1,
        "ER": 1.0,
        "R": 1.0,
        "H": 4.0,
        "BB": 2.0,
        "SO": 13.0,
        "HR": 0.0,
        "BF": 32.0,
        "Pitches": 128.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.1,
        "R": 0.1,
        "H": 0.4,
        "BB": 0.2,
        "SO": 1.3,
        "HR": 0.0,
        "BF": 3.2,
        "Pitches": 12.8
      },
      "rates": {
        "ERA": 0.9643,
        "WHIP": 0.6429,
        "ER_per_IP": 0.10714,
        "H_per_IP": 0.42857,
        "BB_per_IP": 0.21429,
        "SO_per_IP": 1.39286,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 17,
      "totals": {
        "IP": 15.2,
        "ER": 6.0,
        "R": 6.0,
        "H": 14.0,
        "BB": 5.0,
        "SO": 24.0,
        "HR": 1.0,
        "BF": 63.0,
        "Pitches": 253.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3529,
        "R": 0.3529,
        "H": 0.8235,
        "BB": 0.2941,
        "SO": 1.4118,
        "HR": 0.0588,
        "BF": 3.7059,
        "Pitches": 14.8824
      },
      "rates": {
        "ERA": 3.4468,
        "WHIP": 1.2128,
        "ER_per_IP": 0.38298,
        "H_per_IP": 0.89362,
        "BB_per_IP": 0.31915,
        "SO_per_IP": 1.53191,
        "HR_per_IP": 0.06383
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.334,
    "predicted_H": 0.707,
    "predicted_BB": 0.359,
    "predicted_SO": 1.113,
    "predicted_HR": 0.085,
    "predicted_ERA": 3.0086,
    "predicted_WHIP": 1.0658
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.6107,
  "form_weight": 0.3893,
  "form_reliability": 0.383,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 3.104,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.383,
    "prior_weight": 0.617
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.334,
      "final": 0.13,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.707,
      "final": 0.2752,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 2.0,
      "form": 0.359,
      "final": 1.3611,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 1.113,
      "final": 1.6547,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.085,
      "final": 0.0331,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.0086,
      "final": 3.0086,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.0658,
      "final": 1.0658,
      "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
PitcherLuke Weaver
RoleMiddle Reliever
Projection Source-
Savant Quality Score0.1442
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.1123
Avg Velo91.6892
Avg Spin2242.2183
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H2
Pre BB0
Pre SO1
Season ERA3.5410
Season WHIP1.1311
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "NYM",
    "games": 56,
    "wins": 22,
    "losses": 34,
    "win_pct": 0.3929,
    "runs_scored": 220.0,
    "runs_allowed": 236.0,
    "run_differential": -16.0,
    "run_differential_per_game": -0.2857,
    "avg_runs_scored": 3.9286,
    "avg_runs_allowed": 4.2143,
    "offense_index": 0.8783,
    "defense_index": 1.0613,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 6.4,
      "avg_runs_allowed": 5.1,
      "run_differential": 13.0
    },
    "available": true,
    "quality_score": -0.0912
  },
  "opponent": {
    "team": "WAS",
    "games": 56,
    "wins": 26,
    "losses": 30,
    "win_pct": 0.4643,
    "runs_scored": 286.0,
    "runs_allowed": 313.0,
    "run_differential": -27.0,
    "run_differential_per_game": -0.4821,
    "avg_runs_scored": 5.1071,
    "avg_runs_allowed": 5.5893,
    "offense_index": 1.1418,
    "defense_index": 0.8002,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 6.4,
      "avg_runs_allowed": 6.9,
      "run_differential": -5.0
    },
    "available": true,
    "quality_score": -0.0546
  },
  "edges": {
    "quality_edge": -0.0366,
    "offense_edge": -0.1217,
    "opponent_offense_edge": 0.1418,
    "defense_strength": 0.0613,
    "opponent_defense_weakness": 0.1998,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 0.9947,
    "run_prevention": 1.0184,
    "strikeout": 0.9876
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "596133",
    "profile": {
      "available": true,
      "pitcher_id": "596133",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 78.0,
        "k_percent": 25.0,
        "bb_percent": 8.3,
        "woba": 0.284,
        "xwoba": 0.296,
        "sweet_spot_percent": 25.5,
        "barrel_batted_rate": 9.1,
        "hard_hit_percent": 29.1,
        "avg_best_speed": 77.2285,
        "avg_hyper_speed": 92.8255,
        "whiff_percent": 26.6,
        "swing_percent": 51.2
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": 0.5025,
        "command_and_miss": 0.2479,
        "regression_edge": -0.3429,
        "xwoba_edge": 0.4571,
        "barrel_edge": -0.4222,
        "hard_hit_edge": 1.3714,
        "whiff_edge": 0.1286,
        "bb_edge": 0.275,
        "pitch_design_score": 0.1123
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "596133",
        "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": 91.68919700879677,
          "release_spin_rate": 2242.2183113856795,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 91.68919700879677,
            "release_spin_rate": 2242.2183113856795,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.6892,
          "release_spin_rate": 2242.2183,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.1123,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.8023,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.1442,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9877,
      "strikeout_factor": 1.0082,
      "walk_factor": 0.9901,
      "homer_factor": 0.9843,
      "woba_minus_xwoba": -0.012,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "596133",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9945,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9945,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9955,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9929,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0037,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 11.2,
    "ER": 2,
    "H": 10,
    "BB": 4,
    "SO": 17,
    "HR": 1,
    "ERA": 1.542857142857143,
    "WHIP": 1.2,
    "K9": 13.114285714285716,
    "HR9": 0.7714285714285715,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-05-18T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "596133",
  "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": 91.68919700879677,
    "release_spin_rate": 2242.2183113856795,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 91.68919700879677,
      "release_spin_rate": 2242.2183113856795,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.6892,
    "release_spin_rate": 2242.2183,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1123,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.8023,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.028,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4462,
    "prior_weight": 0.5538
  },
  "role": "pitcher",
  "player_id": "596133",
  "report_date": "20260521_N",
  "season_year": 2026,
  "rows_used": 19,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 6.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 5.0,
        "BB": 3.0,
        "SO": 8.0,
        "HR": 0.0,
        "BF": 26.0,
        "Pitches": 105.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.0,
        "R": 0.0,
        "H": 1.0,
        "BB": 0.6,
        "SO": 1.6,
        "HR": 0.0,
        "BF": 5.2,
        "Pitches": 21.0
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 1.3333,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.83333,
        "BB_per_IP": 0.5,
        "SO_per_IP": 1.33333,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 11.2,
        "ER": 2.0,
        "R": 2.0,
        "H": 10.0,
        "BB": 4.0,
        "SO": 17.0,
        "HR": 1.0,
        "BF": 48.0,
        "Pitches": 191.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.2,
        "R": 0.2,
        "H": 1.0,
        "BB": 0.4,
        "SO": 1.7,
        "HR": 0.1,
        "BF": 4.8,
        "Pitches": 19.1
      },
      "rates": {
        "ERA": 1.5429,
        "WHIP": 1.2,
        "ER_per_IP": 0.17143,
        "H_per_IP": 0.85714,
        "BB_per_IP": 0.34286,
        "SO_per_IP": 1.45714,
        "HR_per_IP": 0.08571
      }
    },
    "season": {
      "games": 19,
      "totals": {
        "IP": 20.1,
        "ER": 8.0,
        "R": 8.0,
        "H": 16.0,
        "BB": 7.0,
        "SO": 21.0,
        "HR": 2.0,
        "BF": 84.0,
        "Pitches": 330.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4211,
        "R": 0.4211,
        "H": 0.8421,
        "BB": 0.3684,
        "SO": 1.1053,
        "HR": 0.1053,
        "BF": 4.4211,
        "Pitches": 17.3684
      },
      "rates": {
        "ERA": 3.541,
        "WHIP": 1.1311,
        "ER_per_IP": 0.39344,
        "H_per_IP": 0.78689,
        "BB_per_IP": 0.34426,
        "SO_per_IP": 1.03279,
        "HR_per_IP": 0.09836
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.361,
    "predicted_H": 0.999,
    "predicted_BB": 0.44,
    "predicted_SO": 1.247,
    "predicted_HR": 0.106,
    "predicted_ERA": 2.9044,
    "predicted_WHIP": 1.2856
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.584,
  "form_weight": 0.416,
  "form_reliability": 0.4462,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.028,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4462,
    "prior_weight": 0.5538
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.361,
      "final": 0.1502,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 0.999,
      "final": 1.5836,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.44,
      "final": 0.183,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.247,
      "final": 1.1028,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.106,
      "final": 0.0441,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.9044,
      "final": 2.9044,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2856,
      "final": 1.2856,
      "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."
}
Carson Benge (701807) · BATTER · RF · Team NYM
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 170
All-history rows before 20260521: 170
System season_avg: 0.2840
Data season_avg (2026 season-to-date): 0.2842
Diff (system - data): -0.0002
System opponent_avg: 0.1990

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1830.0000.000Hitting_2B0.1820.000-0.1820.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.9405.0008.000Hitting_AB3.7884.0001.2121.000
predicted_AVG0.2640.2000.250Hitting_AVG0.2840.250-0.084-0.050
predicted_BB0.3140.0001.000Hitting_BB0.3120.000-0.3120.000
predicted_CS-0.0000.000BaseRunning_CS0.0290.000-0.0290.000
predicted_H1.0401.0002.000Hitting_H1.0761.000-0.0760.000
predicted_HR0.0801.0000.000Hitting_HR0.0650.0000.9351.000
predicted_OBP0.3510.2000.333Hitting_OBP0.3440.250-0.144-0.050
predicted_R0.6751.0002.000Hitting_R0.6710.0000.3291.000
predicted_RBI0.4601.0001.000Hitting_RBI0.4880.0000.5121.000
predicted_SLG0.4050.8000.250Hitting_SLG0.3840.2500.4160.550
predicted_SO0.7511.0002.000Hitting_SO0.7470.0000.2531.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_AB: 3.9400 -> 5.0000 (boost 1.0600, better)
Biggest Deboostpredicted_BB: 0.3140 -> 0.0000 (deboost -0.3140, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend1010091predicted_AB: 3.9400 -> 8.3804 (boost 4.4404, 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_snapshot31212predicted_AVG: 0.2900 -> 0.3083 (boost 0.0183, better)predicted_OBP: 0.3618 -> 0.3562 (deboost -0.0056, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling72516predicted_SO: 1.5993 -> 2.0000 (boost 0.4007, worse)predicted_H: 2.5837 -> 2.0000 (deboost -0.5837, worse)AB rounded to 8 (raw=8.38), rates preserved: AVG=0.308 HR/AB=0.016
5consistency_constraints11010predicted_R: 1.6422 -> 2.0000 (boost 0.3578, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context30303-predicted_SLG: 0.4029 -> 0.2500 (deboost -0.1529, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference61524predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 8.0000 -> 5.0000 (deboost -3.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final33030predicted_SLG: 0.2500 -> 0.4029 (boost 0.1529, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "701807",
  "player_name": "Carson Benge",
  "position": "RF",
  "team": "NYM",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.183,
        "predicted_3B": 0.0,
        "predicted_AB": 3.94,
        "predicted_AVG": 0.264,
        "predicted_BB": 0.314,
        "predicted_H": 1.04,
        "predicted_HR": 0.08,
        "predicted_OBP": 0.351,
        "predicted_R": 0.675,
        "predicted_RBI": 0.46,
        "predicted_SLG": 0.405,
        "predicted_SO": 0.751
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.3775,
        "predicted_3B": 0.0009,
        "predicted_AB": 8.3804,
        "predicted_AVG": 0.29,
        "predicted_BB": 0.6268,
        "predicted_H": 2.5775,
        "predicted_HBP": 0.11,
        "predicted_HR": 0.1374,
        "predicted_OBP": 0.3618,
        "predicted_R": 1.6396,
        "predicted_RBI": 1.0014,
        "predicted_SLG": 0.4085,
        "predicted_SO": 1.5898
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.183,
          "after": 0.3775,
          "delta": 0.1945,
          "percent_delta": 1.0628,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.94,
          "after": 8.3804,
          "delta": 4.4404,
          "percent_delta": 1.127,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.264,
          "after": 0.29,
          "delta": 0.026,
          "percent_delta": 0.0985,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.314,
          "after": 0.6268,
          "delta": 0.3128,
          "percent_delta": 0.9962,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.04,
          "after": 2.5775,
          "delta": 1.5375,
          "percent_delta": 1.4784,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.08,
          "after": 0.1374,
          "delta": 0.0574,
          "percent_delta": 0.7175,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.351,
          "after": 0.3618,
          "delta": 0.0108,
          "percent_delta": 0.0308,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.675,
          "after": 1.6396,
          "delta": 0.9646,
          "percent_delta": 1.429,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.46,
          "after": 1.0014,
          "delta": 0.5414,
          "percent_delta": 1.177,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.405,
          "after": 0.4085,
          "delta": 0.0035,
          "percent_delta": 0.0086,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.751,
          "after": 1.5898,
          "delta": 0.8388,
          "percent_delta": 1.1169,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 10,
        "boosted_metrics": 10,
        "deboosted_metrics": 0,
        "better_metrics": 9,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.94,
          "after": 8.3804,
          "delta": 4.4404,
          "percent_delta": 1.127,
          "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": 2,
        "last_10": 3,
        "season": 44
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.3775,
        "predicted_3B": 0.0009,
        "predicted_AB": 8.3804,
        "predicted_AVG": 0.3083,
        "predicted_BB": 0.623,
        "predicted_H": 2.5837,
        "predicted_HBP": 0.11,
        "predicted_HR": 0.1379,
        "predicted_OBP": 0.3562,
        "predicted_R": 1.6422,
        "predicted_RBI": 1.003,
        "predicted_SLG": 0.4029,
        "predicted_SO": 1.5993
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.3775,
          "after": 0.3775,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.3804,
          "after": 8.3804,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.29,
          "after": 0.3083,
          "delta": 0.0183,
          "percent_delta": 0.0631,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.6268,
          "after": 0.623,
          "delta": -0.0038,
          "percent_delta": -0.0061,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.5775,
          "after": 2.5837,
          "delta": 0.0062,
          "percent_delta": 0.0024,
          "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.1374,
          "after": 0.1379,
          "delta": 0.0005,
          "percent_delta": 0.0036,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3618,
          "after": 0.3562,
          "delta": -0.0056,
          "percent_delta": -0.0155,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.6396,
          "after": 1.6422,
          "delta": 0.0026,
          "percent_delta": 0.0016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0014,
          "after": 1.003,
          "delta": 0.0016,
          "percent_delta": 0.0016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4085,
          "after": 0.4029,
          "delta": -0.0056,
          "percent_delta": -0.0137,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.5898,
          "after": 1.5993,
          "delta": 0.0095,
          "percent_delta": 0.006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.29,
          "after": 0.3083,
          "delta": 0.0183,
          "percent_delta": 0.0631,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3618,
          "after": 0.3562,
          "delta": -0.0056,
          "percent_delta": -0.0155,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 8 (raw=8.38), rates preserved: AVG=0.308 HR/AB=0.016",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.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.3775,
          "after": 0.0,
          "delta": -0.3775,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.3804,
          "after": 8.0,
          "delta": -0.3804,
          "percent_delta": -0.0454,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.623,
          "after": 1.0,
          "delta": 0.377,
          "percent_delta": 0.6051,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.5837,
          "after": 2.0,
          "delta": -0.5837,
          "percent_delta": -0.2259,
          "direction": "deboost",
          "projection_effect": "worse",
          "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.1379,
          "after": 0.0,
          "delta": -0.1379,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.003,
          "after": 1.0,
          "delta": -0.003,
          "percent_delta": -0.003,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.5993,
          "after": 2.0,
          "delta": 0.4007,
          "percent_delta": 0.2505,
          "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": 1.5993,
          "after": 2.0,
          "delta": 0.4007,
          "percent_delta": 0.2505,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 2.5837,
          "after": 2.0,
          "delta": -0.5837,
          "percent_delta": -0.2259,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 2.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": 8.0,
          "after": 8.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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.6422,
          "after": 2.0,
          "delta": 0.3578,
          "percent_delta": 0.2179,
          "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": 1.6422,
          "after": 2.0,
          "delta": 0.3578,
          "percent_delta": 0.2179,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.333,
        "predicted_R": 2.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.25,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3083,
          "after": 0.25,
          "delta": -0.0583,
          "percent_delta": -0.1891,
          "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": 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.3562,
          "after": 0.333,
          "delta": -0.0232,
          "percent_delta": -0.0651,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 2.0,
          "after": 2.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.4029,
          "after": 0.25,
          "delta": -0.1529,
          "percent_delta": -0.3795,
          "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.4029,
          "after": 0.25,
          "delta": -0.1529,
          "percent_delta": -0.3795,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 5.0,
          "delta": -3.0,
          "percent_delta": -0.375,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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_SF",
          "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": 6,
        "boosted_metrics": 1,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 5.0,
          "delta": -3.0,
          "percent_delta": -0.375,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.3083,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.3562,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4029,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.3083,
          "delta": 0.0583,
          "percent_delta": 0.2332,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.333,
          "after": 0.3562,
          "delta": 0.0232,
          "percent_delta": 0.0696,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.4029,
          "delta": 0.1529,
          "percent_delta": 0.6117,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.4029,
          "delta": 0.1529,
          "percent_delta": 0.6117,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.183,
        "after": 0.0,
        "delta": -0.183,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.94,
        "after": 5.0,
        "delta": 1.06,
        "percent_delta": 0.269,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.264,
        "after": 0.3083,
        "delta": 0.0443,
        "percent_delta": 0.1678,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.314,
        "after": 0.0,
        "delta": -0.314,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.04,
        "after": 1.0,
        "delta": -0.04,
        "percent_delta": -0.0385,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.08,
        "after": 1.0,
        "delta": 0.92,
        "percent_delta": 11.5,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.351,
        "after": 0.3562,
        "delta": 0.0052,
        "percent_delta": 0.0148,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.675,
        "after": 1.0,
        "delta": 0.325,
        "percent_delta": 0.4815,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.46,
        "after": 1.0,
        "delta": 0.54,
        "percent_delta": 1.1739,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.405,
        "after": 0.4029,
        "delta": -0.0021,
        "percent_delta": -0.0052,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.751,
        "after": 1.0,
        "delta": 0.249,
        "percent_delta": 0.3316,
        "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_AB",
        "before": 3.94,
        "after": 5.0,
        "delta": 1.06,
        "percent_delta": 0.269,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.314,
        "after": 0.0,
        "delta": -0.314,
        "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.183-
predicted_3B0.000-
predicted_AB3.940-
predicted_AVG0.264-
predicted_BB0.314-
predicted_H1.040-
predicted_HR0.080-
predicted_OBP0.351-
predicted_R0.675-
predicted_RBI0.460-
predicted_SLG0.405-
predicted_SO0.751-
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.3780.195
predicted_3B0.0010.001
predicted_AB8.3804.440
predicted_AVG0.2900.026
predicted_BB0.6270.313
predicted_H2.5781.538
predicted_HBP0.110-
predicted_HR0.1370.057
predicted_OBP0.3620.011
predicted_R1.6400.965
predicted_RBI1.0010.541
predicted_SLG0.4080.003
predicted_SO1.5900.839
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.3780.000
predicted_3B0.0010.000
predicted_AB8.3800.000
predicted_AVG0.3080.018
predicted_BB0.623-0.004
predicted_H2.5840.006
predicted_HBP0.1100.000
predicted_HR0.1380.001
predicted_OBP0.356-0.006
predicted_R1.6420.003
predicted_RBI1.0030.002
predicted_SLG0.403-0.006
predicted_SO1.5990.009
4. ab_floor_and_scaling

AB rounded to 8 (raw=8.38), rates preserved: AVG=0.308 HR/AB=0.016

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB8.000-
BB1.000-
H2.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO2.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB8.0000.000
BB1.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R2.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
6. 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.378
predicted_3B0.000-0.001
predicted_AB8.000-0.380
predicted_AVG0.250-0.058
predicted_BB1.0000.377
predicted_H2.000-0.584
predicted_HR0.000-0.138
predicted_OBP0.333-0.023
predicted_R2.0000.358
predicted_RBI1.000-0.003
predicted_SLG0.250-0.153
predicted_SO2.0000.401
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.000-3.000
BB0.000-1.000
CS0.0000.000
H1.000-1.000
HBP0.0000.000
HR1.0001.000
PA5.000-
R1.000-1.000
RBI1.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: 169
Reference playing time: 3.940
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-24.00013.0000.0000.0000.0000.0008.0000.0004.0000.54170.54170.54170.54170.00000.00000.00000.1667
last_100.203-53.00028.0004.0000.0000.00012.00022.0004.0005.0000.52830.56140.60380.52830.00000.22640.07550.0943
season0.6044-644.000183.00031.0000.00011.00083.000114.00053.000127.0000.28420.34420.38350.28420.01710.12890.08230.1972
Weighted Prediction From Real Data
MetricValue
predicted_2B0.6270
predicted_3B0.0020
predicted_AB14.0770
predicted_AVG0.3233
predicted_BB1.0280
predicted_H4.5500
predicted_HBP0.1100
predicted_HR0.2110
predicted_OBP0.3756
predicted_R2.8770
predicted_RBI1.6960
predicted_SLG0.4131
predicted_SO2.6660
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18300.62700.3775model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB3.940014.07708.3804model_form_blend
predicted_AVG0.26400.32330.2900model_form_blend
predicted_BB0.31401.02800.6268model_form_blend
predicted_H1.04004.55002.5775model_form_blend
predicted_HBP-0.11000.1100form_only
predicted_HR0.08000.21100.1374model_form_blend
predicted_OBP0.35100.37560.3618model_form_blend
predicted_R0.67502.87701.6396model_form_blend
predicted_RBI0.46001.69601.0014model_form_blend
predicted_SLG0.40500.41310.4085model_form_blend
predicted_SO0.75102.66601.5898model_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 date170
Season rows before report date170
Report year2026
Profile rows used169
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA5
AB5
H1
2B0
3B0
HR1
R1
RBI1
BB0
SO1
SF0
HBP0
season_avg0.284

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists1
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_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_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
allPositionsPlayedRF
gameID20260520_NYM@WAS
game_typefull
mlbID701807
playerID701807
playerNameCarson Benge
posOF
startedTrue
startingPositionRF
teamNYM
teamID18
game_date2026-05-20
sl_k_percent19.6
sl_bb_percent7.1
sl_woba0.311
sl_xwoba0.319
sl_xba0.266
sl_xslg0.404
sl_sweet_spot_percent37.7
sl_barrel_batted_rate6.6
sl_hard_hit_percent43.4
sl_exit_velocity_avg90.1
sl_launch_angle_avg8.7
sl_whiff_percent19.4
sl_swing_percent47.2
Mark Vientos (668901) · BATTER · 1B · Team NYM
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 152
All-history rows before 20260521: 152
System season_avg: 0.2420
Data season_avg (2026 season-to-date): 0.2417
Diff (system - data): 0.0003
System opponent_avg: 0.1880

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1840.0001.000Hitting_2B0.1841.000-0.184-1.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.7574.0008.000Hitting_AB3.7574.0000.2430.000
predicted_AVG0.2280.2500.250Hitting_AVG0.2420.2500.0080.000
predicted_BB0.1970.0000.000Hitting_BB0.1970.000-0.1970.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.3401.0002.000Hitting_H0.9081.0000.0920.000
predicted_HR0.0600.0000.000Hitting_HR0.1580.000-0.1580.000
predicted_OBP0.2690.2500.250Hitting_OBP0.2820.250-0.0320.000
predicted_R0.4340.0001.000Hitting_R0.4341.000-0.434-1.000
predicted_RBI0.2300.0001.000Hitting_RBI0.5990.000-0.5990.000
predicted_SLG0.4070.2500.375Hitting_SLG0.4170.500-0.167-0.250
predicted_SO0.8161.0002.000Hitting_SO0.8161.0000.1840.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_H: 0.3400 -> 1.0000 (boost 0.6600, better)
Biggest Deboostpredicted_R: 0.4340 -> 0.0000 (deboost -0.4340, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend11110101predicted_AB: 3.7570 -> 7.8314 (boost 4.0744, 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.4217 -> 0.3731 (deboost -0.0486, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling85344predicted_2B: 0.5243 -> 1.0000 (boost 0.4757, better)predicted_BB: 0.3684 -> 0.0000 (deboost -0.3684, worse)AB rounded to 8 (raw=7.83), rates preserved: AVG=0.216 HR/AB=0.030
5consistency_constraints11010predicted_R: 0.8419 -> 1.0000 (boost 0.1581, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context11010predicted_AVG: 0.2161 -> 0.2500 (boost 0.0339, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference60615-predicted_AB: 8.0000 -> 4.0000 (deboost -4.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final10101-predicted_AVG: 0.2500 -> 0.2161 (deboost -0.0339, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "668901",
  "player_name": "Mark Vientos",
  "position": "1B",
  "team": "NYM",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.184,
        "predicted_3B": 0.0,
        "predicted_AB": 3.757,
        "predicted_AVG": 0.228,
        "predicted_BB": 0.197,
        "predicted_H": 0.34,
        "predicted_HR": 0.06,
        "predicted_OBP": 0.269,
        "predicted_R": 0.434,
        "predicted_RBI": 0.23,
        "predicted_SLG": 0.407,
        "predicted_SO": 0.816
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.5243,
        "predicted_3B": 0.0009,
        "predicted_AB": 7.8314,
        "predicted_AVG": 0.2428,
        "predicted_BB": 0.3706,
        "predicted_H": 1.6881,
        "predicted_HBP": 0.078,
        "predicted_HR": 0.2336,
        "predicted_OBP": 0.2813,
        "predicted_R": 0.8406,
        "predicted_RBI": 0.8883,
        "predicted_SLG": 0.4217,
        "predicted_SO": 1.5751
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.184,
          "after": 0.5243,
          "delta": 0.3403,
          "percent_delta": 1.8495,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.757,
          "after": 7.8314,
          "delta": 4.0744,
          "percent_delta": 1.0845,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.228,
          "after": 0.2428,
          "delta": 0.0148,
          "percent_delta": 0.0649,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.197,
          "after": 0.3706,
          "delta": 0.1736,
          "percent_delta": 0.8812,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.34,
          "after": 1.6881,
          "delta": 1.3481,
          "percent_delta": 3.965,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.06,
          "after": 0.2336,
          "delta": 0.1736,
          "percent_delta": 2.8933,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.269,
          "after": 0.2813,
          "delta": 0.0123,
          "percent_delta": 0.0457,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.434,
          "after": 0.8406,
          "delta": 0.4066,
          "percent_delta": 0.9369,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.23,
          "after": 0.8883,
          "delta": 0.6583,
          "percent_delta": 2.8622,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.407,
          "after": 0.4217,
          "delta": 0.0147,
          "percent_delta": 0.0361,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.816,
          "after": 1.5751,
          "delta": 0.7591,
          "percent_delta": 0.9303,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 11,
        "boosted_metrics": 11,
        "deboosted_metrics": 0,
        "better_metrics": 10,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.757,
          "after": 7.8314,
          "delta": 4.0744,
          "percent_delta": 1.0845,
          "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": 2,
        "last_10": 3,
        "season": 41
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.5243,
        "predicted_3B": 0.0009,
        "predicted_AB": 7.8314,
        "predicted_AVG": 0.2161,
        "predicted_BB": 0.3684,
        "predicted_H": 1.6922,
        "predicted_HBP": 0.078,
        "predicted_HR": 0.2344,
        "predicted_OBP": 0.2513,
        "predicted_R": 0.8419,
        "predicted_RBI": 0.8897,
        "predicted_SLG": 0.3731,
        "predicted_SO": 1.5846
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.5243,
          "after": 0.5243,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.8314,
          "after": 7.8314,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2428,
          "after": 0.2161,
          "delta": -0.0267,
          "percent_delta": -0.11,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3706,
          "after": 0.3684,
          "delta": -0.0022,
          "percent_delta": -0.0059,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.6881,
          "after": 1.6922,
          "delta": 0.0041,
          "percent_delta": 0.0024,
          "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.2336,
          "after": 0.2344,
          "delta": 0.0008,
          "percent_delta": 0.0034,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2813,
          "after": 0.2513,
          "delta": -0.03,
          "percent_delta": -0.1066,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.8406,
          "after": 0.8419,
          "delta": 0.0013,
          "percent_delta": 0.0015,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.8883,
          "after": 0.8897,
          "delta": 0.0014,
          "percent_delta": 0.0016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4217,
          "after": 0.3731,
          "delta": -0.0486,
          "percent_delta": -0.1152,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.5751,
          "after": 1.5846,
          "delta": 0.0095,
          "percent_delta": 0.006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4217,
          "after": 0.3731,
          "delta": -0.0486,
          "percent_delta": -0.1152,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 8 (raw=7.83), rates preserved: AVG=0.216 HR/AB=0.030",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.5243,
          "after": 1.0,
          "delta": 0.4757,
          "percent_delta": 0.9073,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.8314,
          "after": 8.0,
          "delta": 0.1686,
          "percent_delta": 0.0215,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3684,
          "after": 0.0,
          "delta": -0.3684,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.6922,
          "after": 2.0,
          "delta": 0.3078,
          "percent_delta": 0.1819,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.078,
          "after": 0.0,
          "delta": -0.078,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2344,
          "after": 0.0,
          "delta": -0.2344,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.8897,
          "after": 1.0,
          "delta": 0.1103,
          "percent_delta": 0.124,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.5846,
          "after": 2.0,
          "delta": 0.4154,
          "percent_delta": 0.2621,
          "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_2B",
          "before": 0.5243,
          "after": 1.0,
          "delta": 0.4757,
          "percent_delta": 0.9073,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3684,
          "after": 0.0,
          "delta": -0.3684,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.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": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.8419,
          "after": 1.0,
          "delta": 0.1581,
          "percent_delta": 0.1878,
          "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.8419,
          "after": 1.0,
          "delta": 0.1581,
          "percent_delta": 0.1878,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 0.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.25,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.375,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2161,
          "after": 0.25,
          "delta": 0.0339,
          "percent_delta": 0.1569,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2513,
          "after": 0.25,
          "delta": -0.0013,
          "percent_delta": -0.0052,
          "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.3731,
          "after": 0.375,
          "delta": 0.0019,
          "percent_delta": 0.0051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.2161,
          "after": 0.25,
          "delta": 0.0339,
          "percent_delta": 0.1569,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 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": 8.0,
          "after": 4.0,
          "delta": -4.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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": 6,
        "boosted_metrics": 0,
        "deboosted_metrics": 6,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 4.0,
          "delta": -4.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2161,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_FB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2513,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3731,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2161,
          "delta": -0.0339,
          "percent_delta": -0.1357,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.25,
          "after": 0.2513,
          "delta": 0.0013,
          "percent_delta": 0.0052,
          "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.375,
          "after": 0.3731,
          "delta": -0.0019,
          "percent_delta": -0.0052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.25,
          "after": 0.2161,
          "delta": -0.0339,
          "percent_delta": -0.1357,
          "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.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.757,
        "after": 4.0,
        "delta": 0.243,
        "percent_delta": 0.0647,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.228,
        "after": 0.2161,
        "delta": -0.0119,
        "percent_delta": -0.0522,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.197,
        "after": 0.0,
        "delta": -0.197,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.34,
        "after": 1.0,
        "delta": 0.66,
        "percent_delta": 1.9412,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.06,
        "after": 0.0,
        "delta": -0.06,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.269,
        "after": 0.2513,
        "delta": -0.0177,
        "percent_delta": -0.0658,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.434,
        "after": 0.0,
        "delta": -0.434,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.23,
        "after": 0.0,
        "delta": -0.23,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.407,
        "after": 0.3731,
        "delta": -0.0339,
        "percent_delta": -0.0833,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.816,
        "after": 1.0,
        "delta": 0.184,
        "percent_delta": 0.2255,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 3,
      "deboosted_metrics": 8,
      "better_metrics": 2,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.34,
        "after": 1.0,
        "delta": 0.66,
        "percent_delta": 1.9412,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.434,
        "after": 0.0,
        "delta": -0.434,
        "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.184-
predicted_3B0.000-
predicted_AB3.757-
predicted_AVG0.228-
predicted_BB0.197-
predicted_H0.340-
predicted_HR0.060-
predicted_OBP0.269-
predicted_R0.434-
predicted_RBI0.230-
predicted_SLG0.407-
predicted_SO0.816-
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.5240.340
predicted_3B0.0010.001
predicted_AB7.8314.074
predicted_AVG0.2430.015
predicted_BB0.3710.174
predicted_H1.6881.348
predicted_HBP0.078-
predicted_HR0.2340.174
predicted_OBP0.2810.012
predicted_R0.8410.407
predicted_RBI0.8880.658
predicted_SLG0.4220.015
predicted_SO1.5750.759
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.5240.000
predicted_3B0.0010.000
predicted_AB7.8310.000
predicted_AVG0.216-0.027
predicted_BB0.368-0.002
predicted_H1.6920.004
predicted_HBP0.0780.000
predicted_HR0.2340.001
predicted_OBP0.251-0.030
predicted_R0.8420.001
predicted_RBI0.8900.001
predicted_SLG0.373-0.049
predicted_SO1.5850.010
4. ab_floor_and_scaling

AB rounded to 8 (raw=7.83), rates preserved: AVG=0.216 HR/AB=0.030

MetricValueDelta vs Prev Step
2B1.000-
3B0.000-
AB8.000-
BB0.000-
H2.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO2.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB8.0000.000
BB0.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
6. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B1.0000.476
predicted_3B0.000-0.001
predicted_AB8.0000.169
predicted_AVG0.2500.034
predicted_BB0.000-0.368
predicted_H2.0000.308
predicted_HR0.000-0.234
predicted_OBP0.250-0.001
predicted_R1.0000.158
predicted_RBI1.0000.110
predicted_SLG0.3750.002
predicted_SO2.0000.415
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.000-1.000
3B0.0000.000
AB4.000-4.000
BB0.0000.000
CS0.0000.000
H1.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.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.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-20.0009.0005.0000.0000.0000.0001.0000.0001.0000.45000.45000.70000.45000.00000.00000.00000.0500
last_100.203-45.0009.0005.0000.0000.0000.0001.0000.0006.0000.20000.20000.31110.20000.00000.00000.00000.1333
season0.6041-571.000138.00028.0000.00024.00091.00066.00030.000124.0000.24170.28240.41680.24170.04200.15940.05250.2172
Weighted Prediction From Real Data
MetricValue
predicted_2B0.9640
predicted_3B0.0020
predicted_AB13.0960
predicted_AVG0.2620
predicted_BB0.5950
predicted_H3.4300
predicted_HBP0.0780
predicted_HR0.4580
predicted_OBP0.2973
predicted_R1.3660
predicted_RBI1.7390
predicted_SLG0.4408
predicted_SO2.5560
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18400.96400.5243model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB3.757013.09607.8314model_form_blend
predicted_AVG0.22800.26200.2428model_form_blend
predicted_BB0.19700.59500.3706model_form_blend
predicted_H0.34003.43001.6881model_form_blend
predicted_HBP-0.07800.0780form_only
predicted_HR0.06000.45800.2336model_form_blend
predicted_OBP0.26900.29730.2813model_form_blend
predicted_R0.43401.36600.8406model_form_blend
predicted_RBI0.23001.73900.8883model_form_blend
predicted_SLG0.40700.44080.4217model_form_blend
predicted_SO0.81602.55601.5751model_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 date152
Season rows before report date152
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
H1
2B0
3B0
HR0
R0
RBI0
BB0
SO1
SF0
HBP0
season_avg0.242

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB2
Hitting_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
gameID20260520_NYM@WAS
game_typefull
mlbID668901
playerID668901
playerNameMark Vientos
pos1B
startedTrue
startingPosition1B
teamNYM
teamID18
game_date2026-05-20
sl_k_percent19.9
sl_bb_percent4.6
sl_woba0.305
sl_xwoba0.357
sl_xba0.279
sl_xslg0.525
sl_sweet_spot_percent34.5
sl_barrel_batted_rate11.5
sl_hard_hit_percent47.8
sl_exit_velocity_avg90.9
sl_launch_angle_avg13.1
sl_whiff_percent29.7
sl_swing_percent54.4
Bo Bichette (666182) · BATTER · SS · Team NYM
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 214
All-history rows before 20260521: 214
System season_avg: 0.2290
Data season_avg (2026 season-to-date): 0.2288
Diff (system - data): 0.0002
System opponent_avg: 0.2600

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1360.0000.000Hitting_2B0.1360.000-0.1360.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.5205.00010.000Hitting_AB4.1874.0000.8131.000
predicted_AVG0.2290.2000.300Hitting_AVG0.2290.250-0.029-0.050
predicted_BB0.2990.0001.000Hitting_BB0.2990.000-0.2990.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H1.0401.0003.000Hitting_H0.9581.0000.0420.000
predicted_HR0.1900.0001.000Hitting_HR0.1120.000-0.1120.000
predicted_OBP0.3020.2000.364Hitting_OBP0.2780.250-0.078-0.050
predicted_R0.5050.0002.000Hitting_R0.5051.000-0.505-1.000
predicted_RBI0.6700.0002.000Hitting_RBI0.5750.000-0.5750.000
predicted_SLG0.4200.2000.600Hitting_SLG0.3420.250-0.142-0.050
predicted_SO0.7522.0002.000Hitting_SO0.7521.0001.2481.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics9
Boosted Metrics4
Deboosted Metrics5
Better Metrics3
Worse Metrics6
Biggest Boostpredicted_SO: 0.7520 -> 2.0000 (boost 1.2480, worse)
Biggest Deboostpredicted_RBI: 0.6700 -> 0.0000 (deboost -0.6700, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend1010091predicted_AB: 4.5200 -> 10.1063 (boost 5.5863, better)-Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot22020predicted_SLG: 0.4727 -> 0.5026 (boost 0.0299, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling74334predicted_H: 2.6099 -> 3.0000 (boost 0.3901, better)predicted_2B: 0.3266 -> 0.0000 (deboost -0.3266, worse)AB rounded to 10 (raw=10.11), rates preserved: AVG=0.258 HR/AB=0.071
5consistency_constraints11010predicted_R: 1.5753 -> 2.0000 (boost 0.4247, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context33030predicted_SLG: 0.5026 -> 0.6000 (boost 0.0974, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference60606-predicted_AB: 10.0000 -> 5.0000 (deboost -5.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final30303-predicted_SLG: 0.6000 -> 0.5026 (deboost -0.0974, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "666182",
  "player_name": "Bo Bichette",
  "position": "SS",
  "team": "NYM",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.136,
        "predicted_3B": 0.0,
        "predicted_AB": 4.52,
        "predicted_AVG": 0.229,
        "predicted_BB": 0.299,
        "predicted_H": 1.04,
        "predicted_HR": 0.19,
        "predicted_OBP": 0.302,
        "predicted_R": 0.505,
        "predicted_RBI": 0.67,
        "predicted_SLG": 0.42,
        "predicted_SO": 0.752
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.3266,
        "predicted_3B": 0.0009,
        "predicted_AB": 10.1063,
        "predicted_AVG": 0.2457,
        "predicted_BB": 0.6635,
        "predicted_H": 2.6037,
        "predicted_HBP": 0.005,
        "predicted_HR": 0.7111,
        "predicted_OBP": 0.3058,
        "predicted_R": 1.5728,
        "predicted_RBI": 2.1525,
        "predicted_SLG": 0.4727,
        "predicted_SO": 1.6203
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.136,
          "after": 0.3266,
          "delta": 0.1906,
          "percent_delta": 1.4015,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.52,
          "after": 10.1063,
          "delta": 5.5863,
          "percent_delta": 1.2359,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.229,
          "after": 0.2457,
          "delta": 0.0167,
          "percent_delta": 0.0729,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.299,
          "after": 0.6635,
          "delta": 0.3645,
          "percent_delta": 1.2191,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.04,
          "after": 2.6037,
          "delta": 1.5637,
          "percent_delta": 1.5036,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.19,
          "after": 0.7111,
          "delta": 0.5211,
          "percent_delta": 2.7426,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.302,
          "after": 0.3058,
          "delta": 0.0038,
          "percent_delta": 0.0126,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.505,
          "after": 1.5728,
          "delta": 1.0678,
          "percent_delta": 2.1145,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.67,
          "after": 2.1525,
          "delta": 1.4825,
          "percent_delta": 2.2127,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.42,
          "after": 0.4727,
          "delta": 0.0527,
          "percent_delta": 0.1255,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.752,
          "after": 1.6203,
          "delta": 0.8683,
          "percent_delta": 1.1547,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 10,
        "boosted_metrics": 10,
        "deboosted_metrics": 0,
        "better_metrics": 9,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.52,
          "after": 10.1063,
          "delta": 5.5863,
          "percent_delta": 1.2359,
          "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": 2,
        "last_10": 3,
        "season": 48
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.3266,
        "predicted_3B": 0.0009,
        "predicted_AB": 10.1063,
        "predicted_AVG": 0.2582,
        "predicted_BB": 0.6595,
        "predicted_H": 2.6099,
        "predicted_HBP": 0.005,
        "predicted_HR": 0.7136,
        "predicted_OBP": 0.3037,
        "predicted_R": 1.5753,
        "predicted_RBI": 2.1559,
        "predicted_SLG": 0.5026,
        "predicted_SO": 1.63
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.3266,
          "after": 0.3266,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 10.1063,
          "after": 10.1063,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2457,
          "after": 0.2582,
          "delta": 0.0125,
          "percent_delta": 0.0509,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.6635,
          "after": 0.6595,
          "delta": -0.004,
          "percent_delta": -0.006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.6037,
          "after": 2.6099,
          "delta": 0.0062,
          "percent_delta": 0.0024,
          "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.7111,
          "after": 0.7136,
          "delta": 0.0025,
          "percent_delta": 0.0035,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3058,
          "after": 0.3037,
          "delta": -0.0021,
          "percent_delta": -0.0069,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.5728,
          "after": 1.5753,
          "delta": 0.0025,
          "percent_delta": 0.0016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 2.1525,
          "after": 2.1559,
          "delta": 0.0034,
          "percent_delta": 0.0016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4727,
          "after": 0.5026,
          "delta": 0.0299,
          "percent_delta": 0.0633,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.6203,
          "after": 1.63,
          "delta": 0.0097,
          "percent_delta": 0.006,
          "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.4727,
          "after": 0.5026,
          "delta": 0.0299,
          "percent_delta": 0.0633,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 10 (raw=10.11), rates preserved: AVG=0.258 HR/AB=0.071",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 10.0,
        "predicted_BB": 1.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.3266,
          "after": 0.0,
          "delta": -0.3266,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 10.1063,
          "after": 10.0,
          "delta": -0.1063,
          "percent_delta": -0.0105,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.6595,
          "after": 1.0,
          "delta": 0.3405,
          "percent_delta": 0.5163,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.6099,
          "after": 3.0,
          "delta": 0.3901,
          "percent_delta": 0.1495,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.005,
          "after": 0.0,
          "delta": -0.005,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.7136,
          "after": 1.0,
          "delta": 0.2864,
          "percent_delta": 0.4013,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 2.1559,
          "after": 2.0,
          "delta": -0.1559,
          "percent_delta": -0.0723,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.63,
          "after": 2.0,
          "delta": 0.37,
          "percent_delta": 0.227,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 4,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 2.6099,
          "after": 3.0,
          "delta": 0.3901,
          "percent_delta": 0.1495,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.3266,
          "after": 0.0,
          "delta": -0.3266,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 10.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 2.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": 10.0,
          "after": 10.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": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.5753,
          "after": 2.0,
          "delta": 0.4247,
          "percent_delta": 0.2696,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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_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": 1.5753,
          "after": 2.0,
          "delta": 0.4247,
          "percent_delta": 0.2696,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 10.0,
        "predicted_AVG": 0.3,
        "predicted_BB": 1.0,
        "predicted_H": 3.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.364,
        "predicted_R": 2.0,
        "predicted_RBI": 2.0,
        "predicted_SLG": 0.6,
        "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": 10.0,
          "after": 10.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2582,
          "after": 0.3,
          "delta": 0.0418,
          "percent_delta": 0.1619,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3037,
          "after": 0.364,
          "delta": 0.0603,
          "percent_delta": 0.1986,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 2.0,
          "after": 2.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_SLG",
          "before": 0.5026,
          "after": 0.6,
          "delta": 0.0974,
          "percent_delta": 0.1938,
          "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.5026,
          "after": 0.6,
          "delta": 0.0974,
          "percent_delta": 0.1938,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 10.0,
          "after": 5.0,
          "delta": -5.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 3.0,
          "after": 1.0,
          "delta": -2.0,
          "percent_delta": -0.6667,
          "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": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.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": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 0,
        "deboosted_metrics": 6,
        "better_metrics": 0,
        "worse_metrics": 6,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 10.0,
          "after": 5.0,
          "delta": -5.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.2582,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3037,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.5026,
        "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": 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.3,
          "after": 0.2582,
          "delta": -0.0418,
          "percent_delta": -0.1392,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.364,
          "after": 0.3037,
          "delta": -0.0603,
          "percent_delta": -0.1657,
          "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.6,
          "after": 0.5026,
          "delta": -0.0974,
          "percent_delta": -0.1624,
          "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.6,
          "after": 0.5026,
          "delta": -0.0974,
          "percent_delta": -0.1624,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.136,
        "after": 0.0,
        "delta": -0.136,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.52,
        "after": 5.0,
        "delta": 0.48,
        "percent_delta": 0.1062,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.229,
        "after": 0.2582,
        "delta": 0.0292,
        "percent_delta": 0.1275,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.299,
        "after": 0.0,
        "delta": -0.299,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.04,
        "after": 1.0,
        "delta": -0.04,
        "percent_delta": -0.0385,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.19,
        "after": 0.0,
        "delta": -0.19,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.302,
        "after": 0.3037,
        "delta": 0.0017,
        "percent_delta": 0.0056,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.505,
        "after": 0.0,
        "delta": -0.505,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.67,
        "after": 0.0,
        "delta": -0.67,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.42,
        "after": 0.5026,
        "delta": 0.0826,
        "percent_delta": 0.1967,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.752,
        "after": 2.0,
        "delta": 1.248,
        "percent_delta": 1.6596,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 4,
      "deboosted_metrics": 5,
      "better_metrics": 3,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.752,
        "after": 2.0,
        "delta": 1.248,
        "percent_delta": 1.6596,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.67,
        "after": 0.0,
        "delta": -0.67,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.136-
predicted_3B0.000-
predicted_AB4.520-
predicted_AVG0.229-
predicted_BB0.299-
predicted_H1.040-
predicted_HR0.190-
predicted_OBP0.302-
predicted_R0.505-
predicted_RBI0.670-
predicted_SLG0.420-
predicted_SO0.752-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.3270.191
predicted_3B0.0010.001
predicted_AB10.1065.586
predicted_AVG0.2460.017
predicted_BB0.6630.364
predicted_H2.6041.564
predicted_HBP0.005-
predicted_HR0.7110.521
predicted_OBP0.3060.004
predicted_R1.5731.068
predicted_RBI2.1521.482
predicted_SLG0.4730.053
predicted_SO1.6200.868
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.3270.000
predicted_3B0.0010.000
predicted_AB10.1060.000
predicted_AVG0.2580.012
predicted_BB0.659-0.004
predicted_H2.6100.006
predicted_HBP0.0050.000
predicted_HR0.7140.003
predicted_OBP0.304-0.002
predicted_R1.5750.002
predicted_RBI2.1560.003
predicted_SLG0.5030.030
predicted_SO1.6300.010
4. ab_floor_and_scaling

AB rounded to 10 (raw=10.11), rates preserved: AVG=0.258 HR/AB=0.071

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB10.000-
BB1.000-
H3.000-
HBP0.000-
HR1.000-
RBI2.000-
SB0.000-
SO2.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB10.0000.000
BB1.0000.000
CS0.000-
H3.0000.000
HBP0.0000.000
HR1.0000.000
R2.000-
RBI2.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
6. 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.327
predicted_3B0.000-0.001
predicted_AB10.000-0.106
predicted_AVG0.3000.042
predicted_BB1.0000.341
predicted_H3.0000.390
predicted_HR1.0000.286
predicted_OBP0.3640.060
predicted_R2.0000.425
predicted_RBI2.000-0.156
predicted_SLG0.6000.097
predicted_SO2.0000.370
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 214
Reference playing time: 4.520
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-20.0009.0000.0000.0008.00016.0009.0000.0001.0000.45000.45001.65000.45000.40000.80000.00000.0500
last_100.203-50.00024.0005.0000.00013.00031.00019.0005.0001.0000.48000.52731.36000.48000.26000.62000.10000.0200
season0.6048-896.000205.00029.0000.00024.000123.000108.00064.000161.0000.22880.27760.34150.22880.02680.13730.07140.1797
Weighted Prediction From Real Data
MetricValue
predicted_2B0.5680
predicted_3B0.0020
predicted_AB17.1810
predicted_AVG0.2668
predicted_BB1.1250
predicted_H4.5840
predicted_HBP0.0050
predicted_HR1.3710
predicted_OBP0.3107
predicted_R2.9250
predicted_RBI4.0300
predicted_SLG0.5394
predicted_SO2.7200
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.13600.56800.3266model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB4.520017.181010.1063model_form_blend
predicted_AVG0.22900.26680.2457model_form_blend
predicted_BB0.29901.12500.6635model_form_blend
predicted_H1.04004.58402.6037model_form_blend
predicted_HBP-0.00500.0050form_only
predicted_HR0.19001.37100.7111model_form_blend
predicted_OBP0.30200.31070.3058model_form_blend
predicted_R0.50502.92501.5728model_form_blend
predicted_RBI0.67004.03002.1525model_form_blend
predicted_SLG0.42000.53940.4727model_form_blend
predicted_SO0.75202.72001.6203model_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 date214
Season rows before report date214
Report year2026
Profile rows used214
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

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

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
allPositionsPlayedSS
gameID20260520_NYM@WAS
game_typefull
mlbID666182
playerID666182
playerNameBo Bichette
pos3B
startedTrue
startingPositionSS
teamNYM
teamID18
game_date2026-05-20
sl_k_percent16.0
sl_bb_percent7.0
sl_woba0.274
sl_xwoba0.333
sl_xba0.283
sl_xslg0.428
sl_sweet_spot_percent32.9
sl_barrel_batted_rate6.7
sl_hard_hit_percent45.1
sl_exit_velocity_avg90.9
sl_launch_angle_avg7.4
sl_whiff_percent16.4
sl_swing_percent52.2
Juan Soto (665742) · BATTER · LF · Team NYM
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 145
All-history rows before 20260521: 145
System season_avg: 0.3040
Data season_avg (2026 season-to-date): 0.3041
Diff (system - data): -0.0001
System opponent_avg: 0.5520

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1240.0000.000Hitting_2B0.1240.000-0.1240.000
predicted_3B0.0280.0000.000Hitting_3B0.0280.000-0.0280.000
predicted_AB4.0604.0009.000Hitting_AB3.8554.0000.1450.000
predicted_AVG0.2660.2500.333Hitting_AVG0.3040.500-0.054-0.250
predicted_BB0.6621.0001.000Hitting_BB0.6620.0000.3381.000
predicted_CS-0.0000.000BaseRunning_CS0.0280.000-0.0280.000
predicted_H1.0801.0003.000Hitting_H1.1722.000-0.172-1.000
predicted_HR0.2701.0001.000Hitting_HR0.2342.0000.766-1.000
predicted_OBP0.3820.4000.400Hitting_OBP0.4030.500-0.003-0.100
predicted_R0.6141.0002.000Hitting_R0.6142.0000.386-1.000
predicted_RBI0.6801.0002.000Hitting_RBI0.6073.0000.393-2.000
predicted_SLG0.5461.0000.667Hitting_SLG0.5332.0000.467-1.000
predicted_SO0.7170.0002.000Hitting_SO0.7170.000-0.7170.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_HR: 0.2700 -> 1.0000 (boost 0.7300, better)
Biggest Deboostpredicted_SO: 0.7170 -> 0.0000 (deboost -0.7170, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend11110101predicted_AB: 4.0600 -> 9.0756 (boost 5.0156, 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_snapshot33030predicted_AVG: 0.2940 -> 0.3147 (boost 0.0207, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling84435predicted_RBI: 1.6653 -> 2.0000 (boost 0.3347, better)predicted_BB: 1.3970 -> 1.0000 (deboost -0.3970, worse)AB rounded to 9 (raw=9.08), rates preserved: AVG=0.315 HR/AB=0.084
5bvp_blend00000--Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.800)
6consistency_constraints11010predicted_R: 1.7292 -> 2.0000 (boost 0.2708, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context32121predicted_SLG: 0.6061 -> 0.6670 (boost 0.0609, better)predicted_OBP: 0.4061 -> 0.4000 (deboost -0.0061, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference50514-predicted_AB: 9.0000 -> 4.0000 (deboost -5.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final31212predicted_OBP: 0.4000 -> 0.4061 (boost 0.0061, better)predicted_SLG: 0.6670 -> 0.6061 (deboost -0.0609, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "665742",
  "player_name": "Juan Soto",
  "position": "LF",
  "team": "NYM",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.124,
        "predicted_3B": 0.028,
        "predicted_AB": 4.06,
        "predicted_AVG": 0.266,
        "predicted_BB": 0.662,
        "predicted_H": 1.08,
        "predicted_HR": 0.27,
        "predicted_OBP": 0.382,
        "predicted_R": 0.614,
        "predicted_RBI": 0.68,
        "predicted_SLG": 0.546,
        "predicted_SO": 0.717
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2587,
        "predicted_3B": 0.0555,
        "predicted_AB": 9.0756,
        "predicted_AVG": 0.294,
        "predicted_BB": 1.4054,
        "predicted_H": 2.8492,
        "predicted_HBP": 0.006,
        "predicted_HR": 0.7558,
        "predicted_OBP": 0.3973,
        "predicted_R": 1.7264,
        "predicted_RBI": 1.6626,
        "predicted_SLG": 0.5855,
        "predicted_SO": 1.6921
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.124,
          "after": 0.2587,
          "delta": 0.1347,
          "percent_delta": 1.0863,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.028,
          "after": 0.0555,
          "delta": 0.0275,
          "percent_delta": 0.9821,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.06,
          "after": 9.0756,
          "delta": 5.0156,
          "percent_delta": 1.2354,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.266,
          "after": 0.294,
          "delta": 0.028,
          "percent_delta": 0.1053,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.662,
          "after": 1.4054,
          "delta": 0.7434,
          "percent_delta": 1.123,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.08,
          "after": 2.8492,
          "delta": 1.7692,
          "percent_delta": 1.6381,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.27,
          "after": 0.7558,
          "delta": 0.4858,
          "percent_delta": 1.7993,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.382,
          "after": 0.3973,
          "delta": 0.0153,
          "percent_delta": 0.0401,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.614,
          "after": 1.7264,
          "delta": 1.1124,
          "percent_delta": 1.8117,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.68,
          "after": 1.6626,
          "delta": 0.9826,
          "percent_delta": 1.445,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.546,
          "after": 0.5855,
          "delta": 0.0395,
          "percent_delta": 0.0723,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.717,
          "after": 1.6921,
          "delta": 0.9751,
          "percent_delta": 1.36,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 11,
        "boosted_metrics": 11,
        "deboosted_metrics": 0,
        "better_metrics": 10,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.06,
          "after": 9.0756,
          "delta": 5.0156,
          "percent_delta": 1.2354,
          "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": 2,
        "last_10": 3,
        "season": 33
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2587,
        "predicted_3B": 0.0555,
        "predicted_AB": 9.0756,
        "predicted_AVG": 0.3147,
        "predicted_BB": 1.397,
        "predicted_H": 2.856,
        "predicted_HBP": 0.006,
        "predicted_HR": 0.7584,
        "predicted_OBP": 0.4061,
        "predicted_R": 1.7292,
        "predicted_RBI": 1.6653,
        "predicted_SLG": 0.6061,
        "predicted_SO": 1.7023
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2587,
          "after": 0.2587,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0555,
          "after": 0.0555,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.0756,
          "after": 9.0756,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.294,
          "after": 0.3147,
          "delta": 0.0207,
          "percent_delta": 0.0704,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.4054,
          "after": 1.397,
          "delta": -0.0084,
          "percent_delta": -0.006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.8492,
          "after": 2.856,
          "delta": 0.0068,
          "percent_delta": 0.0024,
          "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.7558,
          "after": 0.7584,
          "delta": 0.0026,
          "percent_delta": 0.0034,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3973,
          "after": 0.4061,
          "delta": 0.0088,
          "percent_delta": 0.0221,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.7264,
          "after": 1.7292,
          "delta": 0.0028,
          "percent_delta": 0.0016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.6626,
          "after": 1.6653,
          "delta": 0.0027,
          "percent_delta": 0.0016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5855,
          "after": 0.6061,
          "delta": 0.0206,
          "percent_delta": 0.0352,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.6921,
          "after": 1.7023,
          "delta": 0.0102,
          "percent_delta": 0.006,
          "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.294,
          "after": 0.3147,
          "delta": 0.0207,
          "percent_delta": 0.0704,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 9 (raw=9.08), rates preserved: AVG=0.315 HR/AB=0.084",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 1.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2587,
          "after": 0.0,
          "delta": -0.2587,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0555,
          "after": 0.0,
          "delta": -0.0555,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 9.0756,
          "after": 9.0,
          "delta": -0.0756,
          "percent_delta": -0.0083,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.397,
          "after": 1.0,
          "delta": -0.397,
          "percent_delta": -0.2842,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.856,
          "after": 3.0,
          "delta": 0.144,
          "percent_delta": 0.0504,
          "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.7584,
          "after": 1.0,
          "delta": 0.2416,
          "percent_delta": 0.3186,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.6653,
          "after": 2.0,
          "delta": 0.3347,
          "percent_delta": 0.201,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.7023,
          "after": 2.0,
          "delta": 0.2977,
          "percent_delta": 0.1749,
          "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": 1.6653,
          "after": 2.0,
          "delta": 0.3347,
          "percent_delta": 0.201,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.397,
          "after": 1.0,
          "delta": -0.397,
          "percent_delta": -0.2842,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.800)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 1.0,
        "predicted_H": 3.0,
        "predicted_HR": 1.0,
        "predicted_RBI": 2.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": 9.0,
          "after": 9.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": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9429,
        "bvp": 0.0571
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 2.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": 9.0,
          "after": 9.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": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.7292,
          "after": 2.0,
          "delta": 0.2708,
          "percent_delta": 0.1566,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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_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": 1.7292,
          "after": 2.0,
          "delta": 0.2708,
          "percent_delta": 0.1566,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_AVG": 0.333,
        "predicted_BB": 1.0,
        "predicted_H": 3.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.4,
        "predicted_R": 2.0,
        "predicted_RBI": 2.0,
        "predicted_SLG": 0.667,
        "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": 9.0,
          "after": 9.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3147,
          "after": 0.333,
          "delta": 0.0183,
          "percent_delta": 0.0582,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.4061,
          "after": 0.4,
          "delta": -0.0061,
          "percent_delta": -0.015,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 2.0,
          "after": 2.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_SLG",
          "before": 0.6061,
          "after": 0.667,
          "delta": 0.0609,
          "percent_delta": 0.1005,
          "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.6061,
          "after": 0.667,
          "delta": 0.0609,
          "percent_delta": 0.1005,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.4061,
          "after": 0.4,
          "delta": -0.0061,
          "percent_delta": -0.015,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 4.0,
          "delta": -5.0,
          "percent_delta": -0.5556,
          "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": 1.0,
          "delta": -2.0,
          "percent_delta": -0.6667,
          "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": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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": 0,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 4.0,
          "delta": -5.0,
          "percent_delta": -0.5556,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.3147,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_LF": 0.0,
        "predicted_OBP": 0.4061,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.6061,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.333,
          "after": 0.3147,
          "delta": -0.0183,
          "percent_delta": -0.055,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.4,
          "after": 0.4061,
          "delta": 0.0061,
          "percent_delta": 0.0153,
          "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.667,
          "after": 0.6061,
          "delta": -0.0609,
          "percent_delta": -0.0912,
          "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_OBP",
          "before": 0.4,
          "after": 0.4061,
          "delta": 0.0061,
          "percent_delta": 0.0153,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.667,
          "after": 0.6061,
          "delta": -0.0609,
          "percent_delta": -0.0912,
          "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.028,
        "after": 0.0,
        "delta": -0.028,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.06,
        "after": 4.0,
        "delta": -0.06,
        "percent_delta": -0.0148,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.266,
        "after": 0.3147,
        "delta": 0.0487,
        "percent_delta": 0.1831,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.662,
        "after": 1.0,
        "delta": 0.338,
        "percent_delta": 0.5106,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.08,
        "after": 1.0,
        "delta": -0.08,
        "percent_delta": -0.0741,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.27,
        "after": 1.0,
        "delta": 0.73,
        "percent_delta": 2.7037,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.382,
        "after": 0.4061,
        "delta": 0.0241,
        "percent_delta": 0.0631,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.614,
        "after": 1.0,
        "delta": 0.386,
        "percent_delta": 0.6287,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.68,
        "after": 1.0,
        "delta": 0.32,
        "percent_delta": 0.4706,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.546,
        "after": 0.6061,
        "delta": 0.0601,
        "percent_delta": 0.1101,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.717,
        "after": 0.0,
        "delta": -0.717,
        "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_HR",
        "before": 0.27,
        "after": 1.0,
        "delta": 0.73,
        "percent_delta": 2.7037,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.717,
        "after": 0.0,
        "delta": -0.717,
        "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.028-
predicted_AB4.060-
predicted_AVG0.266-
predicted_BB0.662-
predicted_H1.080-
predicted_HR0.270-
predicted_OBP0.382-
predicted_R0.614-
predicted_RBI0.680-
predicted_SLG0.546-
predicted_SO0.717-
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.2590.135
predicted_3B0.0560.028
predicted_AB9.0765.016
predicted_AVG0.2940.028
predicted_BB1.4050.743
predicted_H2.8491.769
predicted_HBP0.006-
predicted_HR0.7560.486
predicted_OBP0.3970.015
predicted_R1.7261.112
predicted_RBI1.6630.983
predicted_SLG0.5860.039
predicted_SO1.6920.975
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.2590.000
predicted_3B0.0560.000
predicted_AB9.0760.000
predicted_AVG0.3150.021
predicted_BB1.397-0.008
predicted_H2.8560.007
predicted_HBP0.0060.000
predicted_HR0.7580.003
predicted_OBP0.4060.009
predicted_R1.7290.003
predicted_RBI1.6650.003
predicted_SLG0.6060.021
predicted_SO1.7020.010
4. ab_floor_and_scaling

AB rounded to 9 (raw=9.08), rates preserved: AVG=0.315 HR/AB=0.084

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB9.000-
BB1.000-
H3.000-
HBP0.000-
HR1.000-
RBI2.000-
SB0.000-
SO2.000-
5. bvp_blend

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB9.0000.000
BB1.0000.000
H3.0000.000
HR1.0000.000
RBI2.0000.000
SO2.0000.000
6. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB9.0000.000
BB1.0000.000
CS0.000-
H3.0000.000
HBP0.0000.000
HR1.0000.000
R2.000-
RBI2.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
7. 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.259
predicted_3B0.000-0.056
predicted_AB9.000-0.076
predicted_AVG0.3330.018
predicted_BB1.000-0.397
predicted_H3.0000.144
predicted_HR1.0000.242
predicted_OBP0.400-0.006
predicted_R2.0000.271
predicted_RBI2.0000.335
predicted_SLG0.6670.061
predicted_SO2.0000.298
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.000-5.000
BB1.0000.000
CS0.0000.000
H1.000-2.000
HBP0.0000.000
HR1.0000.000
PA5.000-
R1.000-1.000
RBI1.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: 145
Reference playing time: 4.060
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-20.00010.0000.0000.0006.0007.00010.0000.0004.0000.50000.50001.40000.50000.30000.35000.00000.2000
last_100.203-45.00020.0000.0000.0006.00017.00015.00010.0009.0000.44440.54550.84440.44440.13330.37780.22220.2000
season0.6033-559.000170.00018.0004.00034.00088.00089.00096.000104.0000.30410.40300.53310.30410.06080.15740.17170.1860
Weighted Prediction From Real Data
MetricValue
predicted_2B0.4320
predicted_3B0.0910
predicted_AB15.5300
predicted_AVG0.3300
predicted_BB2.3620
predicted_H5.1260
predicted_HBP0.0060
predicted_HR1.3810
predicted_OBP0.4170
predicted_R3.1580
predicted_RBI2.9270
predicted_SLG0.6363
predicted_SO2.9470
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.12400.43200.2587model_form_blend
predicted_3B0.02800.09100.0555model_form_blend
predicted_AB4.060015.53009.0756model_form_blend
predicted_AVG0.26600.33000.2940model_form_blend
predicted_BB0.66202.36201.4054model_form_blend
predicted_H1.08005.12602.8492model_form_blend
predicted_HBP-0.00600.0060form_only
predicted_HR0.27001.38100.7558model_form_blend
predicted_OBP0.38200.41700.3973model_form_blend
predicted_R0.61403.15801.7264model_form_blend
predicted_RBI0.68002.92701.6626model_form_blend
predicted_SLG0.54600.63630.5855model_form_blend
predicted_SO0.71702.94701.6921model_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 date145
Season rows before report date145
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
AB4
H1
2B0
3B0
HR1
R1
RBI1
BB1
SO0
SF0
HBP0
season_avg0.304

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_RBI3
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB8
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
gameID20260520_NYM@WAS
game_typefull
mlbID665742
playerID665742
playerNameJuan Soto
posLF
startedTrue
startingPositionLF
teamNYM
teamID18
game_date2026-05-20
sl_k_percent16.0
sl_bb_percent13.9
sl_woba0.385
sl_xwoba0.385
sl_xba0.267
sl_xslg0.561
sl_sweet_spot_percent27.7
sl_barrel_batted_rate18.0
sl_hard_hit_percent49.5
sl_exit_velocity_avg92.6
sl_launch_angle_avg14.8
sl_whiff_percent21.6
sl_swing_percent41.9
Brett Baty (683146) · BATTER · 3B · Team NYM
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 163
All-history rows before 20260521: 163
System season_avg: 0.2450
Data season_avg (2026 season-to-date): 0.2453
Diff (system - data): -0.0003
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.1890.0000.000Hitting_2B0.1840.000-0.1840.000
predicted_3B0.0310.0000.000Hitting_3B0.0310.000-0.0310.000
predicted_AB3.6674.0008.000Hitting_AB3.5772.0000.4232.000
predicted_AVG0.2470.2500.250Hitting_AVG0.2450.5000.005-0.250
predicted_BB0.3210.0001.000Hitting_BB0.3441.000-0.344-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0250.000-0.0250.000
predicted_H0.8001.0002.000Hitting_H0.8771.0000.1230.000
predicted_HR0.1101.0000.000Hitting_HR0.0860.0000.9141.000
predicted_OBP0.3150.2500.333Hitting_OBP0.3140.667-0.064-0.417
predicted_R0.5351.0001.000Hitting_R0.5340.0000.4661.000
predicted_RBI0.5101.0001.000Hitting_RBI0.5401.0000.4600.000
predicted_SLG0.4021.0000.250Hitting_SLG0.3860.5000.6140.500
predicted_SO1.1011.0002.000Hitting_SO1.0740.000-0.0741.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics11
Boosted Metrics5
Deboosted Metrics6
Better Metrics6
Worse Metrics5
Biggest Boostpredicted_HR: 0.1100 -> 1.0000 (boost 0.8900, better)
Biggest Deboostpredicted_BB: 0.3210 -> 0.0000 (deboost -0.3210, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend118374predicted_AB: 3.6670 -> 7.7592 (boost 4.0922, better)predicted_SLG: 0.4020 -> 0.3837 (deboost -0.0183, worse)Final model 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.3014 -> 0.2820 (deboost -0.0194, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling93645predicted_BB: 0.6336 -> 1.0000 (boost 0.3664, better)predicted_2B: 0.3520 -> 0.0000 (deboost -0.3520, worse)AB rounded to 8 (raw=7.76), rates preserved: AVG=0.223 HR/AB=0.027
5consistency_constraints10101-predicted_R: 1.0594 -> 1.0000 (deboost -0.0594, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context32121predicted_OBP: 0.2820 -> 0.3330 (boost 0.0510, better)predicted_SLG: 0.3654 -> 0.2500 (deboost -0.1154, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference51423predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 8.0000 -> 4.0000 (deboost -4.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final31212predicted_SLG: 0.2500 -> 0.3654 (boost 0.1154, better)predicted_OBP: 0.3330 -> 0.2820 (deboost -0.0510, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "683146",
  "player_name": "Brett Baty",
  "position": "3B",
  "team": "NYM",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.189,
        "predicted_3B": 0.031,
        "predicted_AB": 3.667,
        "predicted_AVG": 0.247,
        "predicted_BB": 0.321,
        "predicted_H": 0.8,
        "predicted_HR": 0.11,
        "predicted_OBP": 0.315,
        "predicted_R": 0.535,
        "predicted_RBI": 0.51,
        "predicted_SLG": 0.402,
        "predicted_SO": 1.101
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.352,
        "predicted_3B": 0.0572,
        "predicted_AB": 7.7592,
        "predicted_AVG": 0.2372,
        "predicted_BB": 0.6374,
        "predicted_H": 1.7291,
        "predicted_HBP": 0.094,
        "predicted_HR": 0.211,
        "predicted_OBP": 0.3014,
        "predicted_R": 1.0577,
        "predicted_RBI": 1.1393,
        "predicted_SLG": 0.3837,
        "predicted_SO": 2.291
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.189,
          "after": 0.352,
          "delta": 0.163,
          "percent_delta": 0.8624,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.031,
          "after": 0.0572,
          "delta": 0.0262,
          "percent_delta": 0.8452,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.667,
          "after": 7.7592,
          "delta": 4.0922,
          "percent_delta": 1.116,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.247,
          "after": 0.2372,
          "delta": -0.0098,
          "percent_delta": -0.0397,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.321,
          "after": 0.6374,
          "delta": 0.3164,
          "percent_delta": 0.9857,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8,
          "after": 1.7291,
          "delta": 0.9291,
          "percent_delta": 1.1614,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.11,
          "after": 0.211,
          "delta": 0.101,
          "percent_delta": 0.9182,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.315,
          "after": 0.3014,
          "delta": -0.0136,
          "percent_delta": -0.0432,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.535,
          "after": 1.0577,
          "delta": 0.5227,
          "percent_delta": 0.977,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.51,
          "after": 1.1393,
          "delta": 0.6293,
          "percent_delta": 1.2339,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.402,
          "after": 0.3837,
          "delta": -0.0183,
          "percent_delta": -0.0455,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.101,
          "after": 2.291,
          "delta": 1.19,
          "percent_delta": 1.0808,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 11,
        "boosted_metrics": 8,
        "deboosted_metrics": 3,
        "better_metrics": 7,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.667,
          "after": 7.7592,
          "delta": 4.0922,
          "percent_delta": 1.116,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.402,
          "after": 0.3837,
          "delta": -0.0183,
          "percent_delta": -0.0455,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 2,
        "last_10": 3,
        "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.352,
        "predicted_3B": 0.0572,
        "predicted_AB": 7.7592,
        "predicted_AVG": 0.2234,
        "predicted_BB": 0.6336,
        "predicted_H": 1.7332,
        "predicted_HBP": 0.094,
        "predicted_HR": 0.2117,
        "predicted_OBP": 0.282,
        "predicted_R": 1.0594,
        "predicted_RBI": 1.1411,
        "predicted_SLG": 0.3654,
        "predicted_SO": 2.3047
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.352,
          "after": 0.352,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0572,
          "after": 0.0572,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.7592,
          "after": 7.7592,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2372,
          "after": 0.2234,
          "delta": -0.0138,
          "percent_delta": -0.0582,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.6374,
          "after": 0.6336,
          "delta": -0.0038,
          "percent_delta": -0.006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.7291,
          "after": 1.7332,
          "delta": 0.0041,
          "percent_delta": 0.0024,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.094,
          "after": 0.094,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.211,
          "after": 0.2117,
          "delta": 0.0007,
          "percent_delta": 0.0033,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3014,
          "after": 0.282,
          "delta": -0.0194,
          "percent_delta": -0.0644,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0577,
          "after": 1.0594,
          "delta": 0.0017,
          "percent_delta": 0.0016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.1393,
          "after": 1.1411,
          "delta": 0.0018,
          "percent_delta": 0.0016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3837,
          "after": 0.3654,
          "delta": -0.0183,
          "percent_delta": -0.0477,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.291,
          "after": 2.3047,
          "delta": 0.0137,
          "percent_delta": 0.006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3014,
          "after": 0.282,
          "delta": -0.0194,
          "percent_delta": -0.0644,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 8 (raw=7.76), rates preserved: AVG=0.223 HR/AB=0.027",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.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.352,
          "after": 0.0,
          "delta": -0.352,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0572,
          "after": 0.0,
          "delta": -0.0572,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 7.7592,
          "after": 8.0,
          "delta": 0.2408,
          "percent_delta": 0.031,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.6336,
          "after": 1.0,
          "delta": 0.3664,
          "percent_delta": 0.5783,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.7332,
          "after": 2.0,
          "delta": 0.2668,
          "percent_delta": 0.1539,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.094,
          "after": 0.0,
          "delta": -0.094,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2117,
          "after": 0.0,
          "delta": -0.2117,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.1411,
          "after": 1.0,
          "delta": -0.1411,
          "percent_delta": -0.1237,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.3047,
          "after": 2.0,
          "delta": -0.3047,
          "percent_delta": -0.1322,
          "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_BB",
          "before": 0.6336,
          "after": 1.0,
          "delta": 0.3664,
          "percent_delta": 0.5783,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.352,
          "after": 0.0,
          "delta": -0.352,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.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": 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": 8.0,
          "after": 8.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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0594,
          "after": 1.0,
          "delta": -0.0594,
          "percent_delta": -0.0561,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.0594,
          "after": 1.0,
          "delta": -0.0594,
          "percent_delta": -0.0561,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.333,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.25,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2234,
          "after": 0.25,
          "delta": 0.0266,
          "percent_delta": 0.1191,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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.282,
          "after": 0.333,
          "delta": 0.051,
          "percent_delta": 0.1809,
          "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.3654,
          "after": 0.25,
          "delta": -0.1154,
          "percent_delta": -0.3158,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.282,
          "after": 0.333,
          "delta": 0.051,
          "percent_delta": 0.1809,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3654,
          "after": 0.25,
          "delta": -0.1154,
          "percent_delta": -0.3158,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 4.0,
          "delta": -4.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 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": 1,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 4.0,
          "delta": -4.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2234,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.282,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3654,
        "predicted_SO": 1.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2234,
          "delta": -0.0266,
          "percent_delta": -0.1065,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.333,
          "after": 0.282,
          "delta": -0.051,
          "percent_delta": -0.1531,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.3654,
          "delta": 0.1154,
          "percent_delta": 0.4614,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.3654,
          "delta": 0.1154,
          "percent_delta": 0.4614,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.333,
          "after": 0.282,
          "delta": -0.051,
          "percent_delta": -0.1531,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.189,
        "after": 0.0,
        "delta": -0.189,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.031,
        "after": 0.0,
        "delta": -0.031,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.667,
        "after": 4.0,
        "delta": 0.333,
        "percent_delta": 0.0908,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.247,
        "after": 0.2234,
        "delta": -0.0236,
        "percent_delta": -0.0955,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.321,
        "after": 0.0,
        "delta": -0.321,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.8,
        "after": 1.0,
        "delta": 0.2,
        "percent_delta": 0.25,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.11,
        "after": 1.0,
        "delta": 0.89,
        "percent_delta": 8.0909,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.315,
        "after": 0.282,
        "delta": -0.033,
        "percent_delta": -0.1048,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.535,
        "after": 1.0,
        "delta": 0.465,
        "percent_delta": 0.8692,
        "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.402,
        "after": 0.3654,
        "delta": -0.0366,
        "percent_delta": -0.091,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.101,
        "after": 1.0,
        "delta": -0.101,
        "percent_delta": -0.0917,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 5,
      "deboosted_metrics": 6,
      "better_metrics": 6,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_HR",
        "before": 0.11,
        "after": 1.0,
        "delta": 0.89,
        "percent_delta": 8.0909,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.321,
        "after": 0.0,
        "delta": -0.321,
        "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.189-
predicted_3B0.031-
predicted_AB3.667-
predicted_AVG0.247-
predicted_BB0.321-
predicted_H0.800-
predicted_HR0.110-
predicted_OBP0.315-
predicted_R0.535-
predicted_RBI0.510-
predicted_SLG0.402-
predicted_SO1.101-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.3520.163
predicted_3B0.0570.026
predicted_AB7.7594.092
predicted_AVG0.237-0.010
predicted_BB0.6370.316
predicted_H1.7290.929
predicted_HBP0.094-
predicted_HR0.2110.101
predicted_OBP0.301-0.014
predicted_R1.0580.523
predicted_RBI1.1390.629
predicted_SLG0.384-0.018
predicted_SO2.2911.190
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.3520.000
predicted_3B0.0570.000
predicted_AB7.7590.000
predicted_AVG0.223-0.014
predicted_BB0.634-0.004
predicted_H1.7330.004
predicted_HBP0.0940.000
predicted_HR0.2120.001
predicted_OBP0.282-0.019
predicted_R1.0590.002
predicted_RBI1.1410.002
predicted_SLG0.365-0.018
predicted_SO2.3050.014
4. ab_floor_and_scaling

AB rounded to 8 (raw=7.76), rates preserved: AVG=0.223 HR/AB=0.027

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB8.000-
BB1.000-
H2.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO2.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB8.0000.000
BB1.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
6. 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.352
predicted_3B0.000-0.057
predicted_AB8.0000.241
predicted_AVG0.2500.027
predicted_BB1.0000.366
predicted_H2.0000.267
predicted_HR0.000-0.212
predicted_OBP0.3330.051
predicted_R1.000-0.059
predicted_RBI1.000-0.141
predicted_SLG0.250-0.115
predicted_SO2.000-0.305
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.000-4.000
BB0.000-1.000
CS0.0000.000
H1.000-1.000
HBP0.0000.000
HR1.0001.000
PA4.000-
R1.0000.000
RBI1.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: 159
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-18.0001.0000.0000.0000.0001.0000.0001.0004.0000.05560.10530.05560.05560.00000.05560.05560.2222
last_100.203-48.00011.0000.0000.0005.00016.00010.0001.00019.0000.22920.24490.54170.22920.10420.33330.02080.3958
season0.6042-583.000143.00030.0005.00014.00088.00085.00051.000175.0000.24530.30850.38590.24530.02400.15090.08750.3002
Weighted Prediction From Real Data
MetricValue
predicted_2B0.5620
predicted_3B0.0910
predicted_AB13.0310
predicted_AVG0.2245
predicted_BB1.0450
predicted_H2.9260
predicted_HBP0.0940
predicted_HR0.3410
predicted_OBP0.2838
predicted_R1.7310
predicted_RBI1.9500
predicted_SLG0.3601
predicted_SO3.8240
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18900.56200.3520model_form_blend
predicted_3B0.03100.09100.0572model_form_blend
predicted_AB3.667013.03107.7592model_form_blend
predicted_AVG0.24700.22450.2372model_form_blend
predicted_BB0.32101.04500.6374model_form_blend
predicted_H0.80002.92601.7291model_form_blend
predicted_HBP-0.09400.0940form_only
predicted_HR0.11000.34100.2110model_form_blend
predicted_OBP0.31500.28380.3014model_form_blend
predicted_R0.53501.73101.0577model_form_blend
predicted_RBI0.51001.95001.1393model_form_blend
predicted_SLG0.40200.36010.3837model_form_blend
predicted_SO1.10103.82402.2910model_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 date163
Season rows before report date163
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
PA4
AB4
H1
2B0
3B0
HR1
R1
RBI1
BB0
SO1
SF0
HBP0
season_avg0.245

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB2
Hitting_AVG0.5
Hitting_BB1
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB1
Hitting_battingOrder6
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed3B
gameID20260520_NYM@WAS
game_typefull
mlbID683146
playerID683146
playerNameBrett Baty
pos3B
startedTrue
startingPosition3B
teamNYM
teamID18
game_date2026-05-20
sl_k_percent27.8
sl_bb_percent8.6
sl_woba0.293
sl_xwoba0.31
sl_xba0.239
sl_xslg0.4
sl_sweet_spot_percent33.7
sl_barrel_batted_rate9.9
sl_hard_hit_percent40.6
sl_exit_velocity_avg90.5
sl_launch_angle_avg9.0
sl_whiff_percent28.3
sl_swing_percent45.6
Marcus Semien (543760) · BATTER · 2B · Team NYM
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 194
All-history rows before 20260521: 194
System season_avg: 0.2420
Data season_avg (2026 season-to-date): 0.2417
Diff (system - data): 0.0003
System opponent_avg: 0.3690

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1600.0000.000Hitting_2B0.1600.000-0.1600.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.7114.0008.000Hitting_AB3.7114.0000.2890.000
predicted_AVG0.2290.0000.250Hitting_AVG0.2420.000-0.2420.000
predicted_BB0.2680.0001.000Hitting_BB0.2680.000-0.2680.000
predicted_CS-0.0000.000BaseRunning_CS0.0410.000-0.0410.000
predicted_H0.8200.0002.000Hitting_H0.8970.000-0.8970.000
predicted_HR0.0800.0000.000Hitting_HR0.0720.000-0.0720.000
predicted_OBP0.2770.0000.333Hitting_OBP0.2910.000-0.2910.000
predicted_R0.4070.0001.000Hitting_R0.4070.000-0.4070.000
predicted_RBI0.4400.0001.000Hitting_RBI0.4380.000-0.4380.000
predicted_SB-0.0000.000BaseRunning_SB0.1030.000-0.1030.000
predicted_SLG0.3450.0000.250Hitting_SLG0.3430.000-0.3430.000
predicted_SO0.8040.0002.000Hitting_SO0.8040.000-0.8040.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_AB: 3.7110 -> 4.0000 (boost 0.2890, 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_blend109182predicted_AB: 3.7110 -> 8.1307 (boost 4.4197, better)predicted_SLG: 0.3450 -> 0.3379 (deboost -0.0071, worse)Final model 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.3379 -> 0.3297 (deboost -0.0082, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling83526predicted_BB: 0.5153 -> 1.0000 (boost 0.4847, better)predicted_2B: 0.3098 -> 0.0000 (deboost -0.3098, worse)AB rounded to 8 (raw=8.13), rates preserved: AVG=0.237 HR/AB=0.018
5consistency_constraints11010predicted_R: 0.8305 -> 1.0000 (boost 0.1695, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context32121predicted_OBP: 0.2825 -> 0.3330 (boost 0.0505, better)predicted_SLG: 0.3297 -> 0.2500 (deboost -0.0797, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference60615-predicted_AB: 8.0000 -> 4.0000 (deboost -4.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final31212predicted_SLG: 0.2500 -> 0.3297 (boost 0.0797, better)predicted_OBP: 0.3330 -> 0.2825 (deboost -0.0505, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "543760",
  "player_name": "Marcus Semien",
  "position": "2B",
  "team": "NYM",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.16,
        "predicted_3B": 0.0,
        "predicted_AB": 3.711,
        "predicted_AVG": 0.229,
        "predicted_BB": 0.268,
        "predicted_H": 0.82,
        "predicted_HR": 0.08,
        "predicted_OBP": 0.277,
        "predicted_R": 0.407,
        "predicted_RBI": 0.44,
        "predicted_SLG": 0.345,
        "predicted_SO": 0.804
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.3098,
        "predicted_3B": 0.0009,
        "predicted_AB": 8.1307,
        "predicted_AVG": 0.2346,
        "predicted_BB": 0.5184,
        "predicted_H": 1.9222,
        "predicted_HBP": 0.066,
        "predicted_HR": 0.1468,
        "predicted_OBP": 0.2799,
        "predicted_R": 0.8292,
        "predicted_RBI": 1.1218,
        "predicted_SLG": 0.3379,
        "predicted_SO": 1.8245
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.16,
          "after": 0.3098,
          "delta": 0.1498,
          "percent_delta": 0.9363,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.711,
          "after": 8.1307,
          "delta": 4.4197,
          "percent_delta": 1.191,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.229,
          "after": 0.2346,
          "delta": 0.0056,
          "percent_delta": 0.0245,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.268,
          "after": 0.5184,
          "delta": 0.2504,
          "percent_delta": 0.9343,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.82,
          "after": 1.9222,
          "delta": 1.1022,
          "percent_delta": 1.3441,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.08,
          "after": 0.1468,
          "delta": 0.0668,
          "percent_delta": 0.835,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.277,
          "after": 0.2799,
          "delta": 0.0029,
          "percent_delta": 0.0105,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.407,
          "after": 0.8292,
          "delta": 0.4222,
          "percent_delta": 1.0373,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.44,
          "after": 1.1218,
          "delta": 0.6818,
          "percent_delta": 1.5495,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.345,
          "after": 0.3379,
          "delta": -0.0071,
          "percent_delta": -0.0206,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.804,
          "after": 1.8245,
          "delta": 1.0205,
          "percent_delta": 1.2693,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 10,
        "boosted_metrics": 9,
        "deboosted_metrics": 1,
        "better_metrics": 8,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.711,
          "after": 8.1307,
          "delta": 4.4197,
          "percent_delta": 1.191,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.345,
          "after": 0.3379,
          "delta": -0.0071,
          "percent_delta": -0.0206,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 2,
        "last_10": 3,
        "season": 48
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.3098,
        "predicted_3B": 0.0009,
        "predicted_AB": 8.1307,
        "predicted_AVG": 0.237,
        "predicted_BB": 0.5153,
        "predicted_H": 1.9268,
        "predicted_HBP": 0.066,
        "predicted_HR": 0.1473,
        "predicted_OBP": 0.2825,
        "predicted_R": 0.8305,
        "predicted_RBI": 1.1236,
        "predicted_SLG": 0.3297,
        "predicted_SO": 1.8354
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.3098,
          "after": 0.3098,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.1307,
          "after": 8.1307,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2346,
          "after": 0.237,
          "delta": 0.0024,
          "percent_delta": 0.0102,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.5184,
          "after": 0.5153,
          "delta": -0.0031,
          "percent_delta": -0.006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.9222,
          "after": 1.9268,
          "delta": 0.0046,
          "percent_delta": 0.0024,
          "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.1468,
          "after": 0.1473,
          "delta": 0.0005,
          "percent_delta": 0.0034,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2799,
          "after": 0.2825,
          "delta": 0.0026,
          "percent_delta": 0.0093,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.8292,
          "after": 0.8305,
          "delta": 0.0013,
          "percent_delta": 0.0016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.1218,
          "after": 1.1236,
          "delta": 0.0018,
          "percent_delta": 0.0016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3379,
          "after": 0.3297,
          "delta": -0.0082,
          "percent_delta": -0.0243,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.8245,
          "after": 1.8354,
          "delta": 0.0109,
          "percent_delta": 0.006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3379,
          "after": 0.3297,
          "delta": -0.0082,
          "percent_delta": -0.0243,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 8 (raw=8.13), rates preserved: AVG=0.237 HR/AB=0.018",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.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.3098,
          "after": 0.0,
          "delta": -0.3098,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.1307,
          "after": 8.0,
          "delta": -0.1307,
          "percent_delta": -0.0161,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5153,
          "after": 1.0,
          "delta": 0.4847,
          "percent_delta": 0.9406,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.9268,
          "after": 2.0,
          "delta": 0.0732,
          "percent_delta": 0.038,
          "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.1473,
          "after": 0.0,
          "delta": -0.1473,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.1236,
          "after": 1.0,
          "delta": -0.1236,
          "percent_delta": -0.11,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.8354,
          "after": 2.0,
          "delta": 0.1646,
          "percent_delta": 0.0897,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 3,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.5153,
          "after": 1.0,
          "delta": 0.4847,
          "percent_delta": 0.9406,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.3098,
          "after": 0.0,
          "delta": -0.3098,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.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": 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": 8.0,
          "after": 8.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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.8305,
          "after": 1.0,
          "delta": 0.1695,
          "percent_delta": 0.2041,
          "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.8305,
          "after": 1.0,
          "delta": 0.1695,
          "percent_delta": 0.2041,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.333,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.25,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.237,
          "after": 0.25,
          "delta": 0.013,
          "percent_delta": 0.0549,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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.2825,
          "after": 0.333,
          "delta": 0.0505,
          "percent_delta": 0.1788,
          "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.3297,
          "after": 0.25,
          "delta": -0.0797,
          "percent_delta": -0.2417,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.2825,
          "after": 0.333,
          "delta": 0.0505,
          "percent_delta": 0.1788,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3297,
          "after": 0.25,
          "delta": -0.0797,
          "percent_delta": -0.2417,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 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": 8.0,
          "after": 4.0,
          "delta": -4.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.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": 0.0,
          "delta": -2.0,
          "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_AB",
          "before": 8.0,
          "after": 4.0,
          "delta": -4.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.237,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2825,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3297,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.237,
          "delta": -0.013,
          "percent_delta": -0.0521,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.333,
          "after": 0.2825,
          "delta": -0.0505,
          "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": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.3297,
          "delta": 0.0797,
          "percent_delta": 0.3186,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.3297,
          "delta": 0.0797,
          "percent_delta": 0.3186,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.333,
          "after": 0.2825,
          "delta": -0.0505,
          "percent_delta": -0.1518,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.16,
        "after": 0.0,
        "delta": -0.16,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.711,
        "after": 4.0,
        "delta": 0.289,
        "percent_delta": 0.0779,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.229,
        "after": 0.237,
        "delta": 0.008,
        "percent_delta": 0.0349,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.268,
        "after": 0.0,
        "delta": -0.268,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.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.277,
        "after": 0.2825,
        "delta": 0.0055,
        "percent_delta": 0.0199,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.407,
        "after": 0.0,
        "delta": -0.407,
        "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.345,
        "after": 0.3297,
        "delta": -0.0153,
        "percent_delta": -0.0443,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.804,
        "after": 0.0,
        "delta": -0.804,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 3,
      "deboosted_metrics": 8,
      "better_metrics": 4,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.711,
        "after": 4.0,
        "delta": 0.289,
        "percent_delta": 0.0779,
        "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.160-
predicted_3B0.000-
predicted_AB3.711-
predicted_AVG0.229-
predicted_BB0.268-
predicted_H0.820-
predicted_HR0.080-
predicted_OBP0.277-
predicted_R0.407-
predicted_RBI0.440-
predicted_SLG0.345-
predicted_SO0.804-
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.3100.150
predicted_3B0.0010.001
predicted_AB8.1314.420
predicted_AVG0.2350.006
predicted_BB0.5180.250
predicted_H1.9221.102
predicted_HBP0.066-
predicted_HR0.1470.067
predicted_OBP0.2800.003
predicted_R0.8290.422
predicted_RBI1.1220.682
predicted_SLG0.338-0.007
predicted_SO1.8251.020
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.3100.000
predicted_3B0.0010.000
predicted_AB8.1310.000
predicted_AVG0.2370.002
predicted_BB0.515-0.003
predicted_H1.9270.005
predicted_HBP0.0660.000
predicted_HR0.1470.000
predicted_OBP0.2820.003
predicted_R0.8310.001
predicted_RBI1.1240.002
predicted_SLG0.330-0.008
predicted_SO1.8350.011
4. ab_floor_and_scaling

AB rounded to 8 (raw=8.13), rates preserved: AVG=0.237 HR/AB=0.018

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB8.000-
BB1.000-
H2.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO2.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB8.0000.000
BB1.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
6. 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.310
predicted_3B0.000-0.001
predicted_AB8.000-0.131
predicted_AVG0.2500.013
predicted_BB1.0000.485
predicted_H2.0000.073
predicted_HR0.000-0.147
predicted_OBP0.3330.051
predicted_R1.0000.169
predicted_RBI1.000-0.124
predicted_SLG0.250-0.080
predicted_SO2.0000.165
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.000-4.000
BB0.000-1.000
CS0.0000.000
H0.000-2.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-2.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 194
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-16.0004.0000.0000.0000.0004.0000.0000.0004.0000.25000.25000.25000.25000.00000.25000.00000.2500
last_100.203-41.0009.0000.0000.0000.00014.0005.0000.00014.0000.21950.21950.21950.21950.00000.34150.00000.3415
season0.6048-720.000174.00031.0000.00014.00085.00079.00052.000156.0000.24170.29110.34310.24170.01940.11810.07220.2167
Weighted Prediction From Real Data
MetricValue
predicted_2B0.5010
predicted_3B0.0020
predicted_AB13.7720
predicted_AVG0.2417
predicted_BB0.8380
predicted_H3.3290
predicted_HBP0.0660
predicted_HR0.2320
predicted_OBP0.2837
predicted_R1.3680
predicted_RBI1.9920
predicted_SLG0.3289
predicted_SO3.1270
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16000.50100.3098model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB3.711013.77208.1307model_form_blend
predicted_AVG0.22900.24170.2346model_form_blend
predicted_BB0.26800.83800.5184model_form_blend
predicted_H0.82003.32901.9222model_form_blend
predicted_HBP-0.06600.0660form_only
predicted_HR0.08000.23200.1468model_form_blend
predicted_OBP0.27700.28370.2799model_form_blend
predicted_R0.40701.36800.8292model_form_blend
predicted_RBI0.44001.99201.1218model_form_blend
predicted_SLG0.34500.32890.3379model_form_blend
predicted_SO0.80403.12701.8245model_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 date194
Season rows before report date194
Report year2026
Profile rows used194
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.242

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_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
gameID20260520_NYM@WAS
game_typefull
mlbID543760
playerID543760
playerNameMarcus Semien
pos2B
startedTrue
startingPosition2B
teamNYM
teamID18
game_date2026-05-20
sl_k_percent20.3
sl_bb_percent6.8
sl_woba0.273
sl_xwoba0.302
sl_xba0.248
sl_xslg0.389
sl_sweet_spot_percent34.5
sl_barrel_batted_rate7.3
sl_hard_hit_percent32.4
sl_exit_velocity_avg86.0
sl_launch_angle_avg18.8
sl_whiff_percent23.2
sl_swing_percent50.7
MJ Melendez (669004) · BATTER · DH · Team NYM
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 71
All-history rows before 20260521: 71
System season_avg: 0.2600
Data season_avg (2026 season-to-date): 0.2604
Diff (system - data): -0.0004
System opponent_avg: 0.4800

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1860.0000.000Hitting_2B0.1830.000-0.1830.000
predicted_3B0.0430.0000.000Hitting_3B0.0420.000-0.0420.000
predicted_AB2.7433.0004.000Hitting_AB2.7043.0000.2960.000
predicted_AVG0.2500.0000.250Hitting_AVG0.2600.000-0.2600.000
predicted_BB0.3291.0000.000Hitting_BB0.3380.0000.6621.000
predicted_CS-0.0000.000BaseRunning_CS0.0560.000-0.0560.000
predicted_H0.5000.0001.000Hitting_H0.7040.000-0.7040.000
predicted_HR0.0700.0000.000Hitting_HR0.0990.000-0.0990.000
predicted_OBP0.2830.2500.250Hitting_OBP0.3520.000-0.1020.250
predicted_R0.3290.0000.000Hitting_R0.3240.000-0.3240.000
predicted_RBI0.2400.0000.000Hitting_RBI0.2820.000-0.2820.000
predicted_SLG0.3340.0000.250Hitting_SLG0.4690.000-0.4690.000
predicted_SO1.1432.0002.000Hitting_SO1.1271.0000.8731.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.1430 -> 2.0000 (boost 0.8570, worse)
Biggest Deboostpredicted_H: 0.5000 -> 0.0000 (deboost -0.5000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend98172predicted_AB: 2.7430 -> 4.1319 (boost 1.3889, better)predicted_AVG: 0.2500 -> 0.2390 (deboost -0.0110, worse)Final model 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.3530 -> 0.3721 (boost 0.0191, better)predicted_AVG: 0.2390 -> 0.2079 (deboost -0.0311, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling92718predicted_SO: 1.6437 -> 2.0000 (boost 0.3563, worse)predicted_BB: 0.4223 -> 0.0000 (deboost -0.4223, worse)AB rounded to 4 (raw=4.13), rates preserved: AVG=0.208 HR/AB=0.027
5consistency_constraints10101-predicted_R: 0.4948 -> 0.0000 (deboost -0.4948, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context31212predicted_AVG: 0.2079 -> 0.2500 (boost 0.0421, better)predicted_SLG: 0.3721 -> 0.2500 (deboost -0.1221, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_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
8current_json_final32121predicted_SLG: 0.2500 -> 0.3721 (boost 0.1221, better)predicted_AVG: 0.2500 -> 0.2079 (deboost -0.0421, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "669004",
  "player_name": "MJ Melendez",
  "position": "DH",
  "team": "NYM",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.186,
        "predicted_3B": 0.043,
        "predicted_AB": 2.743,
        "predicted_AVG": 0.25,
        "predicted_BB": 0.329,
        "predicted_H": 0.5,
        "predicted_HR": 0.07,
        "predicted_OBP": 0.283,
        "predicted_R": 0.329,
        "predicted_RBI": 0.24,
        "predicted_SLG": 0.334,
        "predicted_SO": 1.143
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2366,
        "predicted_3B": 0.0525,
        "predicted_AB": 4.1319,
        "predicted_AVG": 0.239,
        "predicted_BB": 0.4248,
        "predicted_H": 0.857,
        "predicted_HBP": 0.069,
        "predicted_HR": 0.1119,
        "predicted_OBP": 0.2867,
        "predicted_R": 0.494,
        "predicted_RBI": 0.3544,
        "predicted_SLG": 0.353,
        "predicted_SO": 1.6339
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.186,
          "after": 0.2366,
          "delta": 0.0506,
          "percent_delta": 0.272,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.043,
          "after": 0.0525,
          "delta": 0.0095,
          "percent_delta": 0.2209,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.743,
          "after": 4.1319,
          "delta": 1.3889,
          "percent_delta": 0.5063,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.239,
          "delta": -0.011,
          "percent_delta": -0.044,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.329,
          "after": 0.4248,
          "delta": 0.0958,
          "percent_delta": 0.2912,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.5,
          "after": 0.857,
          "delta": 0.357,
          "percent_delta": 0.714,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.07,
          "after": 0.1119,
          "delta": 0.0419,
          "percent_delta": 0.5986,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.283,
          "after": 0.2867,
          "delta": 0.0037,
          "percent_delta": 0.0131,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.329,
          "after": 0.494,
          "delta": 0.165,
          "percent_delta": 0.5015,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.24,
          "after": 0.3544,
          "delta": 0.1144,
          "percent_delta": 0.4767,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.334,
          "after": 0.353,
          "delta": 0.019,
          "percent_delta": 0.0569,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.143,
          "after": 1.6339,
          "delta": 0.4909,
          "percent_delta": 0.4295,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 8,
        "deboosted_metrics": 1,
        "better_metrics": 7,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.743,
          "after": 4.1319,
          "delta": 1.3889,
          "percent_delta": 0.5063,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.239,
          "delta": -0.011,
          "percent_delta": -0.044,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 4,
        "last_10": 5,
        "season": 26
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2366,
        "predicted_3B": 0.0525,
        "predicted_AB": 4.1319,
        "predicted_AVG": 0.2079,
        "predicted_BB": 0.4223,
        "predicted_H": 0.8591,
        "predicted_HBP": 0.069,
        "predicted_HR": 0.1123,
        "predicted_OBP": 0.2813,
        "predicted_R": 0.4948,
        "predicted_RBI": 0.355,
        "predicted_SLG": 0.3721,
        "predicted_SO": 1.6437
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2366,
          "after": 0.2366,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0525,
          "after": 0.0525,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.1319,
          "after": 4.1319,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.239,
          "after": 0.2079,
          "delta": -0.0311,
          "percent_delta": -0.1301,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4248,
          "after": 0.4223,
          "delta": -0.0025,
          "percent_delta": -0.0059,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.857,
          "after": 0.8591,
          "delta": 0.0021,
          "percent_delta": 0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.069,
          "after": 0.069,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1119,
          "after": 0.1123,
          "delta": 0.0004,
          "percent_delta": 0.0036,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2867,
          "after": 0.2813,
          "delta": -0.0054,
          "percent_delta": -0.0188,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.494,
          "after": 0.4948,
          "delta": 0.0008,
          "percent_delta": 0.0016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3544,
          "after": 0.355,
          "delta": 0.0006,
          "percent_delta": 0.0017,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.353,
          "after": 0.3721,
          "delta": 0.0191,
          "percent_delta": 0.0541,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.6339,
          "after": 1.6437,
          "delta": 0.0098,
          "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.353,
          "after": 0.3721,
          "delta": 0.0191,
          "percent_delta": 0.0541,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.239,
          "after": 0.2079,
          "delta": -0.0311,
          "percent_delta": -0.1301,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.13), rates preserved: AVG=0.208 HR/AB=0.027",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2366,
          "after": 0.0,
          "delta": -0.2366,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0525,
          "after": 0.0,
          "delta": -0.0525,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 4.1319,
          "after": 4.0,
          "delta": -0.1319,
          "percent_delta": -0.0319,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4223,
          "after": 0.0,
          "delta": -0.4223,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8591,
          "after": 1.0,
          "delta": 0.1409,
          "percent_delta": 0.164,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.069,
          "after": 0.0,
          "delta": -0.069,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1123,
          "after": 0.0,
          "delta": -0.1123,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.355,
          "after": 0.0,
          "delta": -0.355,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.6437,
          "after": 2.0,
          "delta": 0.3563,
          "percent_delta": 0.2168,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 2,
        "deboosted_metrics": 7,
        "better_metrics": 1,
        "worse_metrics": 8,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.6437,
          "after": 2.0,
          "delta": 0.3563,
          "percent_delta": 0.2168,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4223,
          "after": 0.0,
          "delta": -0.4223,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4948,
          "after": 0.0,
          "delta": -0.4948,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 0.4948,
          "after": 0.0,
          "delta": -0.4948,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.25,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.25,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2079,
          "after": 0.25,
          "delta": 0.0421,
          "percent_delta": 0.2025,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2813,
          "after": 0.25,
          "delta": -0.0313,
          "percent_delta": -0.1113,
          "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.3721,
          "after": 0.25,
          "delta": -0.1221,
          "percent_delta": -0.3281,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.2079,
          "after": 0.25,
          "delta": 0.0421,
          "percent_delta": 0.2025,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3721,
          "after": 0.25,
          "delta": -0.1221,
          "percent_delta": -0.3281,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2079,
        "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.2813,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3721,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2079,
          "delta": -0.0421,
          "percent_delta": -0.1684,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.25,
          "after": 0.2813,
          "delta": 0.0313,
          "percent_delta": 0.1254,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.3721,
          "delta": 0.1221,
          "percent_delta": 0.4885,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.3721,
          "delta": 0.1221,
          "percent_delta": 0.4885,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2079,
          "delta": -0.0421,
          "percent_delta": -0.1684,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.186,
        "after": 0.0,
        "delta": -0.186,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.043,
        "after": 0.0,
        "delta": -0.043,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.743,
        "after": 3.0,
        "delta": 0.257,
        "percent_delta": 0.0937,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.25,
        "after": 0.2079,
        "delta": -0.0421,
        "percent_delta": -0.1684,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.329,
        "after": 1.0,
        "delta": 0.671,
        "percent_delta": 2.0395,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.5,
        "after": 0.0,
        "delta": -0.5,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.07,
        "after": 0.0,
        "delta": -0.07,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.283,
        "after": 0.2813,
        "delta": -0.0017,
        "percent_delta": -0.006,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.329,
        "after": 0.0,
        "delta": -0.329,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.24,
        "after": 0.0,
        "delta": -0.24,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.334,
        "after": 0.3721,
        "delta": 0.0381,
        "percent_delta": 0.1141,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.143,
        "after": 2.0,
        "delta": 0.857,
        "percent_delta": 0.7498,
        "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.143,
        "after": 2.0,
        "delta": 0.857,
        "percent_delta": 0.7498,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.5,
        "after": 0.0,
        "delta": -0.5,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

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.186-
predicted_3B0.043-
predicted_AB2.743-
predicted_AVG0.250-
predicted_BB0.329-
predicted_H0.500-
predicted_HR0.070-
predicted_OBP0.283-
predicted_R0.329-
predicted_RBI0.240-
predicted_SLG0.334-
predicted_SO1.143-
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.2370.051
predicted_3B0.0520.010
predicted_AB4.1321.389
predicted_AVG0.239-0.011
predicted_BB0.4250.096
predicted_H0.8570.357
predicted_HBP0.069-
predicted_HR0.1120.042
predicted_OBP0.2870.004
predicted_R0.4940.165
predicted_RBI0.3540.114
predicted_SLG0.3530.019
predicted_SO1.6340.491
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.2370.000
predicted_3B0.0520.000
predicted_AB4.1320.000
predicted_AVG0.208-0.031
predicted_BB0.422-0.003
predicted_H0.8590.002
predicted_HBP0.0690.000
predicted_HR0.1120.000
predicted_OBP0.281-0.005
predicted_R0.4950.001
predicted_RBI0.3550.001
predicted_SLG0.3720.019
predicted_SO1.6440.010
4. ab_floor_and_scaling

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

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
6. 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.237
predicted_3B0.000-0.052
predicted_AB4.000-0.132
predicted_AVG0.2500.042
predicted_BB0.000-0.422
predicted_H1.0000.141
predicted_HR0.000-0.112
predicted_OBP0.250-0.031
predicted_R0.000-0.495
predicted_RBI0.000-0.355
predicted_SLG0.250-0.122
predicted_SO2.0000.356
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-1.000
BB1.0001.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO2.0000.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.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.204-12.0001.0000.0000.0000.0000.0001.0000.0004.0000.08330.08330.08330.08330.00000.00000.00000.3333
last_100.205-26.0004.0000.0000.0000.0000.0006.0002.00013.0000.15380.21430.15380.15380.00000.00000.07690.5000
season0.6026-192.00050.00013.0003.0007.00020.00023.00023.00080.0000.26040.34860.46880.26040.03650.10420.11980.4167
Weighted Prediction From Real Data
MetricValue
predicted_2B0.3080
predicted_3B0.0660
predicted_AB6.0930
predicted_AVG0.2234
predicted_BB0.5600
predicted_H1.3610
predicted_HBP0.0690
predicted_HR0.1710
predicted_OBP0.2919
predicted_R0.7270
predicted_RBI0.5160
predicted_SLG0.3798
predicted_SO2.3270
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18600.30800.2366model_form_blend
predicted_3B0.04300.06600.0525model_form_blend
predicted_AB2.74306.09304.1319model_form_blend
predicted_AVG0.25000.22340.2390model_form_blend
predicted_BB0.32900.56000.4248model_form_blend
predicted_H0.50001.36100.8570model_form_blend
predicted_HBP-0.06900.0690form_only
predicted_HR0.07000.17100.1119model_form_blend
predicted_OBP0.28300.29190.2867model_form_blend
predicted_R0.32900.72700.4940model_form_blend
predicted_RBI0.24000.51600.3544model_form_blend
predicted_SLG0.33400.37980.3530model_form_blend
predicted_SO1.14302.32701.6339model_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 date71
Season rows before report date71
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
H0
2B0
3B0
HR0
R0
RBI0
BB1
SO2
SF0
HBP0
season_avg0.26

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_battingOrder5
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedDH
gameID20260520_NYM@WAS
game_typefull
mlbID669004
playerID669004
playerNameMJ Melendez
posDH
startedTrue
startingPositionDH
teamNYM
teamID18
game_date2026-05-20
sl_k_percent34.8
sl_bb_percent11.6
sl_woba0.341
sl_xwoba0.278
sl_xba0.171
sl_xslg0.33
sl_sweet_spot_percent25.0
sl_barrel_batted_rate13.9
sl_hard_hit_percent58.3
sl_exit_velocity_avg93.7
sl_launch_angle_avg16.6
sl_whiff_percent38.1
sl_swing_percent46.9
A.J. Ewing (805999) · BATTER · CF · Team NYM
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 33
All-history rows before 20260521: 33
System season_avg: 0.3240
Data season_avg (2026 season-to-date): 0.3241
Diff (system - data): -0.0001
System opponent_avg: 0.3250

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.1520.0000.000Hitting_3B0.1520.000-0.1520.000
predicted_AB3.2733.0006.000Hitting_AB3.2733.000-0.2730.000
predicted_AVG0.2680.6670.333Hitting_AVG0.3240.3330.3430.333
predicted_BB1.0301.0002.000Hitting_BB1.0300.000-0.0301.000
predicted_CS-0.0000.000BaseRunning_CS0.1210.000-0.1210.000
predicted_H0.7702.0002.000Hitting_H1.0611.0000.9391.000
predicted_HR0.0900.0000.000Hitting_HR0.1210.000-0.1210.000
predicted_OBP0.3600.7500.500Hitting_OBP0.4860.3330.2640.417
predicted_R0.8791.0001.000Hitting_R0.8790.0000.1211.000
predicted_RBI0.3600.0001.000Hitting_RBI0.6060.000-0.6060.000
predicted_SLG0.4010.6670.333Hitting_SLG0.5280.3330.1390.333
predicted_SO1.0000.0002.000Hitting_SO1.0001.000-1.000-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_H: 0.7700 -> 2.0000 (boost 1.2300, better)
Biggest Deboostpredicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend11110101predicted_AB: 3.2730 -> 5.9207 (boost 2.6477, better)-Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot22020predicted_OBP: 0.3887 -> 0.4312 (boost 0.0425, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling75243predicted_BB: 1.5001 -> 2.0000 (boost 0.4999, better)predicted_3B: 0.2134 -> 0.0000 (deboost -0.2134, worse)AB rounded to 6 (raw=5.92), rates preserved: AVG=0.287 HR/AB=0.029
5consistency_constraints10101-predicted_R: 1.4139 -> 1.0000 (deboost -0.4139, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context32121predicted_OBP: 0.4312 -> 0.5000 (boost 0.0688, better)predicted_SLG: 0.4527 -> 0.3330 (deboost -0.1197, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference40413-predicted_AB: 6.0000 -> 3.0000 (deboost -3.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final31212predicted_SLG: 0.3330 -> 0.4527 (boost 0.1197, better)predicted_OBP: 0.5000 -> 0.4312 (deboost -0.0688, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "805999",
  "player_name": "A.J. Ewing",
  "position": "CF",
  "team": "NYM",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.152,
        "predicted_AB": 3.273,
        "predicted_AVG": 0.268,
        "predicted_BB": 1.03,
        "predicted_H": 0.77,
        "predicted_HR": 0.09,
        "predicted_OBP": 0.36,
        "predicted_R": 0.879,
        "predicted_RBI": 0.36,
        "predicted_SLG": 0.401,
        "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.0339,
        "predicted_3B": 0.2134,
        "predicted_AB": 5.9207,
        "predicted_AVG": 0.2855,
        "predicted_BB": 1.5092,
        "predicted_H": 1.6957,
        "predicted_HBP": 0.015,
        "predicted_HR": 0.1726,
        "predicted_OBP": 0.3887,
        "predicted_R": 1.4116,
        "predicted_RBI": 0.8795,
        "predicted_SLG": 0.4294,
        "predicted_SO": 1.7852
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0339,
          "delta": 0.0339,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.152,
          "after": 0.2134,
          "delta": 0.0614,
          "percent_delta": 0.4039,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.273,
          "after": 5.9207,
          "delta": 2.6477,
          "percent_delta": 0.809,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.268,
          "after": 0.2855,
          "delta": 0.0175,
          "percent_delta": 0.0653,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.03,
          "after": 1.5092,
          "delta": 0.4792,
          "percent_delta": 0.4652,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.77,
          "after": 1.6957,
          "delta": 0.9257,
          "percent_delta": 1.2022,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.09,
          "after": 0.1726,
          "delta": 0.0826,
          "percent_delta": 0.9178,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.36,
          "after": 0.3887,
          "delta": 0.0287,
          "percent_delta": 0.0797,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.879,
          "after": 1.4116,
          "delta": 0.5326,
          "percent_delta": 0.6059,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.36,
          "after": 0.8795,
          "delta": 0.5195,
          "percent_delta": 1.4431,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.401,
          "after": 0.4294,
          "delta": 0.0284,
          "percent_delta": 0.0708,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.7852,
          "delta": 0.7852,
          "percent_delta": 0.7852,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 11,
        "boosted_metrics": 11,
        "deboosted_metrics": 0,
        "better_metrics": 10,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.273,
          "after": 5.9207,
          "delta": 2.6477,
          "percent_delta": 0.809,
          "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": 3,
        "last_10": 4,
        "season": 9
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0339,
        "predicted_3B": 0.2134,
        "predicted_AB": 5.9207,
        "predicted_AVG": 0.2871,
        "predicted_BB": 1.5001,
        "predicted_H": 1.6998,
        "predicted_HBP": 0.015,
        "predicted_HR": 0.1732,
        "predicted_OBP": 0.4312,
        "predicted_R": 1.4139,
        "predicted_RBI": 0.8809,
        "predicted_SLG": 0.4527,
        "predicted_SO": 1.7959
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0339,
          "after": 0.0339,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.2134,
          "after": 0.2134,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.9207,
          "after": 5.9207,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2855,
          "after": 0.2871,
          "delta": 0.0016,
          "percent_delta": 0.0056,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.5092,
          "after": 1.5001,
          "delta": -0.0091,
          "percent_delta": -0.006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.6957,
          "after": 1.6998,
          "delta": 0.0041,
          "percent_delta": 0.0024,
          "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.1726,
          "after": 0.1732,
          "delta": 0.0006,
          "percent_delta": 0.0035,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3887,
          "after": 0.4312,
          "delta": 0.0425,
          "percent_delta": 0.1093,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.4116,
          "after": 1.4139,
          "delta": 0.0023,
          "percent_delta": 0.0016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.8795,
          "after": 0.8809,
          "delta": 0.0014,
          "percent_delta": 0.0016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4294,
          "after": 0.4527,
          "delta": 0.0233,
          "percent_delta": 0.0543,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.7852,
          "after": 1.7959,
          "delta": 0.0107,
          "percent_delta": 0.006,
          "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.3887,
          "after": 0.4312,
          "delta": 0.0425,
          "percent_delta": 0.1093,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 6 (raw=5.92), rates preserved: AVG=0.287 HR/AB=0.029",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_BB": 2.0,
        "predicted_H": 2.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.0339,
          "after": 0.0,
          "delta": -0.0339,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.2134,
          "after": 0.0,
          "delta": -0.2134,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 5.9207,
          "after": 6.0,
          "delta": 0.0793,
          "percent_delta": 0.0134,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.5001,
          "after": 2.0,
          "delta": 0.4999,
          "percent_delta": 0.3332,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.6998,
          "after": 2.0,
          "delta": 0.3002,
          "percent_delta": 0.1766,
          "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.1732,
          "after": 0.0,
          "delta": -0.1732,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.8809,
          "after": 1.0,
          "delta": 0.1191,
          "percent_delta": 0.1352,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.7959,
          "after": 2.0,
          "delta": 0.2041,
          "percent_delta": 0.1136,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 5,
        "deboosted_metrics": 2,
        "better_metrics": 4,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 1.5001,
          "after": 2.0,
          "delta": 0.4999,
          "percent_delta": 0.3332,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_3B",
          "before": 0.2134,
          "after": 0.0,
          "delta": -0.2134,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_BB": 2.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": 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": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.4139,
          "after": 1.0,
          "delta": -0.4139,
          "percent_delta": -0.2927,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.4139,
          "after": 1.0,
          "delta": -0.4139,
          "percent_delta": -0.2927,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_AVG": 0.333,
        "predicted_BB": 2.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.5,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.333,
        "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": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2871,
          "after": 0.333,
          "delta": 0.0459,
          "percent_delta": 0.1599,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.4312,
          "after": 0.5,
          "delta": 0.0688,
          "percent_delta": 0.1596,
          "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.4527,
          "after": 0.333,
          "delta": -0.1197,
          "percent_delta": -0.2644,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.4312,
          "after": 0.5,
          "delta": 0.0688,
          "percent_delta": 0.1596,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4527,
          "after": 0.333,
          "delta": -0.1197,
          "percent_delta": -0.2644,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 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": 6.0,
          "after": 3.0,
          "delta": -3.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 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": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 3.0,
          "delta": -3.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2871,
        "predicted_BB": 1.0,
        "predicted_CF": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.4312,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4527,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.333,
          "after": 0.2871,
          "delta": -0.0459,
          "percent_delta": -0.1379,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.5,
          "after": 0.4312,
          "delta": -0.0688,
          "percent_delta": -0.1376,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.333,
          "after": 0.4527,
          "delta": 0.1197,
          "percent_delta": 0.3593,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.333,
          "after": 0.4527,
          "delta": 0.1197,
          "percent_delta": 0.3593,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.5,
          "after": 0.4312,
          "delta": -0.0688,
          "percent_delta": -0.1376,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_3B",
        "before": 0.152,
        "after": 0.0,
        "delta": -0.152,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.273,
        "after": 3.0,
        "delta": -0.273,
        "percent_delta": -0.0834,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.268,
        "after": 0.2871,
        "delta": 0.0191,
        "percent_delta": 0.0713,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 1.03,
        "after": 1.0,
        "delta": -0.03,
        "percent_delta": -0.0291,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 0.77,
        "after": 2.0,
        "delta": 1.23,
        "percent_delta": 1.5974,
        "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.36,
        "after": 0.4312,
        "delta": 0.0712,
        "percent_delta": 0.1978,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.879,
        "after": 1.0,
        "delta": 0.121,
        "percent_delta": 0.1377,
        "direction": "boost",
        "projection_effect": "better",
        "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.401,
        "after": 0.4527,
        "delta": 0.0517,
        "percent_delta": 0.1289,
        "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": "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.77,
        "after": 2.0,
        "delta": 1.23,
        "percent_delta": 1.5974,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "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.152-
predicted_AB3.273-
predicted_AVG0.268-
predicted_BB1.030-
predicted_H0.770-
predicted_HR0.090-
predicted_OBP0.360-
predicted_R0.879-
predicted_RBI0.360-
predicted_SLG0.401-
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.0340.034
predicted_3B0.2130.061
predicted_AB5.9212.648
predicted_AVG0.2850.017
predicted_BB1.5090.479
predicted_H1.6960.926
predicted_HBP0.015-
predicted_HR0.1730.083
predicted_OBP0.3890.029
predicted_R1.4120.533
predicted_RBI0.8790.519
predicted_SLG0.4290.028
predicted_SO1.7850.785
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.0340.000
predicted_3B0.2130.000
predicted_AB5.9210.000
predicted_AVG0.2870.002
predicted_BB1.500-0.009
predicted_H1.7000.004
predicted_HBP0.0150.000
predicted_HR0.1730.001
predicted_OBP0.4310.043
predicted_R1.4140.002
predicted_RBI0.8810.001
predicted_SLG0.4530.023
predicted_SO1.7960.011
4. ab_floor_and_scaling

AB rounded to 6 (raw=5.92), rates preserved: AVG=0.287 HR/AB=0.029

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB6.000-
BB2.000-
H2.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO2.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB6.0000.000
BB2.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
6. 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.034
predicted_3B0.000-0.213
predicted_AB6.0000.079
predicted_AVG0.3330.046
predicted_BB2.0000.500
predicted_H2.0000.300
predicted_HR0.000-0.173
predicted_OBP0.5000.069
predicted_R1.000-0.414
predicted_RBI1.0000.119
predicted_SLG0.333-0.120
predicted_SO2.0000.204
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-3.000
BB1.000-1.000
CS0.0000.000
H2.0000.000
HBP0.0000.000
HR0.0000.000
PA4.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: 33
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.203-22.0007.0000.0000.0000.0003.0003.0000.0008.0000.31820.31820.31820.31820.00000.13640.00000.3636
last_100.204-42.00015.0000.0000.0000.0006.0008.0006.00014.0000.35710.43750.35710.35710.00000.14290.14290.3333
season0.609-108.00035.0000.0005.0004.00020.00029.00034.00033.0000.32410.48590.52780.32410.03700.18520.31480.3056
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0850
predicted_3B0.3060
predicted_AB9.9090
predicted_AVG0.3119
predicted_BB2.2310
predicted_H3.0900
predicted_HBP0.0150
predicted_HR0.2970
predicted_OBP0.4320
predicted_R2.2140
predicted_RBI1.6620
predicted_SLG0.4721
predicted_SO2.9680
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.00000.08500.0339model_form_blend
predicted_3B0.15200.30600.2134model_form_blend
predicted_AB3.27309.90905.9207model_form_blend
predicted_AVG0.26800.31190.2855model_form_blend
predicted_BB1.03002.23101.5092model_form_blend
predicted_H0.77003.09001.6957model_form_blend
predicted_HBP-0.01500.0150form_only
predicted_HR0.09000.29700.1726model_form_blend
predicted_OBP0.36000.43200.3887model_form_blend
predicted_R0.87902.21401.4116model_form_blend
predicted_RBI0.36001.66200.8795model_form_blend
predicted_SLG0.40100.47210.4294model_form_blend
predicted_SO1.00002.96801.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 date33
Season rows before report date33
Report year2026
Profile rows used33
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
RBI0
BB1
SO0
SF0
HBP0
season_avg0.324

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_SO1
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
allPositionsPlayedCF
gameID20260520_NYM@WAS
game_typefull
mlbID805999
playerID805999
playerNameA.J. Ewing
posLF
startedTrue
startingPositionCF
teamNYM
teamID18
game_date2026-05-20
sl_k_percent25.0
sl_bb_percent21.9
sl_woba0.424
sl_xwoba0.429
sl_xba0.294
sl_xslg0.528
sl_sweet_spot_percent47.1
sl_barrel_batted_rate11.8
sl_hard_hit_percent41.2
sl_exit_velocity_avg86.0
sl_launch_angle_avg16.6
sl_whiff_percent24.0
sl_swing_percent36.8
Luis Torrens (620443) · BATTER · C · Team NYM
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 75
All-history rows before 20260521: 75
System season_avg: 0.1750
Data season_avg (2026 season-to-date): 0.1749
Diff (system - data): 0.0001
System opponent_avg: 0.0910

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2431.0000.000Hitting_2B0.2400.0000.7601.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.0144.0005.000Hitting_AB2.9731.0001.0273.000
predicted_AVG0.2260.5000.200Hitting_AVG0.1750.0000.3250.500
predicted_BB0.1490.0000.000Hitting_BB0.1470.000-0.1470.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.2002.0001.000Hitting_H0.5200.0001.4802.000
predicted_HR0.0300.0000.000Hitting_HR0.0000.0000.0000.000
predicted_OBP0.2560.5000.200Hitting_OBP0.2370.0000.2630.500
predicted_R0.3111.0001.000Hitting_R0.3070.0000.6931.000
predicted_RBI0.1702.0001.000Hitting_RBI0.4130.0001.5872.000
predicted_SLG0.3300.7500.200Hitting_SLG0.2560.0000.4940.750
predicted_SO0.6891.0001.000Hitting_SO0.6800.0000.3201.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_RBI: 0.1700 -> 2.0000 (boost 1.8300, better)
Biggest Deboostpredicted_BB: 0.1490 -> 0.0000 (deboost -0.1490, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend107364predicted_AB: 3.0140 -> 5.1752 (boost 2.1612, better)predicted_SLG: 0.3300 -> 0.2990 (deboost -0.0310, worse)Final model 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.2415 -> 0.1700 (deboost -0.0715, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling72534predicted_RBI: 0.5585 -> 1.0000 (boost 0.4415, better)predicted_2B: 0.4071 -> 0.0000 (deboost -0.4071, worse)AB rounded to 5 (raw=5.18), rates preserved: AVG=0.133 HR/AB=0.006
5consistency_constraints11010predicted_R: 0.5102 -> 1.0000 (boost 0.4898, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context32121predicted_AVG: 0.1326 -> 0.2000 (boost 0.0674, better)predicted_SLG: 0.2292 -> 0.2000 (deboost -0.0292, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference43131predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final31212predicted_SLG: 0.2000 -> 0.2292 (boost 0.0292, better)predicted_AVG: 0.2000 -> 0.1326 (deboost -0.0674, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "620443",
  "player_name": "Luis Torrens",
  "position": "C",
  "team": "NYM",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.243,
        "predicted_3B": 0.0,
        "predicted_AB": 3.014,
        "predicted_AVG": 0.226,
        "predicted_BB": 0.149,
        "predicted_H": 0.2,
        "predicted_HR": 0.03,
        "predicted_OBP": 0.256,
        "predicted_R": 0.311,
        "predicted_RBI": 0.17,
        "predicted_SLG": 0.33,
        "predicted_SO": 0.689
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.4071,
        "predicted_3B": 0.0013,
        "predicted_AB": 5.1752,
        "predicted_AVG": 0.201,
        "predicted_BB": 0.235,
        "predicted_H": 0.6844,
        "predicted_HBP": 0.24,
        "predicted_HR": 0.03,
        "predicted_OBP": 0.2415,
        "predicted_R": 0.5094,
        "predicted_RBI": 0.5576,
        "predicted_SLG": 0.299,
        "predicted_SO": 1.1517
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.243,
          "after": 0.4071,
          "delta": 0.1641,
          "percent_delta": 0.6753,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0013,
          "delta": 0.0013,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.014,
          "after": 5.1752,
          "delta": 2.1612,
          "percent_delta": 0.7171,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.226,
          "after": 0.201,
          "delta": -0.025,
          "percent_delta": -0.1106,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.149,
          "after": 0.235,
          "delta": 0.086,
          "percent_delta": 0.5772,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.2,
          "after": 0.6844,
          "delta": 0.4844,
          "percent_delta": 2.422,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.03,
          "after": 0.03,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.256,
          "after": 0.2415,
          "delta": -0.0145,
          "percent_delta": -0.0566,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.311,
          "after": 0.5094,
          "delta": 0.1984,
          "percent_delta": 0.6379,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.17,
          "after": 0.5576,
          "delta": 0.3876,
          "percent_delta": 2.28,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.33,
          "after": 0.299,
          "delta": -0.031,
          "percent_delta": -0.0939,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.689,
          "after": 1.1517,
          "delta": 0.4627,
          "percent_delta": 0.6716,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 10,
        "boosted_metrics": 7,
        "deboosted_metrics": 3,
        "better_metrics": 6,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.014,
          "after": 5.1752,
          "delta": 2.1612,
          "percent_delta": 0.7171,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.33,
          "after": 0.299,
          "delta": -0.031,
          "percent_delta": -0.0939,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 2,
        "last_10": 4,
        "season": 25
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.4071,
        "predicted_3B": 0.0013,
        "predicted_AB": 5.1752,
        "predicted_AVG": 0.1326,
        "predicted_BB": 0.2336,
        "predicted_H": 0.686,
        "predicted_HBP": 0.24,
        "predicted_HR": 0.0301,
        "predicted_OBP": 0.17,
        "predicted_R": 0.5102,
        "predicted_RBI": 0.5585,
        "predicted_SLG": 0.2292,
        "predicted_SO": 1.1586
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.4071,
          "after": 0.4071,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0013,
          "after": 0.0013,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.1752,
          "after": 5.1752,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.201,
          "after": 0.1326,
          "delta": -0.0684,
          "percent_delta": -0.3403,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.235,
          "after": 0.2336,
          "delta": -0.0014,
          "percent_delta": -0.006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.6844,
          "after": 0.686,
          "delta": 0.0016,
          "percent_delta": 0.0023,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.24,
          "after": 0.24,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.03,
          "after": 0.0301,
          "delta": 0.0001,
          "percent_delta": 0.0033,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2415,
          "after": 0.17,
          "delta": -0.0715,
          "percent_delta": -0.2961,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5094,
          "after": 0.5102,
          "delta": 0.0008,
          "percent_delta": 0.0016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5576,
          "after": 0.5585,
          "delta": 0.0009,
          "percent_delta": 0.0016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.299,
          "after": 0.2292,
          "delta": -0.0698,
          "percent_delta": -0.2334,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1517,
          "after": 1.1586,
          "delta": 0.0069,
          "percent_delta": 0.006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.2415,
          "after": 0.17,
          "delta": -0.0715,
          "percent_delta": -0.2961,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 5 (raw=5.18), rates preserved: AVG=0.133 HR/AB=0.006",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.4071,
          "after": 0.0,
          "delta": -0.4071,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0013,
          "after": 0.0,
          "delta": -0.0013,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.1752,
          "after": 5.0,
          "delta": -0.1752,
          "percent_delta": -0.0339,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2336,
          "after": 0.0,
          "delta": -0.2336,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.686,
          "after": 1.0,
          "delta": 0.314,
          "percent_delta": 0.4577,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.24,
          "after": 0.0,
          "delta": -0.24,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0301,
          "after": 0.0,
          "delta": -0.0301,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5585,
          "after": 1.0,
          "delta": 0.4415,
          "percent_delta": 0.7905,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1586,
          "after": 1.0,
          "delta": -0.1586,
          "percent_delta": -0.1369,
          "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.5585,
          "after": 1.0,
          "delta": 0.4415,
          "percent_delta": 0.7905,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.4071,
          "after": 0.0,
          "delta": -0.4071,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5102,
          "after": 1.0,
          "delta": 0.4898,
          "percent_delta": 0.96,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.5102,
          "after": 1.0,
          "delta": 0.4898,
          "percent_delta": 0.96,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.2,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.2,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1326,
          "after": 0.2,
          "delta": 0.0674,
          "percent_delta": 0.5083,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.17,
          "after": 0.2,
          "delta": 0.03,
          "percent_delta": 0.1765,
          "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.2292,
          "after": 0.2,
          "delta": -0.0292,
          "percent_delta": -0.1274,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.1326,
          "after": 0.2,
          "delta": 0.0674,
          "percent_delta": 0.5083,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.2292,
          "after": 0.2,
          "delta": -0.0292,
          "percent_delta": -0.1274,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 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": 5.0,
          "after": 4.0,
          "delta": -1.0,
          "percent_delta": -0.2,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 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_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 4.0,
          "delta": -1.0,
          "percent_delta": -0.2,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.1326,
        "predicted_BB": 0.0,
        "predicted_C": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.17,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2292,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2,
          "after": 0.1326,
          "delta": -0.0674,
          "percent_delta": -0.3372,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2,
          "after": 0.17,
          "delta": -0.03,
          "percent_delta": -0.1499,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2,
          "after": 0.2292,
          "delta": 0.0292,
          "percent_delta": 0.1459,
          "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.2,
          "after": 0.2292,
          "delta": 0.0292,
          "percent_delta": 0.1459,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.2,
          "after": 0.1326,
          "delta": -0.0674,
          "percent_delta": -0.3372,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.243,
        "after": 1.0,
        "delta": 0.757,
        "percent_delta": 3.1152,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.014,
        "after": 4.0,
        "delta": 0.986,
        "percent_delta": 0.3271,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.226,
        "after": 0.1326,
        "delta": -0.0934,
        "percent_delta": -0.4133,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.149,
        "after": 0.0,
        "delta": -0.149,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.2,
        "after": 2.0,
        "delta": 1.8,
        "percent_delta": 9.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.03,
        "after": 0.0,
        "delta": -0.03,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_OBP",
        "before": 0.256,
        "after": 0.17,
        "delta": -0.086,
        "percent_delta": -0.3359,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.311,
        "after": 1.0,
        "delta": 0.689,
        "percent_delta": 2.2154,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.17,
        "after": 2.0,
        "delta": 1.83,
        "percent_delta": 10.7647,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.33,
        "after": 0.2292,
        "delta": -0.1008,
        "percent_delta": -0.3055,
        "direction": "deboost",
        "projection_effect": "worse",
        "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": 10,
      "boosted_metrics": 6,
      "deboosted_metrics": 4,
      "better_metrics": 5,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.17,
        "after": 2.0,
        "delta": 1.83,
        "percent_delta": 10.7647,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.149,
        "after": 0.0,
        "delta": -0.149,
        "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.243-
predicted_3B0.000-
predicted_AB3.014-
predicted_AVG0.226-
predicted_BB0.149-
predicted_H0.200-
predicted_HR0.030-
predicted_OBP0.256-
predicted_R0.311-
predicted_RBI0.170-
predicted_SLG0.330-
predicted_SO0.689-
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.4070.164
predicted_3B0.0010.001
predicted_AB5.1752.161
predicted_AVG0.201-0.025
predicted_BB0.2350.086
predicted_H0.6840.484
predicted_HBP0.240-
predicted_HR0.0300.000
predicted_OBP0.241-0.015
predicted_R0.5090.198
predicted_RBI0.5580.388
predicted_SLG0.299-0.031
predicted_SO1.1520.463
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.4070.000
predicted_3B0.0010.000
predicted_AB5.1750.000
predicted_AVG0.133-0.068
predicted_BB0.234-0.001
predicted_H0.6860.002
predicted_HBP0.2400.000
predicted_HR0.0300.000
predicted_OBP0.170-0.071
predicted_R0.5100.001
predicted_RBI0.5580.001
predicted_SLG0.229-0.070
predicted_SO1.1590.007
4. ab_floor_and_scaling

AB rounded to 5 (raw=5.18), rates preserved: AVG=0.133 HR/AB=0.006

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.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
6. 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.407
predicted_3B0.000-0.001
predicted_AB5.000-0.175
predicted_AVG0.2000.067
predicted_BB0.000-0.234
predicted_H1.0000.314
predicted_HR0.000-0.030
predicted_OBP0.2000.030
predicted_R1.0000.490
predicted_RBI1.0000.442
predicted_SLG0.200-0.029
predicted_SO1.000-0.159
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB4.000-1.000
BB0.0000.000
CS0.0000.000
H2.0001.000
HBP0.0000.000
HR0.0000.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: 74
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-17.0000.0000.0000.0000.0000.0000.0000.0004.0000.00000.00000.00000.00000.00000.00000.00000.2353
last_100.204-30.0005.0005.0000.0000.0007.0003.0000.0004.0000.16670.21880.33330.16670.00000.23330.00000.1333
season0.6025-223.00039.00018.0000.0000.00031.00023.00011.00051.0000.17490.23650.25560.17490.00000.13900.04930.2287
Weighted Prediction From Real Data
MetricValue
predicted_2B0.6360
predicted_3B0.0030
predicted_AB8.1890
predicted_AVG0.1661
predicted_BB0.3550
predicted_H1.3600
predicted_HBP0.2400
predicted_HR0.0300
predicted_OBP0.2213
predicted_R0.7860
predicted_RBI1.0980
predicted_SLG0.2558
predicted_SO1.7970
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.24300.63600.4071model_form_blend
predicted_3B0.00000.00300.0013model_form_blend
predicted_AB3.01408.18905.1752model_form_blend
predicted_AVG0.22600.16610.2010model_form_blend
predicted_BB0.14900.35500.2350model_form_blend
predicted_H0.20001.36000.6844model_form_blend
predicted_HBP-0.24000.2400form_only
predicted_HR0.03000.03000.0300model_form_blend
predicted_OBP0.25600.22130.2415model_form_blend
predicted_R0.31100.78600.5094model_form_blend
predicted_RBI0.17001.09800.5576model_form_blend
predicted_SLG0.33000.25580.2990model_form_blend
predicted_SO0.68901.79701.1517model_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 date75
Season rows before report date75
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
AB4
H2
2B1
3B0
HR0
R1
RBI2
BB0
SO1
SF0
HBP0
season_avg0.175

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB1
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder9
Hitting_substitutionOrder1
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedPH-C
gameID20260520_NYM@WAS
game_typeph
mlbID620443
noteGrounded out for Senger in the 8th.
playerID620443
playerNameLuis Torrens
posC
startedFalse
startingPositionPH
teamNYM
teamID18
game_date2026-05-20
sl_k_percent20.5
sl_bb_percent4.1
sl_woba0.244
sl_xwoba0.255
sl_xba0.218
sl_xslg0.292
sl_sweet_spot_percent26.4
sl_barrel_batted_rate0.0
sl_hard_hit_percent47.2
sl_exit_velocity_avg90.1
sl_launch_angle_avg6.5
sl_whiff_percent24.1
sl_swing_percent51.1
David Peterson (656849) · PITCHER · Starter · Team NYM
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 10
All-history rows before 20260521: 10

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB2.0002.0002.000Pitching_BB1.7003.0000.300-1.000
predicted_ER2.0002.0002.000Pitching_ER2.6002.000-0.6000.000
predicted_H5.0005.0005.000Pitching_H5.1006.000-0.100-1.000
predicted_IP4.0004.0004.000Pitching_InningsPitched4.1704.000-0.1700.000
predicted_SO2.0002.0002.000Pitching_SO4.6008.000-2.600-6.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: 4.6667 -> 4.0000 (deboost -0.6667, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2starter_usage_guardrail10101-predicted_IP: 4.6667 -> 4.0000 (deboost -0.6667, worse)Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
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": "656849",
  "player_name": "David Peterson",
  "position": "Starter",
  "team": "NYM",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 2.0,
        "predicted_ER": 2.0,
        "predicted_H": 5.0,
        "predicted_HR": 0.0,
        "predicted_IP": 4.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": "starter_usage_guardrail",
      "description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
      "stats": {
        "predicted_BB": 2.0,
        "predicted_ER": 2.0,
        "predicted_H": 5.0,
        "predicted_HR": 0.0,
        "predicted_IP": 4.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 4.6667,
          "after": 4.0,
          "delta": -0.6667,
          "percent_delta": -0.1429,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 4.6667,
          "after": 4.0,
          "delta": -0.6667,
          "percent_delta": -0.1429,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 3,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 2.0,
        "predicted_ER": 2.0,
        "predicted_H": 5.0,
        "predicted_HR": 0.0,
        "predicted_IP": 4.0,
        "predicted_R": 2.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 5.0,
        "after": 5.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 4.6667,
        "after": 4.0,
        "delta": -0.6667,
        "percent_delta": -0.1429,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 0,
      "deboosted_metrics": 1,
      "better_metrics": 0,
      "worse_metrics": 1,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 4.6667,
        "after": 4.0,
        "delta": -0.6667,
        "percent_delta": -0.1429,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

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_ER2.000-
predicted_H5.000-
predicted_HR0.000-
predicted_IP4.667-
predicted_SO2.000-
2. starter_usage_guardrail

Starter workload capped by recent innings, season ERA/WHIP, and team-form context.

MetricValueDelta vs Prev Step
predicted_BB2.0000.000
predicted_ER2.0000.000
predicted_H5.0000.000
predicted_HR0.0000.000
predicted_IP4.000-0.667
predicted_SO2.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 10
Reference playing time: 4.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45520.00012.00022.0007.00024.0001.0005.40001.45000.60001.10000.35001.20000.0500
last_100.351043.10026.00051.00017.00046.0002.0005.40001.56920.60001.17690.39231.06150.0461
season0.201043.10026.00051.00017.00046.0002.0005.40001.56920.60001.17690.39231.06150.0461
Weighted Prediction From Real Data
MetricValue
predicted_BB1.6030
predicted_ER2.4060
predicted_ERA5.0130
predicted_H4.6200
predicted_HR0.3270
predicted_IP4.1000
predicted_SO4.6510
predicted_WHIP1.4406
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB2.00001.60301.7979model_form_blend
predicted_ER2.00002.40602.2067model_form_blend
predicted_ERA-5.01305.0130form_only
predicted_H5.00004.62004.8065model_form_blend
predicted_HR0.00000.32700.1665model_form_blend
predicted_IP4.20004.10004.1000model_form_blend
predicted_SO2.00004.65103.3498model_form_blend
predicted_WHIP-1.44061.4406form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP4.0
H5
R2
ER2
BB2
SO2
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_BB3
Pitching_Balk0
Pitching_Batters Faced22
Pitching_ER2
Pitching_ERA5.40
Pitching_Flyouts1
Pitching_Groundouts3
Pitching_H6
Pitching_HBP1
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched4.0
Pitching_Pitches82
Pitching_R2
Pitching_SO8
Pitching_Strikes50
Pitching_Wild Pitch0
Pitching_decisionW
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20260516_NYY@NYM
game_typefull
mlbID656849
playerID656849
playerNameDavid Peterson
posP
startedFalse
startingPositionP
teamNYM
teamID18
game_date2026-05-16
game_pk823627.0
sl_k_percent22.7
sl_bb_percent8.4
sl_woba0.337
sl_xwoba0.328
sl_sweet_spot_percent33.6
sl_barrel_batted_rate5.2
sl_hard_hit_percent45.3
sl_whiff_percent23.8
sl_swing_percent46.8
sv_pitch_count82.0
sv_outs_recorded_est12.0
sv_release_speed89.10975609756098
sv_release_spin_rate2258.268292682927
sv_effective_speed90.28658536585364
sv_launch_speed83.36842105263158
sv_launch_angle18.526315789473685
sv_woba_value8.9
sv_woba_denom22.0
sv_delta_run_exp1.427
sv_delta_home_win_exp-0.0619999999999999
sl_avg_best_speed78.47428
sl_avg_hyper_speed94.764438864
Huascar Brazobán (623211) · PITCHER · Middle Reliever · Team NYM
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 20
All-history rows before 20260521: 20

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.5002.0000.500-1.000
predicted_ER0.0000.0000.000Pitching_ER0.2500.000-0.2500.000
predicted_H0.0000.0000.000Pitching_H0.7002.000-0.700-2.000
predicted_IP1.1001.1001.100Pitching_InningsPitched0.9952.0000.105-0.900
predicted_SO1.0001.0001.000Pitching_SO0.9501.0000.0500.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": "623211",
  "player_name": "Huascar Brazobán",
  "position": "Middle Reliever",
  "team": "NYM",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 1.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": 1.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": 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.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": 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.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_BB1.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: 20
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.2003.0003.0007.0006.0000.0003.52171.30430.39130.39130.91300.78260.0000
last_100.351013.2005.0006.0008.0009.0001.0003.29271.02440.36590.43900.58540.65850.0732
season0.202024.1005.00014.00010.00019.0001.0001.84930.98630.20550.57530.41100.78080.0411
Weighted Prediction From Real Data
MetricValue
predicted_BB0.7510
predicted_ER0.5760
predicted_ERA3.6832
predicted_H0.9810
predicted_HR0.1170
predicted_IP1.1000
predicted_SO1.1920
predicted_WHIP1.2317
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.75100.8917model_form_blend
predicted_ER0.00000.57600.2505model_form_blend
predicted_ERA-3.68323.6832form_only
predicted_H0.00000.98100.4266model_form_blend
predicted_HR0.00000.11700.0509model_form_blend
predicted_IP1.10001.10001.1000model_form_blend
predicted_SO1.00001.19201.0835model_form_blend
predicted_WHIP-1.23171.2317form_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 date20
Season rows before report date20
Report year2026
Profile rows used20
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
BB1
SO1
HR0
BF5
Pitches21

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB2
Pitching_Balk0
Pitching_Batters Faced10
Pitching_ER0
Pitching_ERA1.85
Pitching_Flyouts0
Pitching_Groundouts5
Pitching_H2
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched2.0
Pitching_Pitches22
Pitching_R1
Pitching_SO1
Pitching_Strikes15
Pitching_Wild Pitch0
Pitching_decisionW
Pitching_pitchingOrder6
allPositionsPlayedP
gameID20260518_NYM@WAS
game_typefull
mlbID623211
playerID623211
playerNameHuascar Brazobán
posP
startedFalse
startingPositionP
teamNYM
teamID18
game_date2026-05-18
game_pk822734.0
sl_k_percent19.8
sl_bb_percent10.4
sl_woba0.229
sl_xwoba0.26
sl_sweet_spot_percent19.7
sl_barrel_batted_rate1.5
sl_hard_hit_percent21.2
sl_whiff_percent27.1
sl_swing_percent51.1
sv_pitch_count26.0
sv_outs_recorded_est6.0
sv_release_speed94.02272727272728
sv_release_spin_rate2169.3636363636365
sv_effective_speed92.97727272727272
sv_launch_speed68.9
sv_launch_angle-29.857142857142858
sv_woba_value3.45
sv_woba_denom8.0
sv_delta_run_exp0.2099999999999998
sv_delta_home_win_exp-0.253
sl_avg_best_speed70.747642813
sl_avg_hyper_speed91.693758125
Brooks Raley (548384) · PITCHER · Middle Reliever · Team NYM
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 20
All-history rows before 20260521: 20

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.4002.000-0.400-2.000
predicted_ER0.0000.0000.000Pitching_ER0.1501.000-0.150-1.000
predicted_H0.0000.0000.000Pitching_H0.6501.000-0.650-1.000
predicted_IP1.2001.2001.200Pitching_InningsPitched0.7650.2000.4351.000
predicted_SO1.0001.0001.000Pitching_SO1.0500.000-0.0501.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics1
Boosted Metrics1
Deboosted Metrics0
Better Metrics1
Worse Metrics0
Biggest Boostpredicted_IP: 1.0000 -> 1.2000 (boost 0.2000, better)
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final11010predicted_IP: 1.0000 -> 1.2000 (boost 0.2000, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "548384",
  "player_name": "Brooks Raley",
  "position": "Middle Reliever",
  "team": "NYM",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.2,
        "predicted_R": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.2,
          "delta": 0.2,
          "percent_delta": 0.2,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.2,
          "delta": 0.2,
          "percent_delta": 0.2,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.2,
        "delta": 0.2,
        "percent_delta": 0.2,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 1,
      "deboosted_metrics": 0,
      "better_metrics": 1,
      "worse_metrics": 0,
      "biggest_boost": {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.2,
        "delta": 0.2,
        "percent_delta": 0.2,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": null,
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 20
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4554.1001.0006.0003.0003.0000.0002.07692.07690.23081.38460.69230.69230.0000
last_100.35109.2001.0007.0004.00011.0000.0000.93101.13790.10350.72410.41381.13790.0000
season0.202018.1003.00013.0008.00021.0001.0001.47271.14550.16360.70910.43641.14550.0546
Weighted Prediction From Real Data
MetricValue
predicted_BB0.4470
predicted_ER0.3450
predicted_ERA3.1095
predicted_H0.9740
predicted_HR0.0800
predicted_IP1.0000
predicted_SO0.9460
predicted_WHIP1.4203
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.44700.1812model_form_blend
predicted_ER0.00000.34500.1398model_form_blend
predicted_ERA-3.10953.1095form_only
predicted_H0.00000.97400.3948model_form_blend
predicted_HR0.00000.08000.0324model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00000.94600.9781model_form_blend
predicted_WHIP-1.42031.4203form_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 date20
Season rows before report date20
Report year2026
Profile rows used20
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
Pitches21

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB2
Pitching_Balk0
Pitching_Batters Faced5
Pitching_ER1
Pitching_ERA1.47
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.2
Pitching_Pitches23
Pitching_R1
Pitching_SO0
Pitching_Strikes13
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20260518_NYM@WAS
game_typefull
mlbID548384
playerID548384
playerNameBrooks Raley
posP
startedFalse
startingPositionP
teamNYM
teamID18
game_date2026-05-18
game_pk822734.0
sl_k_percent27.3
sl_bb_percent10.4
sl_woba0.263
sl_xwoba0.306
sl_sweet_spot_percent46.8
sl_barrel_batted_rate6.4
sl_hard_hit_percent31.9
sl_whiff_percent26.5
sl_swing_percent46.0
sv_pitch_count23.0
sv_outs_recorded_est2.0
sv_release_speed84.55217391304348
sv_release_spin_rate2565.478260869565
sv_effective_speed83.86521739130436
sv_launch_speed79.4
sv_launch_angle14.9
sv_woba_value2.65
sv_woba_denom5.0
sv_delta_run_exp1.109
sv_delta_home_win_exp0.143
sl_avg_best_speed78.251105
sl_avg_hyper_speed93.4639625
Devin Williams (642207) · PITCHER · Middle Reliever · Team NYM
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 18
All-history rows before 20260521: 18

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB2.0002.0002.000Pitching_BB0.4441.0001.5561.000
predicted_ER0.0000.0000.000Pitching_ER0.4440.000-0.4440.000
predicted_H0.0000.0000.000Pitching_H0.8330.000-0.8330.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.8061.0000.1940.000
predicted_SO2.0002.0002.000Pitching_SO1.3331.0000.6671.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": "642207",
  "player_name": "Devin Williams",
  "position": "Middle Reliever",
  "team": "NYM",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 2.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 2.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 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": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 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": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 0,
      "boosted_metrics": 0,
      "deboosted_metrics": 0,
      "better_metrics": 0,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": null,
      "has_material_change": false,
      "dominant_effect": "neutral"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 17
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.0000.0002.0006.0000.0000.00000.42860.00000.00000.42861.28570.0000
last_100.35109.1001.0004.0002.00013.0000.0000.96430.64290.10710.42860.21431.39290.0000
season0.201715.2006.00014.0005.00024.0001.0003.44681.21280.38300.89360.31911.53190.0638
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3590
predicted_ER0.3340
predicted_ERA3.0086
predicted_H0.7070
predicted_HR0.0850
predicted_IP1.0000
predicted_SO1.1130
predicted_WHIP1.0658
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB2.00000.35901.3611model_form_blend
predicted_ER0.00000.33400.1300model_form_blend
predicted_ERA-3.00863.0086form_only
predicted_H0.00000.70700.2752model_form_blend
predicted_HR0.00000.08500.0331model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO2.00001.11301.6547model_form_blend
predicted_WHIP-1.06581.0658form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced3
Pitching_ER0
Pitching_ERA4.60
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches14
Pitching_R0
Pitching_SO1
Pitching_Strikes8
Pitching_Wild Pitch0
Pitching_decisionW
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20260517_NYY@NYM
game_typefull
mlbID642207
playerID642207
playerNameDevin Williams
posP
startedFalse
startingPositionP
teamNYM
teamID18
game_date2026-05-17
game_pk823628.0
sl_k_percent35.3
sl_bb_percent11.8
sl_woba0.32
sl_xwoba0.271
sl_sweet_spot_percent36.1
sl_barrel_batted_rate8.3
sl_hard_hit_percent30.6
sl_whiff_percent40.0
sl_swing_percent49.3
sv_pitch_count14.0
sv_outs_recorded_est3.0
sv_release_speed91.52142857142856
sv_release_spin_rate2359.214285714286
sv_effective_speed92.97857142857144
sv_launch_speed76.10000000000001
sv_launch_angle-17.333333333333332
sv_woba_value0.7
sv_woba_denom3.0
sv_delta_run_exp-0.4339999999999999
sv_delta_home_win_exp0.8119999999999999
sl_avg_best_speed79.233147222
sl_avg_hyper_speed93.393718857
Luke Weaver (596133) · PITCHER · Middle Reliever · Team NYM
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 19
All-history rows before 20260521: 19

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.3680.000-0.3680.000
predicted_ER0.0000.0000.000Pitching_ER0.4210.000-0.4210.000
predicted_H2.0002.0002.000Pitching_H0.8421.0001.1581.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.9841.0000.0160.000
predicted_SO1.0001.0001.000Pitching_SO1.1052.000-0.105-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": "596133",
  "player_name": "Luke Weaver",
  "position": "Middle Reliever",
  "team": "NYM",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 2.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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 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": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 0,
      "boosted_metrics": 0,
      "deboosted_metrics": 0,
      "better_metrics": 0,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": null,
      "has_material_change": false,
      "dominant_effect": "neutral"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 19
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4556.0000.0005.0003.0008.0000.0000.00001.33330.00000.83330.50001.33330.0000
last_100.351011.2002.00010.0004.00017.0001.0001.54291.20000.17140.85710.34291.45710.0857
season0.201920.1008.00016.0007.00021.0002.0003.54101.13110.39340.78690.34431.03280.0984
Weighted Prediction From Real Data
MetricValue
predicted_BB0.4400
predicted_ER0.3610
predicted_ERA2.9044
predicted_H0.9990
predicted_HR0.1060
predicted_IP1.0000
predicted_SO1.2470
predicted_WHIP1.2856
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.44000.1830model_form_blend
predicted_ER0.00000.36100.1502model_form_blend
predicted_ERA-2.90442.9044form_only
predicted_H2.00000.99901.5836model_form_blend
predicted_HR0.00000.10600.0441model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00001.24701.1028model_form_blend
predicted_WHIP-1.28561.2856form_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 used19
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
SO1
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 Faced5
Pitching_ER0
Pitching_ERA3.54
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H1
Pitching_HBP1
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches19
Pitching_R0
Pitching_SO2
Pitching_Strikes13
Pitching_Wild Pitch0
Pitching_pitchingOrder5
allPositionsPlayedP
gameID20260518_NYM@WAS
game_typefull
mlbID596133
playerID596133
playerNameLuke Weaver
posP
startedFalse
startingPositionP
teamNYM
teamID18
game_date2026-05-18
game_pk822734.0
sl_k_percent25.0
sl_bb_percent8.3
sl_woba0.284
sl_xwoba0.296
sl_sweet_spot_percent25.5
sl_barrel_batted_rate9.1
sl_hard_hit_percent29.1
sl_whiff_percent26.6
sl_swing_percent51.2
sv_pitch_count19.0
sv_outs_recorded_est3.0
sv_release_speed92.59473684210526
sv_release_spin_rate2279.4736842105262
sv_effective_speed92.5421052631579
sv_launch_speed77.68333333333334
sv_launch_angle39.0
sv_woba_value1.6
sv_woba_denom5.0
sv_delta_run_exp0.0
sv_delta_home_win_exp-0.139
sl_avg_best_speed77.228452593
sl_avg_hyper_speed92.825515741

Home Team: WAS

Home Pitcher Deep Analysis

FieldValue
PitcherCade Cavalli
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.1027
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.0690
Avg Velo90.9162
Avg Spin2220.4971
HB Inches0
IVB Inches0
Release Extension0
Pre IP4.2000
Pre ER2
Pre H6
Pre BB0
Pre SO5
Season ERA4.0500
Season WHIP1.5429
Role Avg IP4.6670
Recent Avg IP5.4000
Last Start IP6.1000
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "WAS",
    "games": 56,
    "wins": 26,
    "losses": 30,
    "win_pct": 0.4643,
    "runs_scored": 286.0,
    "runs_allowed": 313.0,
    "run_differential": -27.0,
    "run_differential_per_game": -0.4821,
    "avg_runs_scored": 5.1071,
    "avg_runs_allowed": 5.5893,
    "offense_index": 1.1418,
    "defense_index": 0.8002,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 6.4,
      "avg_runs_allowed": 6.9,
      "run_differential": -5.0
    },
    "available": true,
    "quality_score": -0.0546
  },
  "opponent": {
    "team": "NYM",
    "games": 56,
    "wins": 22,
    "losses": 34,
    "win_pct": 0.3929,
    "runs_scored": 220.0,
    "runs_allowed": 236.0,
    "run_differential": -16.0,
    "run_differential_per_game": -0.2857,
    "avg_runs_scored": 3.9286,
    "avg_runs_allowed": 4.2143,
    "offense_index": 0.8783,
    "defense_index": 1.0613,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 6.4,
      "avg_runs_allowed": 5.1,
      "run_differential": 13.0
    },
    "available": true,
    "quality_score": -0.0912
  },
  "edges": {
    "quality_edge": 0.0366,
    "offense_edge": 0.1418,
    "opponent_offense_edge": -0.1217,
    "defense_strength": -0.1998,
    "opponent_defense_weakness": -0.0613,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.0003,
    "run_prevention": 0.9987,
    "strikeout": 1.0108
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "676917",
    "profile": {
      "available": true,
      "pitcher_id": "676917",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 190.0,
        "k_percent": 24.1,
        "bb_percent": 8.3,
        "woba": 0.345,
        "xwoba": 0.322,
        "sweet_spot_percent": 36.2,
        "barrel_batted_rate": 8.0,
        "hard_hit_percent": 41.3,
        "avg_best_speed": 79.256,
        "avg_hyper_speed": 94.4633,
        "whiff_percent": 24.7,
        "swing_percent": 45.7
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": -0.4126,
        "command_and_miss": 0.095,
        "regression_edge": 0.6571,
        "xwoba_edge": -0.2857,
        "barrel_edge": -0.1778,
        "hard_hit_edge": -0.3714,
        "whiff_edge": -0.1429,
        "bb_edge": 0.275,
        "pitch_design_score": 0.069
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "676917",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 89,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 89,
          "pitch_usage": 0.0,
          "release_speed": 90.91619730144518,
          "release_spin_rate": 2220.4971208223674,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 89,
            "pitch_usage": 0.0,
            "release_speed": 90.91619730144518,
            "release_spin_rate": 2220.4971208223674,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.9162,
          "release_spin_rate": 2220.4971,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.069,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.4931,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.1027,
      "sample_weight": 0.76,
      "run_prevention_factor": 1.0087,
      "strikeout_factor": 1.0017,
      "walk_factor": 0.9833,
      "homer_factor": 1.0286,
      "woba_minus_xwoba": 0.023,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "676917",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 2.0,
        "factor": 1.0066,
        "adjusted": 2
      },
      "predicted_H": {
        "original": 6.0,
        "factor": 1.0066,
        "adjusted": 6
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 0.9873,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0217,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 6.0,
        "factor": 1.0013,
        "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": 46.2,
    "ER": 21,
    "H": 54,
    "BB": 18,
    "SO": 52,
    "HR": 3,
    "ERA": 4.05,
    "WHIP": 1.542857142857143,
    "K9": 10.028571428571428,
    "HR9": 0.5785714285714286,
    "games_pitched": 10,
    "quality_starts": 3,
    "dominant_form": false,
    "struggling_form": true
  },
  "fielding": {
    "errors": 2,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-05-16T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "676917",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 89,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 89,
    "pitch_usage": 0.0,
    "release_speed": 90.91619730144518,
    "release_spin_rate": 2220.4971208223674,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 89,
      "pitch_usage": 0.0,
      "release_speed": 90.91619730144518,
      "release_spin_rate": 2220.4971208223674,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.9162,
    "release_spin_rate": 2220.4971,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.069,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.4931,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.5625,
    "last_10": 0.43749999999999994
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6667,
    "prior_weight": 0.3333
  },
  "role": "pitcher",
  "player_id": "676917",
  "report_date": "20260521_N",
  "season_year": 2026,
  "rows_used": 10,
  "reference_playing_time": 5.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 27.0,
        "ER": 12.0,
        "R": 15.0,
        "H": 32.0,
        "BB": 6.0,
        "SO": 34.0,
        "HR": 3.0,
        "BF": 123.0,
        "Pitches": 447.0
      },
      "per_game": {
        "IP": 5.1,
        "ER": 2.4,
        "R": 3.0,
        "H": 6.4,
        "BB": 1.2,
        "SO": 6.8,
        "HR": 0.6,
        "BF": 24.6,
        "Pitches": 89.4
      },
      "rates": {
        "ERA": 4.0,
        "WHIP": 1.4074,
        "ER_per_IP": 0.44444,
        "H_per_IP": 1.18519,
        "BB_per_IP": 0.22222,
        "SO_per_IP": 1.25926,
        "HR_per_IP": 0.11111
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 46.2,
        "ER": 21.0,
        "R": 28.0,
        "H": 54.0,
        "BB": 18.0,
        "SO": 52.0,
        "HR": 3.0,
        "BF": 216.0,
        "Pitches": 840.0
      },
      "per_game": {
        "IP": 4.2,
        "ER": 2.1,
        "R": 2.8,
        "H": 5.4,
        "BB": 1.8,
        "SO": 5.2,
        "HR": 0.3,
        "BF": 21.6,
        "Pitches": 84.0
      },
      "rates": {
        "ERA": 4.05,
        "WHIP": 1.5429,
        "ER_per_IP": 0.45,
        "H_per_IP": 1.15714,
        "BB_per_IP": 0.38571,
        "SO_per_IP": 1.11429,
        "HR_per_IP": 0.06429
      }
    },
    "season": {
      "games": 10,
      "totals": {
        "IP": 46.2,
        "ER": 21.0,
        "R": 28.0,
        "H": 54.0,
        "BB": 18.0,
        "SO": 52.0,
        "HR": 3.0,
        "BF": 216.0,
        "Pitches": 840.0
      },
      "per_game": {
        "IP": 4.2,
        "ER": 2.1,
        "R": 2.8,
        "H": 5.4,
        "BB": 1.8,
        "SO": 5.2,
        "HR": 0.3,
        "BF": 21.6,
        "Pitches": 84.0
      },
      "rates": {
        "ERA": 4.05,
        "WHIP": 1.5429,
        "ER_per_IP": 0.45,
        "H_per_IP": 1.15714,
        "BB_per_IP": 0.38571,
        "SO_per_IP": 1.11429,
        "HR_per_IP": 0.06429
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 5.0,
    "predicted_ER": 2.287,
    "predicted_H": 5.509,
    "predicted_BB": 1.615,
    "predicted_SO": 5.603,
    "predicted_HR": 0.522,
    "predicted_ERA": 4.0942,
    "predicted_WHIP": 1.4169
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4908,
  "form_weight": 0.5092,
  "form_reliability": 0.6667,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6667,
    "prior_weight": 0.3333
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 5.0,
      "form": 5.0,
      "final": 5.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 2.0,
      "form": 2.287,
      "final": 2.1461,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 5.0,
      "form": 5.509,
      "final": 5.2592,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 1.615,
      "final": 0.8223,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 5.0,
      "form": 5.603,
      "final": 5.307,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 2.0,
      "form": 0.522,
      "final": 1.2474,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.0942,
      "final": 4.0942,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.4169,
      "final": 1.4169,
      "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
PitcherBrad Lord
RoleMiddle Reliever
Projection Source-
Savant Quality Score0.0272
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.0595
Avg Velo90.7459
Avg Spin2399.7508
HB Inches0
IVB Inches0
Release Extension0
Pre IP1.1000
Pre ER0
Pre H0
Pre BB1
Pre SO2
Season ERA3.0938
Season WHIP1.0938
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "WAS",
    "games": 56,
    "wins": 26,
    "losses": 30,
    "win_pct": 0.4643,
    "runs_scored": 286.0,
    "runs_allowed": 313.0,
    "run_differential": -27.0,
    "run_differential_per_game": -0.4821,
    "avg_runs_scored": 5.1071,
    "avg_runs_allowed": 5.5893,
    "offense_index": 1.1418,
    "defense_index": 0.8002,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 6.4,
      "avg_runs_allowed": 6.9,
      "run_differential": -5.0
    },
    "available": true,
    "quality_score": -0.0546
  },
  "opponent": {
    "team": "NYM",
    "games": 56,
    "wins": 22,
    "losses": 34,
    "win_pct": 0.3929,
    "runs_scored": 220.0,
    "runs_allowed": 236.0,
    "run_differential": -16.0,
    "run_differential_per_game": -0.2857,
    "avg_runs_scored": 3.9286,
    "avg_runs_allowed": 4.2143,
    "offense_index": 0.8783,
    "defense_index": 1.0613,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 6.4,
      "avg_runs_allowed": 5.1,
      "run_differential": 13.0
    },
    "available": true,
    "quality_score": -0.0912
  },
  "edges": {
    "quality_edge": 0.0366,
    "offense_edge": 0.1418,
    "opponent_offense_edge": -0.1217,
    "defense_strength": -0.1998,
    "opponent_defense_weakness": -0.0613,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.0003,
    "run_prevention": 0.9987,
    "strikeout": 1.0108
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "695418",
    "profile": {
      "available": true,
      "pitcher_id": "695418",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 121.0,
        "k_percent": 19.4,
        "bb_percent": 4.5,
        "woba": 0.28,
        "xwoba": 0.309,
        "sweet_spot_percent": 23.5,
        "barrel_batted_rate": 6.2,
        "hard_hit_percent": 42.9,
        "avg_best_speed": 75.9049,
        "avg_hyper_speed": 94.7112,
        "whiff_percent": 22.6,
        "swing_percent": 53.0
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": 0.2966,
        "command_and_miss": -0.1221,
        "regression_edge": -0.8286,
        "xwoba_edge": 0.0857,
        "barrel_edge": 0.2222,
        "hard_hit_edge": -0.6,
        "whiff_edge": -0.4429,
        "bb_edge": 1.225,
        "pitch_design_score": 0.0595
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "695418",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 34,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 34,
          "pitch_usage": 0.0,
          "release_speed": 90.74586513506696,
          "release_spin_rate": 2399.750764134096,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 34,
            "pitch_usage": 0.0,
            "release_speed": 90.74586513506696,
            "release_spin_rate": 2399.750764134096,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.7459,
          "release_spin_rate": 2399.7508,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.0595,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.4249,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.0272,
      "sample_weight": 0.484,
      "run_prevention_factor": 0.9977,
      "strikeout_factor": 0.9823,
      "walk_factor": 0.9526,
      "homer_factor": 1.0018,
      "woba_minus_xwoba": -0.029,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "695418",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 0.9989,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9989,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9771,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0009,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 3.0,
        "factor": 0.9914,
        "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": 6,
    "H": 18,
    "BB": 3,
    "SO": 17,
    "HR": 2,
    "ERA": 2.7,
    "WHIP": 1.05,
    "K9": 7.65,
    "HR9": 0.9,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-05-19T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "695418",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 34,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 34,
    "pitch_usage": 0.0,
    "release_speed": 90.74586513506696,
    "release_spin_rate": 2399.750764134096,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 34,
      "pitch_usage": 0.0,
      "release_speed": 90.74586513506696,
      "release_spin_rate": 2399.750764134096,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.7459,
    "release_spin_rate": 2399.7508,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.0595,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.4249,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 6.34,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5591,
    "prior_weight": 0.4409
  },
  "role": "pitcher",
  "player_id": "695418",
  "report_date": "20260521_N",
  "season_year": 2026,
  "rows_used": 15,
  "reference_playing_time": 1.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 10.1,
        "ER": 2.0,
        "R": 2.0,
        "H": 10.0,
        "BB": 2.0,
        "SO": 12.0,
        "HR": 1.0,
        "BF": 44.0,
        "Pitches": 184.0
      },
      "per_game": {
        "IP": 2.0,
        "ER": 0.4,
        "R": 0.4,
        "H": 2.0,
        "BB": 0.4,
        "SO": 2.4,
        "HR": 0.2,
        "BF": 8.8,
        "Pitches": 36.8
      },
      "rates": {
        "ERA": 1.7419,
        "WHIP": 1.1613,
        "ER_per_IP": 0.19355,
        "H_per_IP": 0.96774,
        "BB_per_IP": 0.19355,
        "SO_per_IP": 1.16129,
        "HR_per_IP": 0.09677
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 20.0,
        "ER": 6.0,
        "R": 7.0,
        "H": 18.0,
        "BB": 3.0,
        "SO": 17.0,
        "HR": 2.0,
        "BF": 83.0,
        "Pitches": 327.0
      },
      "per_game": {
        "IP": 2.0,
        "ER": 0.6,
        "R": 0.7,
        "H": 1.8,
        "BB": 0.3,
        "SO": 1.7,
        "HR": 0.2,
        "BF": 8.3,
        "Pitches": 32.7
      },
      "rates": {
        "ERA": 2.7,
        "WHIP": 1.05,
        "ER_per_IP": 0.3,
        "H_per_IP": 0.9,
        "BB_per_IP": 0.15,
        "SO_per_IP": 0.85,
        "HR_per_IP": 0.1
      }
    },
    "season": {
      "games": 15,
      "totals": {
        "IP": 32.0,
        "ER": 11.0,
        "R": 12.0,
        "H": 29.0,
        "BB": 6.0,
        "SO": 26.0,
        "HR": 4.0,
        "BF": 134.0,
        "Pitches": 542.0
      },
      "per_game": {
        "IP": 2.0,
        "ER": 0.7333,
        "R": 0.8,
        "H": 1.9333,
        "BB": 0.4,
        "SO": 1.7333,
        "HR": 0.2667,
        "BF": 8.9333,
        "Pitches": 36.1333
      },
      "rates": {
        "ERA": 3.0938,
        "WHIP": 1.0938,
        "ER_per_IP": 0.34375,
        "H_per_IP": 0.90625,
        "BB_per_IP": 0.1875,
        "SO_per_IP": 0.8125,
        "HR_per_IP": 0.125
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 1.2,
    "predicted_ER": 0.603,
    "predicted_H": 1.597,
    "predicted_BB": 0.452,
    "predicted_SO": 1.653,
    "predicted_HR": 0.197,
    "predicted_ERA": 3.1814,
    "predicted_WHIP": 1.2008
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5363,
  "form_weight": 0.4637,
  "form_reliability": 0.5591,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 6.34,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5591,
    "prior_weight": 0.4409
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.1,
      "form": 1.2,
      "final": 1.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.603,
      "final": 0.2796,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 1.597,
      "final": 0.7406,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.452,
      "final": 0.7459,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 1.653,
      "final": 1.8391,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.197,
      "final": 0.0914,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.1814,
      "final": 3.1814,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2008,
      "final": 1.2008,
      "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
PitcherGus Varland
RoleMiddle Reliever
Projection Source-
Savant Quality Score-0.2492
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.1194
Avg Velo91.8164
Avg Spin2237.7038
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER1
Pre H1
Pre BB0
Pre SO0
Season ERA3.8571
Season WHIP1.4464
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "WAS",
    "games": 56,
    "wins": 26,
    "losses": 30,
    "win_pct": 0.4643,
    "runs_scored": 286.0,
    "runs_allowed": 313.0,
    "run_differential": -27.0,
    "run_differential_per_game": -0.4821,
    "avg_runs_scored": 5.1071,
    "avg_runs_allowed": 5.5893,
    "offense_index": 1.1418,
    "defense_index": 0.8002,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 6.4,
      "avg_runs_allowed": 6.9,
      "run_differential": -5.0
    },
    "available": true,
    "quality_score": -0.0546
  },
  "opponent": {
    "team": "NYM",
    "games": 56,
    "wins": 22,
    "losses": 34,
    "win_pct": 0.3929,
    "runs_scored": 220.0,
    "runs_allowed": 236.0,
    "run_differential": -16.0,
    "run_differential_per_game": -0.2857,
    "avg_runs_scored": 3.9286,
    "avg_runs_allowed": 4.2143,
    "offense_index": 0.8783,
    "defense_index": 1.0613,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 6.4,
      "avg_runs_allowed": 5.1,
      "run_differential": 13.0
    },
    "available": true,
    "quality_score": -0.0912
  },
  "edges": {
    "quality_edge": 0.0366,
    "offense_edge": 0.1418,
    "opponent_offense_edge": -0.1217,
    "defense_strength": -0.1998,
    "opponent_defense_weakness": -0.0613,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.0003,
    "run_prevention": 0.9987,
    "strikeout": 1.0108
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "681402",
    "profile": {
      "available": true,
      "pitcher_id": "681402",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 73.0,
        "k_percent": 22.0,
        "bb_percent": 8.5,
        "woba": 0.321,
        "xwoba": 0.337,
        "sweet_spot_percent": 40.4,
        "barrel_batted_rate": 12.5,
        "hard_hit_percent": 50.9,
        "avg_best_speed": 84.4752,
        "avg_hyper_speed": 96.3993,
        "whiff_percent": 27.3,
        "swing_percent": 52.1
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": -0.9614,
        "command_and_miss": 0.08,
        "regression_edge": -0.4571,
        "xwoba_edge": -0.7143,
        "barrel_edge": -1.1778,
        "hard_hit_edge": -1.7429,
        "whiff_edge": 0.2286,
        "bb_edge": 0.225,
        "pitch_design_score": 0.1194
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "681402",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 14,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 14,
          "pitch_usage": 0.0,
          "release_speed": 91.81640602745914,
          "release_spin_rate": 2237.703807428693,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 14,
            "pitch_usage": 0.0,
            "release_speed": 91.81640602745914,
            "release_spin_rate": 2237.703807428693,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.8164,
          "release_spin_rate": 2237.7038,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.1194,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.8532,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.2492,
      "sample_weight": 0.45,
      "run_prevention_factor": 1.0212,
      "strikeout_factor": 1.0023,
      "walk_factor": 0.9919,
      "homer_factor": 1.0834,
      "woba_minus_xwoba": -0.016,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "681402",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 1.0095,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 1.0095,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9964,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0375,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.001,
        "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": 5,
    "H": 11,
    "BB": 4,
    "SO": 8,
    "HR": 0,
    "ERA": 4.500000000000001,
    "WHIP": 1.5000000000000002,
    "K9": 7.200000000000001,
    "HR9": 0.0,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 1,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-05-18T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "681402",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 14,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 14,
    "pitch_usage": 0.0,
    "release_speed": 91.81640602745914,
    "release_spin_rate": 2237.703807428693,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 14,
      "pitch_usage": 0.0,
      "release_speed": 91.81640602745914,
      "release_spin_rate": 2237.703807428693,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.8164,
    "release_spin_rate": 2237.7038,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1194,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.8532,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 3.698,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4252,
    "prior_weight": 0.5748
  },
  "role": "pitcher",
  "player_id": "681402",
  "report_date": "20260521_N",
  "season_year": 2026,
  "rows_used": 19,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.1,
        "ER": 3.0,
        "R": 4.0,
        "H": 5.0,
        "BB": 4.0,
        "SO": 4.0,
        "HR": 0.0,
        "BF": 24.0,
        "Pitches": 83.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.6,
        "R": 0.8,
        "H": 1.0,
        "BB": 0.8,
        "SO": 0.8,
        "HR": 0.0,
        "BF": 4.8,
        "Pitches": 16.6
      },
      "rates": {
        "ERA": 5.0625,
        "WHIP": 1.6875,
        "ER_per_IP": 0.5625,
        "H_per_IP": 0.9375,
        "BB_per_IP": 0.75,
        "SO_per_IP": 0.75,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.0,
        "ER": 5.0,
        "R": 6.0,
        "H": 11.0,
        "BB": 4.0,
        "SO": 8.0,
        "HR": 0.0,
        "BF": 44.0,
        "Pitches": 145.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.5,
        "R": 0.6,
        "H": 1.1,
        "BB": 0.4,
        "SO": 0.8,
        "HR": 0.0,
        "BF": 4.4,
        "Pitches": 14.5
      },
      "rates": {
        "ERA": 4.5,
        "WHIP": 1.5,
        "ER_per_IP": 0.5,
        "H_per_IP": 1.1,
        "BB_per_IP": 0.4,
        "SO_per_IP": 0.8,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 19,
      "totals": {
        "IP": 18.2,
        "ER": 8.0,
        "R": 9.0,
        "H": 20.0,
        "BB": 7.0,
        "SO": 18.0,
        "HR": 1.0,
        "BF": 82.0,
        "Pitches": 288.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4211,
        "R": 0.4737,
        "H": 1.0526,
        "BB": 0.3684,
        "SO": 0.9474,
        "HR": 0.0526,
        "BF": 4.3158,
        "Pitches": 15.1579
      },
      "rates": {
        "ERA": 3.8571,
        "WHIP": 1.4464,
        "ER_per_IP": 0.42857,
        "H_per_IP": 1.07143,
        "BB_per_IP": 0.375,
        "SO_per_IP": 0.96429,
        "HR_per_IP": 0.05357
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.489,
    "predicted_H": 0.975,
    "predicted_BB": 0.451,
    "predicted_SO": 0.891,
    "predicted_HR": 0.079,
    "predicted_ERA": 4.4028,
    "predicted_WHIP": 1.4264
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5929,
  "form_weight": 0.4071,
  "form_reliability": 0.4252,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 3.698,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4252,
    "prior_weight": 0.5748
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 0.489,
      "final": 0.7919,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.975,
      "final": 0.9898,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.451,
      "final": 0.1836,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 0.891,
      "final": 0.3628,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.079,
      "final": 0.625,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.4028,
      "final": 4.4028,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.4264,
      "final": 1.4264,
      "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
PitcherRichard Lovelady
RoleMiddle Reliever
Projection Source-
Savant Quality Score-0.0951
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.1600
Avg Velo86.8268
Avg Spin2393.4428
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER1
Pre H1
Pre BB1
Pre SO0
Season ERA2.6129
Season WHIP1.6452
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "WAS",
    "games": 56,
    "wins": 26,
    "losses": 30,
    "win_pct": 0.4643,
    "runs_scored": 286.0,
    "runs_allowed": 313.0,
    "run_differential": -27.0,
    "run_differential_per_game": -0.4821,
    "avg_runs_scored": 5.1071,
    "avg_runs_allowed": 5.5893,
    "offense_index": 1.1418,
    "defense_index": 0.8002,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 6.4,
      "avg_runs_allowed": 6.9,
      "run_differential": -5.0
    },
    "available": true,
    "quality_score": -0.0546
  },
  "opponent": {
    "team": "NYM",
    "games": 56,
    "wins": 22,
    "losses": 34,
    "win_pct": 0.3929,
    "runs_scored": 220.0,
    "runs_allowed": 236.0,
    "run_differential": -16.0,
    "run_differential_per_game": -0.2857,
    "avg_runs_scored": 3.9286,
    "avg_runs_allowed": 4.2143,
    "offense_index": 0.8783,
    "defense_index": 1.0613,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 6.4,
      "avg_runs_allowed": 5.1,
      "run_differential": 13.0
    },
    "available": true,
    "quality_score": -0.0912
  },
  "edges": {
    "quality_edge": 0.0366,
    "offense_edge": 0.1418,
    "opponent_offense_edge": -0.1217,
    "defense_strength": -0.1998,
    "opponent_defense_weakness": -0.0613,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.0003,
    "run_prevention": 0.9987,
    "strikeout": 1.0108
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "663992",
    "profile": {
      "available": true,
      "pitcher_id": "663992",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 83.0,
        "k_percent": 21.5,
        "bb_percent": 15.1,
        "woba": 0.341,
        "xwoba": 0.334,
        "sweet_spot_percent": 29.3,
        "barrel_batted_rate": 5.4,
        "hard_hit_percent": 34.5,
        "avg_best_speed": 78.5777,
        "avg_hyper_speed": 94.27,
        "whiff_percent": 26.5,
        "swing_percent": 44.5
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": -0.2408,
        "command_and_miss": -0.3221,
        "regression_edge": 0.2,
        "xwoba_edge": -0.6286,
        "barrel_edge": 0.4,
        "hard_hit_edge": 0.6,
        "whiff_edge": 0.1143,
        "bb_edge": -1.425,
        "pitch_design_score": -0.16
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "663992",
        "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": 86.82684859279509,
          "release_spin_rate": 2393.442798262471,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 86.82684859279509,
            "release_spin_rate": 2393.442798262471,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 86.8268,
          "release_spin_rate": 2393.4428,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.16,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -1.1427,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.0951,
      "sample_weight": 0.45,
      "run_prevention_factor": 1.0081,
      "strikeout_factor": 0.999,
      "walk_factor": 1.0513,
      "homer_factor": 0.9833,
      "woba_minus_xwoba": 0.007,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "663992",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 1.0036,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 1.0036,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0231,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9925,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 0.9996,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 9.1,
    "ER": 2,
    "H": 9,
    "BB": 7,
    "SO": 10,
    "HR": 1,
    "ERA": 1.9285714285714288,
    "WHIP": 1.7142857142857144,
    "K9": 9.642857142857144,
    "HR9": 0.9642857142857144,
    "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-05-19T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "663992",
  "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": 86.82684859279509,
    "release_spin_rate": 2393.442798262471,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 86.82684859279509,
      "release_spin_rate": 2393.442798262471,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 86.8268,
    "release_spin_rate": 2393.4428,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.16,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -1.1427,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.094,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4502,
    "prior_weight": 0.5498
  },
  "role": "pitcher",
  "player_id": "663992",
  "report_date": "20260521_N",
  "season_year": 2026,
  "rows_used": 19,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.2,
        "ER": 2.0,
        "R": 2.0,
        "H": 5.0,
        "BB": 3.0,
        "SO": 6.0,
        "HR": 1.0,
        "BF": 23.0,
        "Pitches": 95.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.4,
        "H": 1.0,
        "BB": 0.6,
        "SO": 1.2,
        "HR": 0.2,
        "BF": 4.6,
        "Pitches": 19.0
      },
      "rates": {
        "ERA": 3.1765,
        "WHIP": 1.4118,
        "ER_per_IP": 0.35294,
        "H_per_IP": 0.88235,
        "BB_per_IP": 0.52941,
        "SO_per_IP": 1.05882,
        "HR_per_IP": 0.17647
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.1,
        "ER": 2.0,
        "R": 2.0,
        "H": 9.0,
        "BB": 7.0,
        "SO": 10.0,
        "HR": 1.0,
        "BF": 43.0,
        "Pitches": 159.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.9,
        "BB": 0.7,
        "SO": 1.0,
        "HR": 0.1,
        "BF": 4.3,
        "Pitches": 15.9
      },
      "rates": {
        "ERA": 1.9286,
        "WHIP": 1.7143,
        "ER_per_IP": 0.21429,
        "H_per_IP": 0.96429,
        "BB_per_IP": 0.75,
        "SO_per_IP": 1.07143,
        "HR_per_IP": 0.10714
      }
    },
    "season": {
      "games": 19,
      "totals": {
        "IP": 20.2,
        "ER": 6.0,
        "R": 8.0,
        "H": 20.0,
        "BB": 14.0,
        "SO": 20.0,
        "HR": 2.0,
        "BF": 93.0,
        "Pitches": 348.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3158,
        "R": 0.4211,
        "H": 1.0526,
        "BB": 0.7368,
        "SO": 1.0526,
        "HR": 0.1053,
        "BF": 4.8947,
        "Pitches": 18.3158
      },
      "rates": {
        "ERA": 2.6129,
        "WHIP": 1.6452,
        "ER_per_IP": 0.29032,
        "H_per_IP": 0.96774,
        "BB_per_IP": 0.67742,
        "SO_per_IP": 0.96774,
        "HR_per_IP": 0.09677
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.39,
    "predicted_H": 0.935,
    "predicted_BB": 0.493,
    "predicted_SO": 0.994,
    "predicted_HR": 0.133,
    "predicted_ERA": 3.5132,
    "predicted_WHIP": 1.4286
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5823,
  "form_weight": 0.4177,
  "form_reliability": 0.4502,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.094,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4502,
    "prior_weight": 0.5498
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 0.39,
      "final": 0.7452,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 0.935,
      "final": 1.5551,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.493,
      "final": 0.7882,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 0.994,
      "final": 0.4152,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.133,
      "final": 0.0556,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.5132,
      "final": 3.5132,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.4286,
      "final": 1.4286,
      "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
PitcherPJ Poulin
RoleMiddle Reliever
Projection Source-
Savant Quality Score-0.4456
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.2800
Avg Velo84.1529
Avg Spin2121.7505
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER1
Pre H1
Pre BB1
Pre SO1
Season ERA2.9077
Season WHIP1.4769
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "WAS",
    "games": 56,
    "wins": 26,
    "losses": 30,
    "win_pct": 0.4643,
    "runs_scored": 286.0,
    "runs_allowed": 313.0,
    "run_differential": -27.0,
    "run_differential_per_game": -0.4821,
    "avg_runs_scored": 5.1071,
    "avg_runs_allowed": 5.5893,
    "offense_index": 1.1418,
    "defense_index": 0.8002,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 6.4,
      "avg_runs_allowed": 6.9,
      "run_differential": -5.0
    },
    "available": true,
    "quality_score": -0.0546
  },
  "opponent": {
    "team": "NYM",
    "games": 56,
    "wins": 22,
    "losses": 34,
    "win_pct": 0.3929,
    "runs_scored": 220.0,
    "runs_allowed": 236.0,
    "run_differential": -16.0,
    "run_differential_per_game": -0.2857,
    "avg_runs_scored": 3.9286,
    "avg_runs_allowed": 4.2143,
    "offense_index": 0.8783,
    "defense_index": 1.0613,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 6.4,
      "avg_runs_allowed": 5.1,
      "run_differential": 13.0
    },
    "available": true,
    "quality_score": -0.0912
  },
  "edges": {
    "quality_edge": 0.0366,
    "offense_edge": 0.1418,
    "opponent_offense_edge": -0.1217,
    "defense_strength": -0.1998,
    "opponent_defense_weakness": -0.0613,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.0003,
    "run_prevention": 0.9987,
    "strikeout": 1.0108
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "676571",
    "profile": {
      "available": true,
      "pitcher_id": "676571",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 88.0,
        "k_percent": 16.7,
        "bb_percent": 14.6,
        "woba": 0.332,
        "xwoba": 0.364,
        "sweet_spot_percent": 26.2,
        "barrel_batted_rate": 11.1,
        "hard_hit_percent": 49.2,
        "avg_best_speed": 82.7795,
        "avg_hyper_speed": 95.8409,
        "whiff_percent": 16.7,
        "swing_percent": 42.1
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": -1.0561,
        "command_and_miss": -1.0957,
        "regression_edge": -0.9143,
        "xwoba_edge": -1.4857,
        "barrel_edge": -0.8667,
        "hard_hit_edge": -1.5,
        "whiff_edge": -1.2857,
        "bb_edge": -1.3,
        "pitch_design_score": -0.28
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "676571",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 18,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 18,
          "pitch_usage": 0.0,
          "release_speed": 84.15293306071668,
          "release_spin_rate": 2121.7505356573515,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 18,
            "pitch_usage": 0.0,
            "release_speed": 84.15293306071668,
            "release_spin_rate": 2121.7505356573515,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 84.1529,
          "release_spin_rate": 2121.7505,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "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.4456,
      "sample_weight": 0.45,
      "run_prevention_factor": 1.0379,
      "strikeout_factor": 0.9614,
      "walk_factor": 1.0468,
      "homer_factor": 1.0783,
      "woba_minus_xwoba": -0.032,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "676571",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 1.0171,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 1.0171,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0211,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0352,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 0.0,
        "factor": 0.9826,
        "adjusted": 0
      }
    }
  }
}
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": 7,
    "BB": 7,
    "SO": 8,
    "HR": 0,
    "ERA": 1.9285714285714284,
    "WHIP": 1.5,
    "K9": 7.7142857142857135,
    "HR9": 0.0,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-05-18T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "676571",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 18,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 18,
    "pitch_usage": 0.0,
    "release_speed": 84.15293306071668,
    "release_spin_rate": 2121.7505356573515,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 18,
      "pitch_usage": 0.0,
      "release_speed": 84.15293306071668,
      "release_spin_rate": 2121.7505356573515,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 84.1529,
    "release_spin_rate": 2121.7505,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.292,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4619,
    "prior_weight": 0.5381
  },
  "role": "pitcher",
  "player_id": "676571",
  "report_date": "20260521_N",
  "season_year": 2026,
  "rows_used": 23,
  "reference_playing_time": 0.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 3.1,
        "ER": 0.0,
        "R": 2.0,
        "H": 3.0,
        "BB": 4.0,
        "SO": 2.0,
        "HR": 0.0,
        "BF": 17.0,
        "Pitches": 80.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.0,
        "R": 0.4,
        "H": 0.6,
        "BB": 0.8,
        "SO": 0.4,
        "HR": 0.0,
        "BF": 3.4,
        "Pitches": 16.0
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 2.1,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.9,
        "BB_per_IP": 1.2,
        "SO_per_IP": 0.6,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.1,
        "ER": 2.0,
        "R": 4.0,
        "H": 7.0,
        "BB": 7.0,
        "SO": 8.0,
        "HR": 0.0,
        "BF": 43.0,
        "Pitches": 188.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.4,
        "H": 0.7,
        "BB": 0.7,
        "SO": 0.8,
        "HR": 0.0,
        "BF": 4.3,
        "Pitches": 18.8
      },
      "rates": {
        "ERA": 1.9286,
        "WHIP": 1.5,
        "ER_per_IP": 0.21429,
        "H_per_IP": 0.75,
        "BB_per_IP": 0.75,
        "SO_per_IP": 0.85714,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 23,
      "totals": {
        "IP": 21.2,
        "ER": 7.0,
        "R": 9.0,
        "H": 18.0,
        "BB": 14.0,
        "SO": 16.0,
        "HR": 3.0,
        "BF": 96.0,
        "Pitches": 413.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3043,
        "R": 0.3913,
        "H": 0.7826,
        "BB": 0.6087,
        "SO": 0.6957,
        "HR": 0.1304,
        "BF": 4.1739,
        "Pitches": 17.9565
      },
      "rates": {
        "ERA": 2.9077,
        "WHIP": 1.4769,
        "ER_per_IP": 0.32308,
        "H_per_IP": 0.83077,
        "BB_per_IP": 0.64615,
        "SO_per_IP": 0.73846,
        "HR_per_IP": 0.13846
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 0.2,
    "predicted_ER": 0.239,
    "predicted_H": 0.67,
    "predicted_BB": 0.475,
    "predicted_SO": 0.634,
    "predicted_HR": 0.062,
    "predicted_ERA": 2.8613,
    "predicted_WHIP": 1.5243
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5773,
  "form_weight": 0.4227,
  "form_reliability": 0.4619,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.292,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4619,
    "prior_weight": 0.5381
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.2,
      "form": 0.2,
      "final": 0.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 0.239,
      "final": 0.6784,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.67,
      "final": 0.8605,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.475,
      "final": 0.7781,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.634,
      "final": 0.8453,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.062,
      "final": 0.0262,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.8613,
      "final": 2.8613,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.5243,
      "final": 1.5243,
      "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."
}
Curtis Mead (678554) · BATTER · 3B · Team WAS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 116
All-history rows before 20260521: 116
System season_avg: 0.2600
Data season_avg (2026 season-to-date): 0.2604
Diff (system - data): -0.0004
System opponent_avg: 0.6740

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2760.0001.000Hitting_2B0.2760.000-0.2760.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.1123.0006.000Hitting_AB3.1124.000-0.112-1.000
predicted_AVG0.2420.0000.167Hitting_AVG0.2600.250-0.260-0.250
predicted_BB0.6031.0001.000Hitting_BB0.6030.0000.3971.000
predicted_CS-0.0000.000BaseRunning_CS0.0430.000-0.0430.000
predicted_H0.3000.0001.000Hitting_H0.8101.000-0.810-1.000
predicted_HR0.0500.0000.000Hitting_HR0.1470.000-0.1470.000
predicted_OBP0.3520.2000.286Hitting_OBP0.3960.250-0.196-0.050
predicted_R0.6641.0001.000Hitting_R0.6641.0000.3360.000
predicted_RBI0.1901.0001.000Hitting_RBI0.5520.0000.4481.000
predicted_SLG0.4020.0000.333Hitting_SLG0.4900.250-0.490-0.250
predicted_SO0.5861.0001.000Hitting_SO0.5861.0000.4140.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics6
Deboosted Metrics5
Better Metrics5
Worse Metrics6
Biggest Boostpredicted_RBI: 0.1900 -> 1.0000 (boost 0.8100, better)
Biggest Deboostpredicted_H: 0.3000 -> 0.0000 (deboost -0.3000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend11110101predicted_AB: 3.1120 -> 5.5736 (boost 2.4616, 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.2600 -> 0.2267 (deboost -0.0333, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling73434predicted_AB: 5.5736 -> 6.0000 (boost 0.4264, better)predicted_BB: 1.3785 -> 1.0000 (deboost -0.3785, worse)AB rounded to 6 (raw=5.57), rates preserved: AVG=0.227 HR/AB=0.031
5consistency_constraints10101-predicted_R: 1.1585 -> 1.0000 (deboost -0.1585, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context30303-predicted_SLG: 0.4283 -> 0.3330 (deboost -0.0953, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference41303predicted_SF: 0.0000 -> 1.0000 (boost 1.0000, higher)predicted_AB: 6.0000 -> 3.0000 (deboost -3.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final33030predicted_SLG: 0.3330 -> 0.4283 (boost 0.0953, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "678554",
  "player_name": "Curtis Mead",
  "position": "3B",
  "team": "WAS",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.276,
        "predicted_3B": 0.0,
        "predicted_AB": 3.112,
        "predicted_AVG": 0.242,
        "predicted_BB": 0.603,
        "predicted_H": 0.3,
        "predicted_HR": 0.05,
        "predicted_OBP": 0.352,
        "predicted_R": 0.664,
        "predicted_RBI": 0.19,
        "predicted_SLG": 0.402,
        "predicted_SO": 0.586
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.6082,
        "predicted_3B": 0.0009,
        "predicted_AB": 5.5736,
        "predicted_AVG": 0.26,
        "predicted_BB": 1.3692,
        "predicted_H": 1.2499,
        "predicted_HBP": 0.204,
        "predicted_HR": 0.1691,
        "predicted_OBP": 0.3875,
        "predicted_R": 1.1377,
        "predicted_RBI": 0.8289,
        "predicted_SLG": 0.4502,
        "predicted_SO": 0.9639
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.276,
          "after": 0.6082,
          "delta": 0.3322,
          "percent_delta": 1.2036,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.112,
          "after": 5.5736,
          "delta": 2.4616,
          "percent_delta": 0.791,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.242,
          "after": 0.26,
          "delta": 0.018,
          "percent_delta": 0.0744,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.603,
          "after": 1.3692,
          "delta": 0.7662,
          "percent_delta": 1.2706,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.3,
          "after": 1.2499,
          "delta": 0.9499,
          "percent_delta": 3.1663,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.05,
          "after": 0.1691,
          "delta": 0.1191,
          "percent_delta": 2.382,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.352,
          "after": 0.3875,
          "delta": 0.0355,
          "percent_delta": 0.1009,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.664,
          "after": 1.1377,
          "delta": 0.4737,
          "percent_delta": 0.7134,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.19,
          "after": 0.8289,
          "delta": 0.6389,
          "percent_delta": 3.3626,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.402,
          "after": 0.4502,
          "delta": 0.0482,
          "percent_delta": 0.1199,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.586,
          "after": 0.9639,
          "delta": 0.3779,
          "percent_delta": 0.6449,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 11,
        "boosted_metrics": 11,
        "deboosted_metrics": 0,
        "better_metrics": 10,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.112,
          "after": 5.5736,
          "delta": 2.4616,
          "percent_delta": 0.791,
          "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": 2,
        "last_10": 4,
        "season": 36
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.6082,
        "predicted_3B": 0.0009,
        "predicted_AB": 5.5736,
        "predicted_AVG": 0.2267,
        "predicted_BB": 1.3785,
        "predicted_H": 1.2633,
        "predicted_HBP": 0.204,
        "predicted_HR": 0.1712,
        "predicted_OBP": 0.38,
        "predicted_R": 1.1585,
        "predicted_RBI": 0.8441,
        "predicted_SLG": 0.4283,
        "predicted_SO": 0.9573
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.6082,
          "after": 0.6082,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.5736,
          "after": 5.5736,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.26,
          "after": 0.2267,
          "delta": -0.0333,
          "percent_delta": -0.1281,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.3692,
          "after": 1.3785,
          "delta": 0.0093,
          "percent_delta": 0.0068,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.2499,
          "after": 1.2633,
          "delta": 0.0134,
          "percent_delta": 0.0107,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.204,
          "after": 0.204,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1691,
          "after": 0.1712,
          "delta": 0.0021,
          "percent_delta": 0.0124,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3875,
          "after": 0.38,
          "delta": -0.0075,
          "percent_delta": -0.0194,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.1377,
          "after": 1.1585,
          "delta": 0.0208,
          "percent_delta": 0.0183,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.8289,
          "after": 0.8441,
          "delta": 0.0152,
          "percent_delta": 0.0183,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4502,
          "after": 0.4283,
          "delta": -0.0219,
          "percent_delta": -0.0486,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9639,
          "after": 0.9573,
          "delta": -0.0066,
          "percent_delta": -0.0068,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.26,
          "after": 0.2267,
          "delta": -0.0333,
          "percent_delta": -0.1281,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 6 (raw=5.57), rates preserved: AVG=0.227 HR/AB=0.031",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.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.6082,
          "after": 1.0,
          "delta": 0.3918,
          "percent_delta": 0.6442,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.5736,
          "after": 6.0,
          "delta": 0.4264,
          "percent_delta": 0.0765,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.3785,
          "after": 1.0,
          "delta": -0.3785,
          "percent_delta": -0.2746,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.2633,
          "after": 1.0,
          "delta": -0.2633,
          "percent_delta": -0.2084,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.204,
          "after": 0.0,
          "delta": -0.204,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1712,
          "after": 0.0,
          "delta": -0.1712,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.8441,
          "after": 1.0,
          "delta": 0.1559,
          "percent_delta": 0.1847,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9573,
          "after": 1.0,
          "delta": 0.0427,
          "percent_delta": 0.0446,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 3,
        "deboosted_metrics": 4,
        "better_metrics": 3,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 5.5736,
          "after": 6.0,
          "delta": 0.4264,
          "percent_delta": 0.0765,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.3785,
          "after": 1.0,
          "delta": -0.3785,
          "percent_delta": -0.2746,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.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": 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": 6.0,
          "after": 6.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": 1.1585,
          "after": 1.0,
          "delta": -0.1585,
          "percent_delta": -0.1368,
          "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": 1.1585,
          "after": 1.0,
          "delta": -0.1585,
          "percent_delta": -0.1368,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_AVG": 0.167,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.286,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.333,
        "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": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2267,
          "after": 0.167,
          "delta": -0.0597,
          "percent_delta": -0.2633,
          "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.38,
          "after": 0.286,
          "delta": -0.094,
          "percent_delta": -0.2474,
          "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.4283,
          "after": 0.333,
          "delta": -0.0953,
          "percent_delta": -0.2225,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.4283,
          "after": 0.333,
          "delta": -0.0953,
          "percent_delta": -0.2225,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 1.0,
        "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": 6.0,
          "after": 3.0,
          "delta": -3.0,
          "percent_delta": -0.5,
          "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": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "higher",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "higher",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 3.0,
          "delta": -3.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2267,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.38,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 1.0,
        "predicted_SLG": 0.4283,
        "predicted_SO": 1.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.167,
          "after": 0.2267,
          "delta": 0.0597,
          "percent_delta": 0.3572,
          "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.286,
          "after": 0.38,
          "delta": 0.094,
          "percent_delta": 0.3287,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.333,
          "after": 0.4283,
          "delta": 0.0953,
          "percent_delta": 0.2861,
          "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.333,
          "after": 0.4283,
          "delta": 0.0953,
          "percent_delta": 0.2861,
          "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.276,
        "after": 0.0,
        "delta": -0.276,
        "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.112,
        "after": 3.0,
        "delta": -0.112,
        "percent_delta": -0.036,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.242,
        "after": 0.2267,
        "delta": -0.0153,
        "percent_delta": -0.0632,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.603,
        "after": 1.0,
        "delta": 0.397,
        "percent_delta": 0.6584,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.3,
        "after": 0.0,
        "delta": -0.3,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.05,
        "after": 0.0,
        "delta": -0.05,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.352,
        "after": 0.38,
        "delta": 0.028,
        "percent_delta": 0.0795,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.664,
        "after": 1.0,
        "delta": 0.336,
        "percent_delta": 0.506,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.19,
        "after": 1.0,
        "delta": 0.81,
        "percent_delta": 4.2632,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.402,
        "after": 0.4283,
        "delta": 0.0263,
        "percent_delta": 0.0654,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.586,
        "after": 1.0,
        "delta": 0.414,
        "percent_delta": 0.7065,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 6,
      "deboosted_metrics": 5,
      "better_metrics": 5,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.19,
        "after": 1.0,
        "delta": 0.81,
        "percent_delta": 4.2632,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.3,
        "after": 0.0,
        "delta": -0.3,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

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.276-
predicted_3B0.000-
predicted_AB3.112-
predicted_AVG0.242-
predicted_BB0.603-
predicted_H0.300-
predicted_HR0.050-
predicted_OBP0.352-
predicted_R0.664-
predicted_RBI0.190-
predicted_SLG0.402-
predicted_SO0.586-
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.6080.332
predicted_3B0.0010.001
predicted_AB5.5742.462
predicted_AVG0.2600.018
predicted_BB1.3690.766
predicted_H1.2500.950
predicted_HBP0.204-
predicted_HR0.1690.119
predicted_OBP0.3880.036
predicted_R1.1380.474
predicted_RBI0.8290.639
predicted_SLG0.4500.048
predicted_SO0.9640.378
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.6080.000
predicted_3B0.0010.000
predicted_AB5.5740.000
predicted_AVG0.227-0.033
predicted_BB1.3790.009
predicted_H1.2630.013
predicted_HBP0.2040.000
predicted_HR0.1710.002
predicted_OBP0.380-0.008
predicted_R1.1590.021
predicted_RBI0.8440.015
predicted_SLG0.428-0.022
predicted_SO0.957-0.007
4. ab_floor_and_scaling

AB rounded to 6 (raw=5.57), rates preserved: AVG=0.227 HR/AB=0.031

MetricValueDelta vs Prev Step
2B1.000-
3B0.000-
AB6.000-
BB1.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB6.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
6. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B1.0000.392
predicted_3B0.000-0.001
predicted_AB6.0000.426
predicted_AVG0.167-0.060
predicted_BB1.000-0.379
predicted_H1.000-0.263
predicted_HR0.000-0.171
predicted_OBP0.286-0.094
predicted_R1.000-0.159
predicted_RBI1.0000.156
predicted_SLG0.333-0.095
predicted_SO1.0000.043
7. 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-3.000
BB1.0000.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R1.0000.000
RBI1.0000.000
SB0.0000.000
SF1.0001.000
SO1.0000.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.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-12.0005.0004.0000.0000.0004.0001.0008.0001.0000.41670.65000.75000.41670.00000.33330.66670.0833
last_100.204-23.0008.0004.0000.0000.0004.0006.00013.0001.0000.34780.58330.52170.34780.00000.17390.56520.0435
season0.6036-361.00094.00032.0000.00017.00064.00077.00070.00068.0000.26040.39590.49030.26040.04710.17730.19390.1884
Weighted Prediction From Real Data
MetricValue
predicted_2B1.0460
predicted_3B0.0020
predicted_AB8.8180
predicted_AVG0.2838
predicted_BB2.3790
predicted_H2.5020
predicted_HBP0.2040
predicted_HR0.3260
predicted_OBP0.4342
predicted_R1.7620
predicted_RBI1.6710
predicted_SLG0.5137
predicted_SO1.4620
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.27601.04600.6082model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB3.11208.81805.5736model_form_blend
predicted_AVG0.24200.28380.2600model_form_blend
predicted_BB0.60302.37901.3692model_form_blend
predicted_H0.30002.50201.2499model_form_blend
predicted_HBP-0.20400.2040form_only
predicted_HR0.05000.32600.1691model_form_blend
predicted_OBP0.35200.43420.3875model_form_blend
predicted_R0.66401.76201.1377model_form_blend
predicted_RBI0.19001.67100.8289model_form_blend
predicted_SLG0.40200.51370.4502model_form_blend
predicted_SO0.58601.46200.9639model_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 date116
Season rows before report date116
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
PA5
AB3
H0
2B0
3B0
HR0
R1
RBI1
BB1
SO1
SF1
HBP0
season_avg0.26

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
allPositionsPlayed3B
gameID20260520_NYM@WAS
game_typefull
mlbID678554
playerID678554
playerNameCurtis Mead
pos1B
startedTrue
startingPosition3B
teamWAS
teamID30
game_date2026-05-20
sl_k_percent14.9
sl_bb_percent15.8
sl_woba0.366
sl_xwoba0.377
sl_xba0.264
sl_xslg0.454
sl_sweet_spot_percent31.2
sl_barrel_batted_rate9.1
sl_hard_hit_percent46.8
sl_exit_velocity_avg89.4
sl_launch_angle_avg14.1
sl_whiff_percent16.8
sl_swing_percent40.9
Andrés Chaparro (665953) · BATTER · 1B · Team WAS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 11
All-history rows before 20260521: 11
System season_avg: 0.2140
Data season_avg (2026 season-to-date): 0.2143
Diff (system - data): -0.0003
System opponent_avg: 0.2860

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.3000.0000.000Hitting_2B0.2730.000-0.2730.000
predicted_3B0.0001.0000.000Hitting_3B0.0000.0001.0001.000
predicted_AB2.8004.0003.000Hitting_AB2.5451.0001.4553.000
predicted_AVG0.2750.5000.333Hitting_AVG0.2140.0000.2860.500
predicted_BB0.1001.0000.000Hitting_BB0.1821.0000.8180.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.6002.0001.000Hitting_H0.5450.0001.4552.000
predicted_HR0.0800.0000.000Hitting_HR0.0000.0000.0000.000
predicted_OBP0.3040.6000.333Hitting_OBP0.2670.5000.3330.100
predicted_R0.4000.0000.000Hitting_R0.3641.000-0.364-1.000
predicted_RBI0.2800.0000.000Hitting_RBI0.0000.0000.0000.000
predicted_SLG0.3931.0000.333Hitting_SLG0.3210.0000.6791.000
predicted_SO0.6001.0001.000Hitting_SO0.5450.0000.4551.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics12
Boosted Metrics5
Deboosted Metrics7
Better Metrics4
Worse Metrics8
Biggest Boostpredicted_H: 0.6000 -> 2.0000 (boost 1.4000, better)
Biggest Deboostpredicted_R: 0.4000 -> 0.0000 (deboost -0.4000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend63324predicted_AB: 2.8000 -> 3.2899 (boost 0.4899, better)predicted_SLG: 0.3930 -> 0.3490 (deboost -0.0440, worse)Final model 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_AVG: 0.2384 -> 0.1917 (deboost -0.0467, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling72516predicted_H: 0.6308 -> 1.0000 (boost 0.3692, better)predicted_RBI: 0.2903 -> 0.0000 (deboost -0.2903, worse)AB rounded to 3 (raw=3.29), rates preserved: AVG=0.192 HR/AB=0.024
5bvp_blend00000--Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.333)
6consistency_constraints10101-predicted_R: 0.4355 -> 0.0000 (deboost -0.4355, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context32121predicted_AVG: 0.1917 -> 0.3330 (boost 0.1413, better)predicted_SLG: 0.3450 -> 0.3330 (deboost -0.0120, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference44040predicted_3B: 0.0000 -> 1.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
9current_json_final31212predicted_SLG: 0.3330 -> 0.3450 (boost 0.0120, better)predicted_AVG: 0.3330 -> 0.1917 (deboost -0.1413, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "665953",
  "player_name": "Andrés Chaparro",
  "position": "1B",
  "team": "WAS",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.3,
        "predicted_3B": 0.0,
        "predicted_AB": 2.8,
        "predicted_AVG": 0.275,
        "predicted_BB": 0.1,
        "predicted_H": 0.6,
        "predicted_HR": 0.08,
        "predicted_OBP": 0.304,
        "predicted_R": 0.4,
        "predicted_RBI": 0.28,
        "predicted_SLG": 0.393,
        "predicted_SO": 0.6
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2605,
        "predicted_3B": 0.0027,
        "predicted_AB": 3.2899,
        "predicted_AVG": 0.2384,
        "predicted_BB": 0.1669,
        "predicted_H": 0.6241,
        "predicted_HBP": 0.02,
        "predicted_HR": 0.0785,
        "predicted_OBP": 0.2775,
        "predicted_R": 0.4277,
        "predicted_RBI": 0.2851,
        "predicted_SLG": 0.349,
        "predicted_SO": 0.6795
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.3,
          "after": 0.2605,
          "delta": -0.0395,
          "percent_delta": -0.1317,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0027,
          "delta": 0.0027,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.8,
          "after": 3.2899,
          "delta": 0.4899,
          "percent_delta": 0.175,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.275,
          "after": 0.2384,
          "delta": -0.0366,
          "percent_delta": -0.1331,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1,
          "after": 0.1669,
          "delta": 0.0669,
          "percent_delta": 0.669,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6,
          "after": 0.6241,
          "delta": 0.0241,
          "percent_delta": 0.0402,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.08,
          "after": 0.0785,
          "delta": -0.0015,
          "percent_delta": -0.0188,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.304,
          "after": 0.2775,
          "delta": -0.0265,
          "percent_delta": -0.0872,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4,
          "after": 0.4277,
          "delta": 0.0277,
          "percent_delta": 0.0693,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.28,
          "after": 0.2851,
          "delta": 0.0051,
          "percent_delta": 0.0182,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.393,
          "after": 0.349,
          "delta": -0.044,
          "percent_delta": -0.112,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6,
          "after": 0.6795,
          "delta": 0.0795,
          "percent_delta": 0.1325,
          "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": 2.8,
          "after": 3.2899,
          "delta": 0.4899,
          "percent_delta": 0.175,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.393,
          "after": 0.349,
          "delta": -0.044,
          "percent_delta": -0.112,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 3,
        "last_10": 4,
        "season": 4
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2605,
        "predicted_3B": 0.0027,
        "predicted_AB": 3.2899,
        "predicted_AVG": 0.1917,
        "predicted_BB": 0.168,
        "predicted_H": 0.6308,
        "predicted_HBP": 0.02,
        "predicted_HR": 0.0795,
        "predicted_OBP": 0.231,
        "predicted_R": 0.4355,
        "predicted_RBI": 0.2903,
        "predicted_SLG": 0.345,
        "predicted_SO": 0.6749
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2605,
          "after": 0.2605,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0027,
          "after": 0.0027,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.2899,
          "after": 3.2899,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2384,
          "after": 0.1917,
          "delta": -0.0467,
          "percent_delta": -0.1959,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1669,
          "after": 0.168,
          "delta": 0.0011,
          "percent_delta": 0.0066,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.6241,
          "after": 0.6308,
          "delta": 0.0067,
          "percent_delta": 0.0107,
          "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.0785,
          "after": 0.0795,
          "delta": 0.001,
          "percent_delta": 0.0127,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2775,
          "after": 0.231,
          "delta": -0.0465,
          "percent_delta": -0.1676,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4277,
          "after": 0.4355,
          "delta": 0.0078,
          "percent_delta": 0.0182,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2851,
          "after": 0.2903,
          "delta": 0.0052,
          "percent_delta": 0.0182,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.349,
          "after": 0.345,
          "delta": -0.004,
          "percent_delta": -0.0115,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.6795,
          "after": 0.6749,
          "delta": -0.0046,
          "percent_delta": -0.0068,
          "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.2384,
          "after": 0.1917,
          "delta": -0.0467,
          "percent_delta": -0.1959,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.29), rates preserved: AVG=0.192 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.2605,
          "after": 0.0,
          "delta": -0.2605,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0027,
          "after": 0.0,
          "delta": -0.0027,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.2899,
          "after": 3.0,
          "delta": -0.2899,
          "percent_delta": -0.0881,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.168,
          "after": 0.0,
          "delta": -0.168,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6308,
          "after": 1.0,
          "delta": 0.3692,
          "percent_delta": 0.5853,
          "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.0795,
          "after": 0.0,
          "delta": -0.0795,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2903,
          "after": 0.0,
          "delta": -0.2903,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6749,
          "after": 1.0,
          "delta": 0.3251,
          "percent_delta": 0.4817,
          "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.6308,
          "after": 1.0,
          "delta": 0.3692,
          "percent_delta": 0.5853,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.2903,
          "after": 0.0,
          "delta": -0.2903,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.333)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9333,
        "bvp": 0.0667
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4355,
          "after": 0.0,
          "delta": -0.4355,
          "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.4355,
          "after": 0.0,
          "delta": -0.4355,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.333,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.333,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.333,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1917,
          "after": 0.333,
          "delta": 0.1413,
          "percent_delta": 0.7371,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.231,
          "after": 0.333,
          "delta": 0.102,
          "percent_delta": 0.4416,
          "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.345,
          "after": 0.333,
          "delta": -0.012,
          "percent_delta": -0.0348,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.1917,
          "after": 0.333,
          "delta": 0.1413,
          "percent_delta": 0.7371,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.345,
          "after": 0.333,
          "delta": -0.012,
          "percent_delta": -0.0348,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 1.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "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": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 1.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.1917,
        "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.231,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.345,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 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.333,
          "after": 0.1917,
          "delta": -0.1413,
          "percent_delta": -0.4242,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.333,
          "after": 0.231,
          "delta": -0.102,
          "percent_delta": -0.3063,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.333,
          "after": 0.345,
          "delta": 0.012,
          "percent_delta": 0.0362,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.333,
          "after": 0.345,
          "delta": 0.012,
          "percent_delta": 0.0362,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.333,
          "after": 0.1917,
          "delta": -0.1413,
          "percent_delta": -0.4242,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.3,
        "after": 0.0,
        "delta": -0.3,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 2.8,
        "after": 4.0,
        "delta": 1.2,
        "percent_delta": 0.4286,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.275,
        "after": 0.1917,
        "delta": -0.0833,
        "percent_delta": -0.3029,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.1,
        "after": 1.0,
        "delta": 0.9,
        "percent_delta": 9.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.6,
        "after": 2.0,
        "delta": 1.4,
        "percent_delta": 2.3333,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.08,
        "after": 0.0,
        "delta": -0.08,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.304,
        "after": 0.231,
        "delta": -0.073,
        "percent_delta": -0.2401,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.4,
        "after": 0.0,
        "delta": -0.4,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.28,
        "after": 0.0,
        "delta": -0.28,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.393,
        "after": 0.345,
        "delta": -0.048,
        "percent_delta": -0.1221,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.6,
        "after": 1.0,
        "delta": 0.4,
        "percent_delta": 0.6667,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 12,
      "boosted_metrics": 5,
      "deboosted_metrics": 7,
      "better_metrics": 4,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.6,
        "after": 2.0,
        "delta": 1.4,
        "percent_delta": 2.3333,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.4,
        "after": 0.0,
        "delta": -0.4,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "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.300-
predicted_3B0.000-
predicted_AB2.800-
predicted_AVG0.275-
predicted_BB0.100-
predicted_H0.600-
predicted_HR0.080-
predicted_OBP0.304-
predicted_R0.400-
predicted_RBI0.280-
predicted_SLG0.393-
predicted_SO0.600-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.261-0.039
predicted_3B0.0030.003
predicted_AB3.2900.490
predicted_AVG0.238-0.037
predicted_BB0.1670.067
predicted_H0.6240.024
predicted_HBP0.020-
predicted_HR0.079-0.002
predicted_OBP0.278-0.026
predicted_R0.4280.028
predicted_RBI0.2850.005
predicted_SLG0.349-0.044
predicted_SO0.6790.080
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.2610.000
predicted_3B0.0030.000
predicted_AB3.2900.000
predicted_AVG0.192-0.047
predicted_BB0.1680.001
predicted_H0.6310.007
predicted_HBP0.0200.000
predicted_HR0.0800.001
predicted_OBP0.231-0.047
predicted_R0.4350.008
predicted_RBI0.2900.005
predicted_SLG0.345-0.004
predicted_SO0.675-0.005
4. ab_floor_and_scaling

AB rounded to 3 (raw=3.29), rates preserved: AVG=0.192 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-
5. 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
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. 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.261
predicted_3B0.000-0.003
predicted_AB3.000-0.290
predicted_AVG0.3330.141
predicted_BB0.000-0.168
predicted_H1.0000.369
predicted_HR0.000-0.080
predicted_OBP0.3330.102
predicted_R0.000-0.435
predicted_RBI0.000-0.290
predicted_SLG0.333-0.012
predicted_SO1.0000.325
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B1.0001.000
AB4.0001.000
BB1.0001.000
CS0.0000.000
H2.0001.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: 10
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.203-13.0000.0000.0000.0000.0000.0001.0001.0002.0000.00000.07140.00000.00000.00000.00000.07690.1538
last_100.204-28.0006.0003.0000.0000.0000.0004.0001.0006.0000.21430.24140.32140.21430.00000.00000.03570.2143
season0.604-28.0006.0003.0000.0000.0000.0004.0001.0006.0000.21430.24140.32140.21430.00000.00000.03570.2143
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1690
predicted_3B0.0090
predicted_AB4.4260
predicted_AVG0.1536
predicted_BB0.3220
predicted_H0.6800
predicted_HBP0.0200
predicted_HR0.0750
predicted_OBP0.2159
predicted_R0.4920
predicted_RBI0.2970
predicted_SLG0.2469
predicted_SO0.8640
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.30000.16900.2605model_form_blend
predicted_3B0.00000.00900.0027model_form_blend
predicted_AB2.80004.42603.2899model_form_blend
predicted_AVG0.27500.15360.2384model_form_blend
predicted_BB0.10000.32200.1669model_form_blend
predicted_H0.60000.68000.6241model_form_blend
predicted_HBP-0.02000.0200form_only
predicted_HR0.08000.07500.0785model_form_blend
predicted_OBP0.30400.21590.2775model_form_blend
predicted_R0.40000.49200.4277model_form_blend
predicted_RBI0.28000.29700.2851model_form_blend
predicted_SLG0.39300.24690.3490model_form_blend
predicted_SO0.60000.86400.6795model_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 date11
Season rows before report date11
Report year2026
Profile rows used10
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
3B1
HR0
R0
RBI0
BB1
SO1
SF0
HBP0
season_avg0.214

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_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder3
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed1B
gameID20260520_NYM@WAS
game_typefull
mlbID665953
playerID665953
playerNameAndrés Chaparro
pos1B
startedTrue
startingPosition1B
teamWAS
teamID30
game_date2026-05-20
sl_k_percent20.0
sl_bb_percent10.0
sl_woba0.288
sl_xwoba0.489
sl_xba0.339
sl_xslg0.766
sl_sweet_spot_percent42.9
sl_barrel_batted_rate14.3
sl_hard_hit_percent57.1
sl_exit_velocity_avg94.6
sl_launch_angle_avg18.5
sl_whiff_percent25.0
sl_swing_percent48.5
CJ Abrams (682928) · BATTER · SS · Team WAS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 208
All-history rows before 20260521: 208
System season_avg: 0.3050
Data season_avg (2026 season-to-date): 0.3046
Diff (system - data): 0.0004
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.2600.0001.000Hitting_2B0.2600.000-0.2600.000
predicted_3B0.0240.0000.000Hitting_3B0.0240.000-0.0240.000
predicted_AB3.9104.0009.000Hitting_AB3.8514.0000.1490.000
predicted_AVG0.2580.2500.222Hitting_AVG0.3050.500-0.055-0.250
predicted_BB0.4470.0001.000Hitting_BB0.4470.000-0.4470.000
predicted_CS-0.0000.000BaseRunning_CS0.0820.000-0.0820.000
predicted_H1.0101.0002.000Hitting_H1.1732.000-0.173-1.000
predicted_HR0.1600.0000.000Hitting_HR0.1881.000-0.188-1.000
predicted_OBP0.3560.2500.300Hitting_OBP0.3900.500-0.140-0.250
predicted_R0.6540.0002.000Hitting_R0.6542.000-0.654-2.000
predicted_RBI0.6900.0002.000Hitting_RBI0.8803.000-0.880-3.000
predicted_SLG0.4770.2500.333Hitting_SLG0.5311.250-0.281-1.000
predicted_SO0.9091.0002.000Hitting_SO0.9090.0000.0911.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.9090 -> 1.0000 (boost 0.0910, worse)
Biggest Deboostpredicted_RBI: 0.6900 -> 0.0000 (deboost -0.6900, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend11110101predicted_AB: 3.9100 -> 8.6765 (boost 4.7665, better)-Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot32121predicted_AVG: 0.2708 -> 0.2828 (boost 0.0120, better)predicted_OBP: 0.3745 -> 0.3667 (deboost -0.0078, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling84453predicted_H: 2.4540 -> 3.0000 (boost 0.5460, better)predicted_HBP: 1.0380 -> 0.0000 (deboost -1.0380, worse)AB rounded to 9 (raw=8.68), rates preserved: AVG=0.283 HR/AB=0.049
5bvp_blend10101-predicted_H: 3.0000 -> 2.0000 (deboost -1.0000, worse)Sample-size BvP blend (BvP AB=22.0, weight=0.169, BvP AVG=0.182)
6consistency_constraints11010predicted_R: 1.7539 -> 2.0000 (boost 0.2461, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context30303-predicted_SLG: 0.5034 -> 0.3330 (deboost -0.1704, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference70716-predicted_AB: 9.0000 -> 4.0000 (deboost -5.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final33030predicted_SLG: 0.3330 -> 0.5034 (boost 0.1704, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "682928",
  "player_name": "CJ Abrams",
  "position": "SS",
  "team": "WAS",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.26,
        "predicted_3B": 0.024,
        "predicted_AB": 3.91,
        "predicted_AVG": 0.258,
        "predicted_BB": 0.447,
        "predicted_H": 1.01,
        "predicted_HR": 0.16,
        "predicted_OBP": 0.356,
        "predicted_R": 0.654,
        "predicted_RBI": 0.69,
        "predicted_SLG": 0.477,
        "predicted_SO": 0.909
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.5501,
        "predicted_3B": 0.0469,
        "predicted_AB": 8.6765,
        "predicted_AVG": 0.2708,
        "predicted_BB": 1.1406,
        "predicted_H": 2.428,
        "predicted_HBP": 1.038,
        "predicted_HR": 0.4179,
        "predicted_OBP": 0.3745,
        "predicted_R": 1.7224,
        "predicted_RBI": 1.851,
        "predicted_SLG": 0.4923,
        "predicted_SO": 2.1802
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.26,
          "after": 0.5501,
          "delta": 0.2901,
          "percent_delta": 1.1158,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.024,
          "after": 0.0469,
          "delta": 0.0229,
          "percent_delta": 0.9542,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.91,
          "after": 8.6765,
          "delta": 4.7665,
          "percent_delta": 1.2191,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.258,
          "after": 0.2708,
          "delta": 0.0128,
          "percent_delta": 0.0496,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.447,
          "after": 1.1406,
          "delta": 0.6936,
          "percent_delta": 1.5517,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.01,
          "after": 2.428,
          "delta": 1.418,
          "percent_delta": 1.404,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.16,
          "after": 0.4179,
          "delta": 0.2579,
          "percent_delta": 1.6119,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.356,
          "after": 0.3745,
          "delta": 0.0185,
          "percent_delta": 0.052,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.654,
          "after": 1.7224,
          "delta": 1.0684,
          "percent_delta": 1.6336,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.69,
          "after": 1.851,
          "delta": 1.161,
          "percent_delta": 1.6826,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.477,
          "after": 0.4923,
          "delta": 0.0153,
          "percent_delta": 0.0321,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.909,
          "after": 2.1802,
          "delta": 1.2712,
          "percent_delta": 1.3985,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 11,
        "boosted_metrics": 11,
        "deboosted_metrics": 0,
        "better_metrics": 10,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.91,
          "after": 8.6765,
          "delta": 4.7665,
          "percent_delta": 1.2191,
          "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": 2,
        "last_10": 3,
        "season": 49
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.5501,
        "predicted_3B": 0.0469,
        "predicted_AB": 8.6765,
        "predicted_AVG": 0.2828,
        "predicted_BB": 1.1484,
        "predicted_H": 2.454,
        "predicted_HBP": 1.038,
        "predicted_HR": 0.4232,
        "predicted_OBP": 0.3667,
        "predicted_R": 1.7539,
        "predicted_RBI": 1.8849,
        "predicted_SLG": 0.5034,
        "predicted_SO": 2.1654
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.5501,
          "after": 0.5501,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0469,
          "after": 0.0469,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.6765,
          "after": 8.6765,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2708,
          "after": 0.2828,
          "delta": 0.012,
          "percent_delta": 0.0443,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.1406,
          "after": 1.1484,
          "delta": 0.0078,
          "percent_delta": 0.0068,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.428,
          "after": 2.454,
          "delta": 0.026,
          "percent_delta": 0.0107,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 1.038,
          "after": 1.038,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.4179,
          "after": 0.4232,
          "delta": 0.0053,
          "percent_delta": 0.0127,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3745,
          "after": 0.3667,
          "delta": -0.0078,
          "percent_delta": -0.0208,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.7224,
          "after": 1.7539,
          "delta": 0.0315,
          "percent_delta": 0.0183,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.851,
          "after": 1.8849,
          "delta": 0.0339,
          "percent_delta": 0.0183,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4923,
          "after": 0.5034,
          "delta": 0.0111,
          "percent_delta": 0.0225,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.1802,
          "after": 2.1654,
          "delta": -0.0148,
          "percent_delta": -0.0068,
          "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.2708,
          "after": 0.2828,
          "delta": 0.012,
          "percent_delta": 0.0443,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3745,
          "after": 0.3667,
          "delta": -0.0078,
          "percent_delta": -0.0208,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 9 (raw=8.68), rates preserved: AVG=0.283 HR/AB=0.049",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 1.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.5501,
          "after": 1.0,
          "delta": 0.4499,
          "percent_delta": 0.8179,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0469,
          "after": 0.0,
          "delta": -0.0469,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.6765,
          "after": 9.0,
          "delta": 0.3235,
          "percent_delta": 0.0373,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.1484,
          "after": 1.0,
          "delta": -0.1484,
          "percent_delta": -0.1292,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.454,
          "after": 3.0,
          "delta": 0.546,
          "percent_delta": 0.2225,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 1.038,
          "after": 0.0,
          "delta": -1.038,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.4232,
          "after": 0.0,
          "delta": -0.4232,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.8849,
          "after": 2.0,
          "delta": 0.1151,
          "percent_delta": 0.0611,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.1654,
          "after": 2.0,
          "delta": -0.1654,
          "percent_delta": -0.0764,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 4,
        "deboosted_metrics": 4,
        "better_metrics": 5,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 2.454,
          "after": 3.0,
          "delta": 0.546,
          "percent_delta": 0.2225,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HBP",
          "before": 1.038,
          "after": 0.0,
          "delta": -1.038,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=22.0, weight=0.169, BvP AVG=0.182)",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 2.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 9.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": 3.0,
          "after": 2.0,
          "delta": -1.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "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_RBI",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 3.0,
          "after": 2.0,
          "delta": -1.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "model_expectation": 0.8308,
        "bvp": 0.1692
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 2.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 9.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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.7539,
          "after": 2.0,
          "delta": 0.2461,
          "percent_delta": 0.1403,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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_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": 1.7539,
          "after": 2.0,
          "delta": 0.2461,
          "percent_delta": 0.1403,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_AVG": 0.222,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3,
        "predicted_R": 2.0,
        "predicted_RBI": 2.0,
        "predicted_SLG": 0.333,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 9.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2828,
          "after": 0.222,
          "delta": -0.0608,
          "percent_delta": -0.215,
          "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": 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.3667,
          "after": 0.3,
          "delta": -0.0667,
          "percent_delta": -0.1819,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 2.0,
          "after": 2.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_SLG",
          "before": 0.5034,
          "after": 0.333,
          "delta": -0.1704,
          "percent_delta": -0.3385,
          "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.5034,
          "after": 0.333,
          "delta": -0.1704,
          "percent_delta": -0.3385,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 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": 9.0,
          "after": 4.0,
          "delta": -5.0,
          "percent_delta": -0.5556,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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": 2.0,
          "after": 0.0,
          "delta": -2.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.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": 7,
        "boosted_metrics": 0,
        "deboosted_metrics": 7,
        "better_metrics": 1,
        "worse_metrics": 6,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 4.0,
          "delta": -5.0,
          "percent_delta": -0.5556,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2828,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3667,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.5034,
        "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.222,
          "after": 0.2828,
          "delta": 0.0608,
          "percent_delta": 0.274,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.3667,
          "delta": 0.0667,
          "percent_delta": 0.2222,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.333,
          "after": 0.5034,
          "delta": 0.1704,
          "percent_delta": 0.5116,
          "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.333,
          "after": 0.5034,
          "delta": 0.1704,
          "percent_delta": 0.5116,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.26,
        "after": 0.0,
        "delta": -0.26,
        "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.91,
        "after": 4.0,
        "delta": 0.09,
        "percent_delta": 0.023,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.258,
        "after": 0.2828,
        "delta": 0.0248,
        "percent_delta": 0.0961,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.447,
        "after": 0.0,
        "delta": -0.447,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.01,
        "after": 1.0,
        "delta": -0.01,
        "percent_delta": -0.0099,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.16,
        "after": 0.0,
        "delta": -0.16,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.356,
        "after": 0.3667,
        "delta": 0.0107,
        "percent_delta": 0.0301,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.654,
        "after": 0.0,
        "delta": -0.654,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.69,
        "after": 0.0,
        "delta": -0.69,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.477,
        "after": 0.5034,
        "delta": 0.0264,
        "percent_delta": 0.0553,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.909,
        "after": 1.0,
        "delta": 0.091,
        "percent_delta": 0.1001,
        "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.909,
        "after": 1.0,
        "delta": 0.091,
        "percent_delta": 0.1001,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.69,
        "after": 0.0,
        "delta": -0.69,
        "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.260-
predicted_3B0.024-
predicted_AB3.910-
predicted_AVG0.258-
predicted_BB0.447-
predicted_H1.010-
predicted_HR0.160-
predicted_OBP0.356-
predicted_R0.654-
predicted_RBI0.690-
predicted_SLG0.477-
predicted_SO0.909-
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.5500.290
predicted_3B0.0470.023
predicted_AB8.6774.767
predicted_AVG0.2710.013
predicted_BB1.1410.694
predicted_H2.4281.418
predicted_HBP1.038-
predicted_HR0.4180.258
predicted_OBP0.3740.019
predicted_R1.7221.068
predicted_RBI1.8511.161
predicted_SLG0.4920.015
predicted_SO2.1801.271
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.5500.000
predicted_3B0.0470.000
predicted_AB8.6770.000
predicted_AVG0.2830.012
predicted_BB1.1480.008
predicted_H2.4540.026
predicted_HBP1.0380.000
predicted_HR0.4230.005
predicted_OBP0.367-0.008
predicted_R1.7540.032
predicted_RBI1.8850.034
predicted_SLG0.5030.011
predicted_SO2.165-0.015
4. ab_floor_and_scaling

AB rounded to 9 (raw=8.68), rates preserved: AVG=0.283 HR/AB=0.049

MetricValueDelta vs Prev Step
2B1.000-
3B0.000-
AB9.000-
BB1.000-
H3.000-
HBP0.000-
HR0.000-
RBI2.000-
SB0.000-
SO2.000-
5. bvp_blend

Sample-size BvP blend (BvP AB=22.0, weight=0.169, BvP AVG=0.182)

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB9.0000.000
BB1.0000.000
H2.000-1.000
HR0.0000.000
RBI2.0000.000
SO2.0000.000
6. consistency_constraints

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

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB9.0000.000
BB1.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R2.000-
RBI2.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
7. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B1.0000.450
predicted_3B0.000-0.047
predicted_AB9.0000.323
predicted_AVG0.222-0.061
predicted_BB1.000-0.148
predicted_H2.000-0.454
predicted_HR0.000-0.423
predicted_OBP0.300-0.067
predicted_R2.0000.246
predicted_RBI2.0000.115
predicted_SLG0.333-0.170
predicted_SO2.000-0.165
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.000-1.000
3B0.0000.000
AB4.000-5.000
BB0.000-1.000
CS0.0000.000
H1.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-2.000
RBI0.000-2.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: 208
Reference playing time: 3.910
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-12.0002.0000.0000.0001.0003.0006.0004.0004.0000.16670.50000.41670.16670.08330.25000.33330.3333
last_100.203-42.00012.0005.0000.0001.0008.00011.0004.00019.0000.28570.36360.47620.28570.02380.19050.09520.4524
season0.6049-801.000244.00054.0005.00039.000183.000136.00093.000189.0000.30460.38980.53060.30460.04870.22850.11610.2360
Weighted Prediction From Real Data
MetricValue
predicted_2B0.9180
predicted_3B0.0760
predicted_AB14.7200
predicted_AVG0.2871
predicted_BB2.0200
predicted_H4.2260
predicted_HBP1.0380
predicted_HR0.7450
predicted_OBP0.3979
predicted_R3.0770
predicted_RBI3.3230
predicted_SLG0.5116
predicted_SO3.7920
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.26000.91800.5501model_form_blend
predicted_3B0.02400.07600.0469model_form_blend
predicted_AB3.910014.72008.6765model_form_blend
predicted_AVG0.25800.28710.2708model_form_blend
predicted_BB0.44702.02001.1406model_form_blend
predicted_H1.01004.22602.4280model_form_blend
predicted_HBP-1.03801.0380form_only
predicted_HR0.16000.74500.4179model_form_blend
predicted_OBP0.35600.39790.3745model_form_blend
predicted_R0.65403.07701.7224model_form_blend
predicted_RBI0.69003.32301.8510model_form_blend
predicted_SLG0.47700.51160.4923model_form_blend
predicted_SO0.90903.79202.1802model_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 date208
Season rows before report date208
Report year2026
Profile rows used208
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.305

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.5
Hitting_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R2
Hitting_RBI3
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB5
Hitting_battingOrder4
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedSS
gameID20260520_NYM@WAS
game_typefull
mlbID682928
playerID682928
playerNameCJ Abrams
posSS
startedTrue
startingPositionSS
teamWAS
teamID30
game_date2026-05-20
sl_k_percent20.3
sl_bb_percent10.1
sl_woba0.395
sl_xwoba0.358
sl_xba0.263
sl_xslg0.455
sl_sweet_spot_percent32.8
sl_barrel_batted_rate10.3
sl_hard_hit_percent40.9
sl_exit_velocity_avg89.9
sl_launch_angle_avg17.3
sl_whiff_percent30.0
sl_swing_percent49.9
James Wood (695578) · BATTER · LF · Team WAS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 235
All-history rows before 20260521: 235
System season_avg: 0.2680
Data season_avg (2026 season-to-date): 0.2683
Diff (system - data): -0.0003
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.2810.0001.000Hitting_2B0.2810.000-0.2810.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.3105.00010.000Hitting_AB3.9024.0001.0981.000
predicted_AVG0.2470.4000.300Hitting_AVG0.2680.0000.1320.400
predicted_BB0.8720.0002.000Hitting_BB0.8720.000-0.8720.000
predicted_CS-0.0000.000BaseRunning_CS0.0170.000-0.0170.000
predicted_H1.0602.0003.000Hitting_H1.0470.0000.9532.000
predicted_HR0.2400.0001.000Hitting_HR0.2770.000-0.2770.000
predicted_OBP0.3740.4000.417Hitting_OBP0.4130.000-0.0130.400
predicted_R0.9701.0003.000Hitting_R0.9700.0000.0301.000
predicted_RBI0.6601.0002.000Hitting_RBI0.7530.0000.2471.000
predicted_SLG0.4970.4000.700Hitting_SLG0.5530.000-0.1530.400
predicted_SO1.4511.0003.000Hitting_SO1.4510.000-0.4511.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_H: 1.0600 -> 2.0000 (boost 0.9400, better)
Biggest Deboostpredicted_BB: 0.8720 -> 0.0000 (deboost -0.8720, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend11110101predicted_AB: 4.3100 -> 10.0348 (boost 5.7248, 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_snapshot33030predicted_SLG: 0.5490 -> 0.5880 (boost 0.0390, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling63342predicted_2B: 0.6434 -> 1.0000 (boost 0.3566, better)predicted_RBI: 2.3704 -> 2.0000 (deboost -0.3704, worse)AB rounded to 10 (raw=10.03), rates preserved: AVG=0.295 HR/AB=0.076
5bvp_blend00000--Sample-size BvP blend (BvP AB=15.0, weight=0.133, BvP AVG=0.267)
6consistency_constraints11010predicted_R: 2.5685 -> 3.0000 (boost 0.4315, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context33030predicted_SLG: 0.5880 -> 0.7000 (boost 0.1120, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference80817-predicted_AB: 10.0000 -> 5.0000 (deboost -5.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final30303-predicted_SLG: 0.7000 -> 0.5880 (deboost -0.1120, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "695578",
  "player_name": "James Wood",
  "position": "LF",
  "team": "WAS",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.281,
        "predicted_3B": 0.0,
        "predicted_AB": 4.31,
        "predicted_AVG": 0.247,
        "predicted_BB": 0.872,
        "predicted_H": 1.06,
        "predicted_HR": 0.24,
        "predicted_OBP": 0.374,
        "predicted_R": 0.97,
        "predicted_RBI": 0.66,
        "predicted_SLG": 0.497,
        "predicted_SO": 1.451
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.6434,
        "predicted_3B": 0.0009,
        "predicted_AB": 10.0348,
        "predicted_AVG": 0.2731,
        "predicted_BB": 1.9181,
        "predicted_H": 2.9261,
        "predicted_HBP": 0.325,
        "predicted_HR": 0.7564,
        "predicted_OBP": 0.3974,
        "predicted_R": 2.5223,
        "predicted_RBI": 2.3278,
        "predicted_SLG": 0.549,
        "predicted_SO": 3.2188
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.281,
          "after": 0.6434,
          "delta": 0.3624,
          "percent_delta": 1.2897,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.31,
          "after": 10.0348,
          "delta": 5.7248,
          "percent_delta": 1.3283,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.247,
          "after": 0.2731,
          "delta": 0.0261,
          "percent_delta": 0.1057,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.872,
          "after": 1.9181,
          "delta": 1.0461,
          "percent_delta": 1.1997,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.06,
          "after": 2.9261,
          "delta": 1.8661,
          "percent_delta": 1.7605,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.24,
          "after": 0.7564,
          "delta": 0.5164,
          "percent_delta": 2.1517,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.374,
          "after": 0.3974,
          "delta": 0.0234,
          "percent_delta": 0.0626,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.97,
          "after": 2.5223,
          "delta": 1.5523,
          "percent_delta": 1.6003,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.66,
          "after": 2.3278,
          "delta": 1.6678,
          "percent_delta": 2.527,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.497,
          "after": 0.549,
          "delta": 0.052,
          "percent_delta": 0.1046,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.451,
          "after": 3.2188,
          "delta": 1.7678,
          "percent_delta": 1.2183,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 11,
        "boosted_metrics": 11,
        "deboosted_metrics": 0,
        "better_metrics": 10,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.31,
          "after": 10.0348,
          "delta": 5.7248,
          "percent_delta": 1.3283,
          "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": 2,
        "last_10": 3,
        "season": 50
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.6434,
        "predicted_3B": 0.0009,
        "predicted_AB": 10.0348,
        "predicted_AVG": 0.2947,
        "predicted_BB": 1.9311,
        "predicted_H": 2.9574,
        "predicted_HBP": 0.325,
        "predicted_HR": 0.766,
        "predicted_OBP": 0.4085,
        "predicted_R": 2.5685,
        "predicted_RBI": 2.3704,
        "predicted_SLG": 0.588,
        "predicted_SO": 3.1969
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.6434,
          "after": 0.6434,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 10.0348,
          "after": 10.0348,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2731,
          "after": 0.2947,
          "delta": 0.0216,
          "percent_delta": 0.0791,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.9181,
          "after": 1.9311,
          "delta": 0.013,
          "percent_delta": 0.0068,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.9261,
          "after": 2.9574,
          "delta": 0.0313,
          "percent_delta": 0.0107,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.325,
          "after": 0.325,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.7564,
          "after": 0.766,
          "delta": 0.0096,
          "percent_delta": 0.0127,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3974,
          "after": 0.4085,
          "delta": 0.0111,
          "percent_delta": 0.0279,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 2.5223,
          "after": 2.5685,
          "delta": 0.0462,
          "percent_delta": 0.0183,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 2.3278,
          "after": 2.3704,
          "delta": 0.0426,
          "percent_delta": 0.0183,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.549,
          "after": 0.588,
          "delta": 0.039,
          "percent_delta": 0.071,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 3.2188,
          "after": 3.1969,
          "delta": -0.0219,
          "percent_delta": -0.0068,
          "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.549,
          "after": 0.588,
          "delta": 0.039,
          "percent_delta": 0.071,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 10 (raw=10.03), rates preserved: AVG=0.295 HR/AB=0.076",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 10.0,
        "predicted_BB": 2.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.6434,
          "after": 1.0,
          "delta": 0.3566,
          "percent_delta": 0.5542,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 10.0348,
          "after": 10.0,
          "delta": -0.0348,
          "percent_delta": -0.0035,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.9311,
          "after": 2.0,
          "delta": 0.0689,
          "percent_delta": 0.0357,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.9574,
          "after": 3.0,
          "delta": 0.0426,
          "percent_delta": 0.0144,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.325,
          "after": 0.0,
          "delta": -0.325,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.766,
          "after": 1.0,
          "delta": 0.234,
          "percent_delta": 0.3055,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 2.3704,
          "after": 2.0,
          "delta": -0.3704,
          "percent_delta": -0.1563,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 3.1969,
          "after": 3.0,
          "delta": -0.1969,
          "percent_delta": -0.0616,
          "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.6434,
          "after": 1.0,
          "delta": 0.3566,
          "percent_delta": 0.5542,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 2.3704,
          "after": 2.0,
          "delta": -0.3704,
          "percent_delta": -0.1563,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=15.0, weight=0.133, BvP AVG=0.267)",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 10.0,
        "predicted_BB": 2.0,
        "predicted_H": 3.0,
        "predicted_HR": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SO": 3.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": 10.0,
          "after": 10.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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_H",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.8667,
        "bvp": 0.1333
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 10.0,
        "predicted_BB": 2.0,
        "predicted_CS": 0.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 3.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 3.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": 10.0,
          "after": 10.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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_H",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 2.5685,
          "after": 3.0,
          "delta": 0.4315,
          "percent_delta": 0.168,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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_SO",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 2.5685,
          "after": 3.0,
          "delta": 0.4315,
          "percent_delta": 0.168,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 10.0,
        "predicted_AVG": 0.3,
        "predicted_BB": 2.0,
        "predicted_H": 3.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.417,
        "predicted_R": 3.0,
        "predicted_RBI": 2.0,
        "predicted_SLG": 0.7,
        "predicted_SO": 3.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": 10.0,
          "after": 10.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2947,
          "after": 0.3,
          "delta": 0.0053,
          "percent_delta": 0.018,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.4085,
          "after": 0.417,
          "delta": 0.0085,
          "percent_delta": 0.0208,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 3.0,
          "after": 3.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_SLG",
          "before": 0.588,
          "after": 0.7,
          "delta": 0.112,
          "percent_delta": 0.1905,
          "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.588,
          "after": 0.7,
          "delta": 0.112,
          "percent_delta": 0.1905,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 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": 10.0,
          "after": 5.0,
          "delta": -5.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.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": 3.0,
          "after": 2.0,
          "delta": -1.0,
          "percent_delta": -0.3333,
          "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": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 3.0,
          "after": 1.0,
          "delta": -2.0,
          "percent_delta": -0.6667,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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": 3.0,
          "after": 1.0,
          "delta": -2.0,
          "percent_delta": -0.6667,
          "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": 10.0,
          "after": 5.0,
          "delta": -5.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.2947,
        "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.4085,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.588,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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.3,
          "after": 0.2947,
          "delta": -0.0053,
          "percent_delta": -0.0176,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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.417,
          "after": 0.4085,
          "delta": -0.0085,
          "percent_delta": -0.0203,
          "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.7,
          "after": 0.588,
          "delta": -0.112,
          "percent_delta": -0.16,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.7,
          "after": 0.588,
          "delta": -0.112,
          "percent_delta": -0.16,
          "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.281,
        "after": 0.0,
        "delta": -0.281,
        "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.31,
        "after": 5.0,
        "delta": 0.69,
        "percent_delta": 0.1601,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.247,
        "after": 0.2947,
        "delta": 0.0477,
        "percent_delta": 0.1931,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.872,
        "after": 0.0,
        "delta": -0.872,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.06,
        "after": 2.0,
        "delta": 0.94,
        "percent_delta": 0.8868,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.24,
        "after": 0.0,
        "delta": -0.24,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.374,
        "after": 0.4085,
        "delta": 0.0345,
        "percent_delta": 0.0922,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.97,
        "after": 1.0,
        "delta": 0.03,
        "percent_delta": 0.0309,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "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.497,
        "after": 0.588,
        "delta": 0.091,
        "percent_delta": 0.1831,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.451,
        "after": 1.0,
        "delta": -0.451,
        "percent_delta": -0.3108,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 6,
      "deboosted_metrics": 4,
      "better_metrics": 7,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 1.06,
        "after": 2.0,
        "delta": 0.94,
        "percent_delta": 0.8868,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.872,
        "after": 0.0,
        "delta": -0.872,
        "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.281-
predicted_3B0.000-
predicted_AB4.310-
predicted_AVG0.247-
predicted_BB0.872-
predicted_H1.060-
predicted_HR0.240-
predicted_OBP0.374-
predicted_R0.970-
predicted_RBI0.660-
predicted_SLG0.497-
predicted_SO1.451-
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.6430.362
predicted_3B0.0010.001
predicted_AB10.0355.725
predicted_AVG0.2730.026
predicted_BB1.9181.046
predicted_H2.9261.866
predicted_HBP0.325-
predicted_HR0.7560.516
predicted_OBP0.3970.023
predicted_R2.5221.552
predicted_RBI2.3281.668
predicted_SLG0.5490.052
predicted_SO3.2191.768
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.6430.000
predicted_3B0.0010.000
predicted_AB10.0350.000
predicted_AVG0.2950.022
predicted_BB1.9310.013
predicted_H2.9570.031
predicted_HBP0.3250.000
predicted_HR0.7660.010
predicted_OBP0.4080.011
predicted_R2.5680.046
predicted_RBI2.3700.043
predicted_SLG0.5880.039
predicted_SO3.197-0.022
4. ab_floor_and_scaling

AB rounded to 10 (raw=10.03), rates preserved: AVG=0.295 HR/AB=0.076

MetricValueDelta vs Prev Step
2B1.000-
3B0.000-
AB10.000-
BB2.000-
H3.000-
HBP0.000-
HR1.000-
RBI2.000-
SB0.000-
SO3.000-
5. bvp_blend

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

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB10.0000.000
BB2.0000.000
H3.0000.000
HR1.0000.000
RBI2.0000.000
SO3.0000.000
6. consistency_constraints

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

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB10.0000.000
BB2.0000.000
CS0.000-
H3.0000.000
HBP0.0000.000
HR1.0000.000
R3.000-
RBI2.0000.000
SB0.0000.000
SF0.000-
SO3.0000.000
7. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B1.0000.357
predicted_3B0.000-0.001
predicted_AB10.000-0.035
predicted_AVG0.3000.005
predicted_BB2.0000.069
predicted_H3.0000.043
predicted_HR1.0000.234
predicted_OBP0.4170.009
predicted_R3.0000.432
predicted_RBI2.000-0.370
predicted_SLG0.7000.112
predicted_SO3.000-0.197
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.000-1.000
3B0.0000.000
AB5.000-5.000
BB0.000-2.000
CS0.0000.000
H2.000-1.000
HBP0.0000.000
HR0.000-1.000
PA5.000-
R1.000-2.000
RBI1.000-1.000
SB0.0000.000
SF0.0000.000
SO1.000-2.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 235
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.202-24.00012.0000.0000.0004.00016.0008.0000.0000.0000.50000.50001.00000.50000.16670.66670.00000.0000
last_100.203-53.00027.0004.0000.0005.00024.00018.0004.0008.0000.50940.54390.86790.50940.09430.45280.07550.1509
season0.6050-917.000246.00066.0000.00065.000177.000228.000205.000341.0000.26830.41290.55290.26830.07090.19300.22360.3719
Weighted Prediction From Real Data
MetricValue
predicted_2B1.1000
predicted_3B0.0020
predicted_AB17.2470
predicted_AVG0.3060
predicted_BB3.2360
predicted_H5.2770
predicted_HBP0.3250
predicted_HR1.4070
predicted_OBP0.4269
predicted_R4.4780
predicted_RBI4.4290
predicted_SLG0.6146
predicted_SO5.4460
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.28101.10000.6434model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB4.310017.247010.0348model_form_blend
predicted_AVG0.24700.30600.2731model_form_blend
predicted_BB0.87203.23601.9181model_form_blend
predicted_H1.06005.27702.9261model_form_blend
predicted_HBP-0.32500.3250form_only
predicted_HR0.24001.40700.7564model_form_blend
predicted_OBP0.37400.42690.3974model_form_blend
predicted_R0.97004.47802.5223model_form_blend
predicted_RBI0.66004.42902.3278model_form_blend
predicted_SLG0.49700.61460.5490model_form_blend
predicted_SO1.45105.44603.2188model_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 date235
Season rows before report date235
Report year2026
Profile rows used235
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA5
AB5
H2
2B0
3B0
HR0
R1
RBI1
BB0
SO1
SF0
HBP0
season_avg0.268

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_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
gameID20260520_NYM@WAS
game_typefull
mlbID695578
playerID695578
playerNameJames Wood
posRF
startedTrue
startingPositionDH
teamWAS
teamID30
game_date2026-05-20
sl_k_percent30.5
sl_bb_percent17.2
sl_woba0.401
sl_xwoba0.429
sl_xba0.277
sl_xslg0.615
sl_sweet_spot_percent39.8
sl_barrel_batted_rate26.3
sl_hard_hit_percent61.0
sl_exit_velocity_avg96.4
sl_launch_angle_avg10.3
sl_whiff_percent34.0
sl_swing_percent37.2
Daylen Lile (695734) · BATTER · DH · Team WAS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 216
All-history rows before 20260521: 216
System season_avg: 0.2610
Data season_avg (2026 season-to-date): 0.2612
Diff (system - data): -0.0002
System opponent_avg: 0.0900

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2640.0001.000Hitting_2B0.2641.000-0.264-1.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.1484.00010.000Hitting_AB4.1483.000-0.1481.000
predicted_AVG0.2390.0000.300Hitting_AVG0.2610.333-0.261-0.333
predicted_BB0.3610.0001.000Hitting_BB0.3610.000-0.3610.000
predicted_CS-0.0000.000BaseRunning_CS0.0560.000-0.0560.000
predicted_H0.9500.0003.000Hitting_H1.0831.000-1.083-1.000
predicted_HR0.1400.0000.000Hitting_HR0.1480.000-0.1480.000
predicted_OBP0.3020.0000.364Hitting_OBP0.3200.250-0.320-0.250
predicted_R0.6850.0002.000Hitting_R0.6851.000-0.685-1.000
predicted_RBI0.5300.0001.000Hitting_RBI0.5561.000-0.556-1.000
predicted_SLG0.4210.0000.400Hitting_SLG0.4320.667-0.432-0.667
predicted_SO0.8431.0002.000Hitting_SO0.8430.0000.1571.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics2
Deboosted Metrics8
Better Metrics1
Worse Metrics9
Biggest Boostpredicted_SO: 0.8430 -> 1.0000 (boost 0.1570, worse)
Biggest Deboostpredicted_H: 0.9500 -> 0.0000 (deboost -0.9500, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend109182predicted_AB: 4.1480 -> 9.7199 (boost 5.5719, better)predicted_SLG: 0.4210 -> 0.4132 (deboost -0.0078, worse)Final model 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.4132 -> 0.4050 (deboost -0.0082, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling85344predicted_H: 2.4359 -> 3.0000 (boost 0.5641, better)predicted_HR: 0.3031 -> 0.0000 (deboost -0.3031, worse)AB rounded to 10 (raw=9.72), rates preserved: AVG=0.251 HR/AB=0.031
5consistency_constraints11010predicted_R: 1.6908 -> 2.0000 (boost 0.3092, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context32121predicted_OBP: 0.3062 -> 0.3640 (boost 0.0578, better)predicted_SLG: 0.4050 -> 0.4000 (deboost -0.0050, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference70716-predicted_AB: 10.0000 -> 4.0000 (deboost -6.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final31212predicted_SLG: 0.4000 -> 0.4050 (boost 0.0050, better)predicted_OBP: 0.3640 -> 0.3062 (deboost -0.0578, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "695734",
  "player_name": "Daylen Lile",
  "position": "DH",
  "team": "WAS",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.264,
        "predicted_3B": 0.0,
        "predicted_AB": 4.148,
        "predicted_AVG": 0.239,
        "predicted_BB": 0.361,
        "predicted_H": 0.95,
        "predicted_HR": 0.14,
        "predicted_OBP": 0.302,
        "predicted_R": 0.685,
        "predicted_RBI": 0.53,
        "predicted_SLG": 0.421,
        "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.5897,
        "predicted_3B": 0.0009,
        "predicted_AB": 9.7199,
        "predicted_AVG": 0.2456,
        "predicted_BB": 0.7741,
        "predicted_H": 2.4101,
        "predicted_HBP": 0.065,
        "predicted_HR": 0.2993,
        "predicted_OBP": 0.3041,
        "predicted_R": 1.6604,
        "predicted_RBI": 1.1771,
        "predicted_SLG": 0.4132,
        "predicted_SO": 1.803
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.264,
          "after": 0.5897,
          "delta": 0.3257,
          "percent_delta": 1.2337,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.148,
          "after": 9.7199,
          "delta": 5.5719,
          "percent_delta": 1.3433,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.239,
          "after": 0.2456,
          "delta": 0.0066,
          "percent_delta": 0.0276,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.361,
          "after": 0.7741,
          "delta": 0.4131,
          "percent_delta": 1.1443,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.95,
          "after": 2.4101,
          "delta": 1.4601,
          "percent_delta": 1.5369,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.14,
          "after": 0.2993,
          "delta": 0.1593,
          "percent_delta": 1.1379,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.302,
          "after": 0.3041,
          "delta": 0.0021,
          "percent_delta": 0.007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.685,
          "after": 1.6604,
          "delta": 0.9754,
          "percent_delta": 1.4239,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.53,
          "after": 1.1771,
          "delta": 0.6471,
          "percent_delta": 1.2209,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.421,
          "after": 0.4132,
          "delta": -0.0078,
          "percent_delta": -0.0185,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.843,
          "after": 1.803,
          "delta": 0.96,
          "percent_delta": 1.1388,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 10,
        "boosted_metrics": 9,
        "deboosted_metrics": 1,
        "better_metrics": 8,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.148,
          "after": 9.7199,
          "delta": 5.5719,
          "percent_delta": 1.3433,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.421,
          "after": 0.4132,
          "delta": -0.0078,
          "percent_delta": -0.0185,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 2,
        "last_10": 3,
        "season": 49
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.5897,
        "predicted_3B": 0.0009,
        "predicted_AB": 9.7199,
        "predicted_AVG": 0.2506,
        "predicted_BB": 0.7794,
        "predicted_H": 2.4359,
        "predicted_HBP": 0.065,
        "predicted_HR": 0.3031,
        "predicted_OBP": 0.3062,
        "predicted_R": 1.6908,
        "predicted_RBI": 1.1986,
        "predicted_SLG": 0.405,
        "predicted_SO": 1.7907
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.5897,
          "after": 0.5897,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.7199,
          "after": 9.7199,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2456,
          "after": 0.2506,
          "delta": 0.005,
          "percent_delta": 0.0204,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.7741,
          "after": 0.7794,
          "delta": 0.0053,
          "percent_delta": 0.0068,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.4101,
          "after": 2.4359,
          "delta": 0.0258,
          "percent_delta": 0.0107,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.065,
          "after": 0.065,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2993,
          "after": 0.3031,
          "delta": 0.0038,
          "percent_delta": 0.0127,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3041,
          "after": 0.3062,
          "delta": 0.0021,
          "percent_delta": 0.0069,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.6604,
          "after": 1.6908,
          "delta": 0.0304,
          "percent_delta": 0.0183,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.1771,
          "after": 1.1986,
          "delta": 0.0215,
          "percent_delta": 0.0183,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4132,
          "after": 0.405,
          "delta": -0.0082,
          "percent_delta": -0.0198,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.803,
          "after": 1.7907,
          "delta": -0.0123,
          "percent_delta": -0.0068,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.4132,
          "after": 0.405,
          "delta": -0.0082,
          "percent_delta": -0.0198,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 10 (raw=9.72), rates preserved: AVG=0.251 HR/AB=0.031",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 10.0,
        "predicted_BB": 1.0,
        "predicted_H": 3.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.5897,
          "after": 1.0,
          "delta": 0.4103,
          "percent_delta": 0.6958,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.7199,
          "after": 10.0,
          "delta": 0.2801,
          "percent_delta": 0.0288,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.7794,
          "after": 1.0,
          "delta": 0.2206,
          "percent_delta": 0.283,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.4359,
          "after": 3.0,
          "delta": 0.5641,
          "percent_delta": 0.2316,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.065,
          "after": 0.0,
          "delta": -0.065,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.3031,
          "after": 0.0,
          "delta": -0.3031,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.1986,
          "after": 1.0,
          "delta": -0.1986,
          "percent_delta": -0.1657,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.7907,
          "after": 2.0,
          "delta": 0.2093,
          "percent_delta": 0.1169,
          "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_H",
          "before": 2.4359,
          "after": 3.0,
          "delta": 0.5641,
          "percent_delta": 0.2316,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.3031,
          "after": 0.0,
          "delta": -0.3031,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 10.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 2.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 10.0,
          "after": 10.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": 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_R",
          "before": 1.6908,
          "after": 2.0,
          "delta": 0.3092,
          "percent_delta": 0.1829,
          "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": 1.6908,
          "after": 2.0,
          "delta": 0.3092,
          "percent_delta": 0.1829,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 10.0,
        "predicted_AVG": 0.3,
        "predicted_BB": 1.0,
        "predicted_H": 3.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.364,
        "predicted_R": 2.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.4,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 10.0,
          "after": 10.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2506,
          "after": 0.3,
          "delta": 0.0494,
          "percent_delta": 0.1971,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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_OBP",
          "before": 0.3062,
          "after": 0.364,
          "delta": 0.0578,
          "percent_delta": 0.1888,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 2.0,
          "after": 2.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.4,
          "delta": -0.005,
          "percent_delta": -0.0123,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.3062,
          "after": 0.364,
          "delta": 0.0578,
          "percent_delta": 0.1888,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.405,
          "after": 0.4,
          "delta": -0.005,
          "percent_delta": -0.0123,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 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": 10.0,
          "after": 4.0,
          "delta": -6.0,
          "percent_delta": -0.6,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 3.0,
          "after": 0.0,
          "delta": -3.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": 2.0,
          "after": 0.0,
          "delta": -2.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": 7,
        "boosted_metrics": 0,
        "deboosted_metrics": 7,
        "better_metrics": 1,
        "worse_metrics": 6,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 10.0,
          "after": 4.0,
          "delta": -6.0,
          "percent_delta": -0.6,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2506,
        "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.3062,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.405,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3,
          "after": 0.2506,
          "delta": -0.0494,
          "percent_delta": -0.1646,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.364,
          "after": 0.3062,
          "delta": -0.0578,
          "percent_delta": -0.1587,
          "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.4,
          "after": 0.405,
          "delta": 0.005,
          "percent_delta": 0.0125,
          "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.4,
          "after": 0.405,
          "delta": 0.005,
          "percent_delta": 0.0125,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.364,
          "after": 0.3062,
          "delta": -0.0578,
          "percent_delta": -0.1587,
          "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.264,
        "after": 0.0,
        "delta": -0.264,
        "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.148,
        "after": 4.0,
        "delta": -0.148,
        "percent_delta": -0.0357,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.239,
        "after": 0.2506,
        "delta": 0.0116,
        "percent_delta": 0.0485,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.361,
        "after": 0.0,
        "delta": -0.361,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.95,
        "after": 0.0,
        "delta": -0.95,
        "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.302,
        "after": 0.3062,
        "delta": 0.0042,
        "percent_delta": 0.0139,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.685,
        "after": 0.0,
        "delta": -0.685,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.53,
        "after": 0.0,
        "delta": -0.53,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.421,
        "after": 0.405,
        "delta": -0.016,
        "percent_delta": -0.038,
        "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": 10,
      "boosted_metrics": 2,
      "deboosted_metrics": 8,
      "better_metrics": 1,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.843,
        "after": 1.0,
        "delta": 0.157,
        "percent_delta": 0.1862,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.95,
        "after": 0.0,
        "delta": -0.95,
        "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.264-
predicted_3B0.000-
predicted_AB4.148-
predicted_AVG0.239-
predicted_BB0.361-
predicted_H0.950-
predicted_HR0.140-
predicted_OBP0.302-
predicted_R0.685-
predicted_RBI0.530-
predicted_SLG0.421-
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.5900.326
predicted_3B0.0010.001
predicted_AB9.7205.572
predicted_AVG0.2460.007
predicted_BB0.7740.413
predicted_H2.4101.460
predicted_HBP0.065-
predicted_HR0.2990.159
predicted_OBP0.3040.002
predicted_R1.6600.975
predicted_RBI1.1770.647
predicted_SLG0.413-0.008
predicted_SO1.8030.960
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.5900.000
predicted_3B0.0010.000
predicted_AB9.7200.000
predicted_AVG0.2510.005
predicted_BB0.7790.005
predicted_H2.4360.026
predicted_HBP0.0650.000
predicted_HR0.3030.004
predicted_OBP0.3060.002
predicted_R1.6910.030
predicted_RBI1.1990.022
predicted_SLG0.405-0.008
predicted_SO1.791-0.012
4. ab_floor_and_scaling

AB rounded to 10 (raw=9.72), rates preserved: AVG=0.251 HR/AB=0.031

MetricValueDelta vs Prev Step
2B1.000-
3B0.000-
AB10.000-
BB1.000-
H3.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO2.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB10.0000.000
BB1.0000.000
CS0.000-
H3.0000.000
HBP0.0000.000
HR0.0000.000
R2.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
6. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B1.0000.410
predicted_3B0.000-0.001
predicted_AB10.0000.280
predicted_AVG0.3000.049
predicted_BB1.0000.221
predicted_H3.0000.564
predicted_HR0.000-0.303
predicted_OBP0.3640.058
predicted_R2.0000.309
predicted_RBI1.000-0.199
predicted_SLG0.400-0.005
predicted_SO2.0000.209
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.000-1.000
3B0.0000.000
AB4.000-6.000
BB0.000-1.000
CS0.0000.000
H0.000-3.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-2.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: 216
Reference playing time: 4.148
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-19.0005.0001.0000.0000.0001.0005.0000.0000.0000.26320.26320.31580.26320.00000.05260.00000.0000
last_100.203-47.0006.0001.0000.0000.0001.0006.0004.0008.0000.12770.19230.14890.12770.00000.02130.08510.1702
season0.6049-896.000234.00057.0000.00032.000120.000148.00078.000182.0000.26120.31980.43190.26120.03570.13390.08710.2031
Weighted Prediction From Real Data
MetricValue
predicted_2B1.0020
predicted_3B0.0020
predicted_AB16.7720
predicted_AVG0.2539
predicted_BB1.2970
predicted_H4.2580
predicted_HBP0.0650
predicted_HR0.5010
predicted_OBP0.3067
predicted_R2.8950
predicted_RBI1.9960
predicted_SLG0.4034
predicted_SO3.0180
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.26401.00200.5897model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB4.148016.77209.7199model_form_blend
predicted_AVG0.23900.25390.2456model_form_blend
predicted_BB0.36101.29700.7741model_form_blend
predicted_H0.95004.25802.4101model_form_blend
predicted_HBP-0.06500.0650form_only
predicted_HR0.14000.50100.2993model_form_blend
predicted_OBP0.30200.30670.3041model_form_blend
predicted_R0.68502.89501.6604model_form_blend
predicted_RBI0.53001.99601.1771model_form_blend
predicted_SLG0.42100.40340.4132model_form_blend
predicted_SO0.84303.01801.8030model_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 date216
Season rows before report date216
Report year2026
Profile rows used216
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.261

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_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI1
Hitting_SAC0
Hitting_SF1
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
allPositionsPlayedLF
gameID20260520_NYM@WAS
game_typefull
mlbID695734
playerID695734
playerNameDaylen Lile
posLF
startedTrue
startingPositionLF
teamWAS
teamID30
game_date2026-05-20
sl_k_percent18.2
sl_bb_percent7.9
sl_woba0.332
sl_xwoba0.34
sl_xba0.272
sl_xslg0.444
sl_sweet_spot_percent36.3
sl_barrel_batted_rate7.7
sl_hard_hit_percent37.8
sl_exit_velocity_avg87.8
sl_launch_angle_avg16.0
sl_whiff_percent25.3
sl_swing_percent54.6
Nasim Nuñez (683083) · BATTER · 2B · Team WAS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 169
All-history rows before 20260521: 169
System season_avg: 0.1960
Data season_avg (2026 season-to-date): 0.1960
Diff (system - data): -0.0000
System opponent_avg: 0.2660

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0240.0000.000Hitting_2B0.0240.000-0.0240.000
predicted_3B0.0240.0000.000Hitting_3B0.0240.000-0.0240.000
predicted_AB3.3493.0007.000Hitting_AB3.2902.000-0.2901.000
predicted_AVG0.2220.3330.286Hitting_AVG0.1960.0000.1370.333
predicted_BB0.5601.0001.000Hitting_BB0.5501.0000.4500.000
predicted_CS-0.0000.000BaseRunning_CS0.0470.000-0.0470.000
predicted_H0.5901.0002.000Hitting_H0.6450.0000.3551.000
predicted_HR0.0400.0000.000Hitting_HR0.0000.0000.0000.000
predicted_OBP0.2940.5000.375Hitting_OBP0.3140.3330.1860.167
predicted_R0.4760.0001.000Hitting_R0.4731.000-0.473-1.000
predicted_RBI0.2900.0001.000Hitting_RBI0.3491.000-0.349-1.000
predicted_SB-0.0000.000BaseRunning_SB0.5031.000-0.503-1.000
predicted_SLG0.2650.3330.286Hitting_SLG0.2180.0000.1160.333
predicted_SO0.8251.0002.000Hitting_SO0.8111.0000.1890.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics9
Boosted Metrics4
Deboosted Metrics5
Better Metrics3
Worse Metrics6
Biggest Boostpredicted_BB: 0.5600 -> 1.0000 (boost 0.4400, better)
Biggest Deboostpredicted_R: 0.4760 -> 0.0000 (deboost -0.4760, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend87162predicted_AB: 3.3490 -> 6.9110 (boost 3.5620, better)predicted_SLG: 0.2650 -> 0.2584 (deboost -0.0066, worse)Final model 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_OBP: 0.3070 -> 0.3158 (boost 0.0088, better)predicted_SLG: 0.2584 -> 0.2478 (deboost -0.0106, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling64233predicted_H: 1.4871 -> 2.0000 (boost 0.5129, better)predicted_HBP: 0.0670 -> 0.0000 (deboost -0.0670, worse)AB rounded to 7 (raw=6.91), rates preserved: AVG=0.215 HR/AB=0.004
5consistency_constraints10101-predicted_R: 1.0675 -> 1.0000 (deboost -0.0675, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context33030predicted_AVG: 0.2152 -> 0.2860 (boost 0.0708, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference50514-predicted_AB: 7.0000 -> 3.0000 (deboost -4.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final30303-predicted_AVG: 0.2860 -> 0.2152 (deboost -0.0708, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "683083",
  "player_name": "Nasim Nuñez",
  "position": "2B",
  "team": "WAS",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.024,
        "predicted_3B": 0.024,
        "predicted_AB": 3.349,
        "predicted_AVG": 0.222,
        "predicted_BB": 0.56,
        "predicted_H": 0.59,
        "predicted_HR": 0.04,
        "predicted_OBP": 0.294,
        "predicted_R": 0.476,
        "predicted_RBI": 0.29,
        "predicted_SLG": 0.265,
        "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.0515,
        "predicted_3B": 0.0415,
        "predicted_AB": 6.911,
        "predicted_AVG": 0.2241,
        "predicted_BB": 1.0099,
        "predicted_H": 1.4714,
        "predicted_HBP": 0.067,
        "predicted_HR": 0.0299,
        "predicted_OBP": 0.307,
        "predicted_R": 1.0483,
        "predicted_RBI": 0.6376,
        "predicted_SLG": 0.2584,
        "predicted_SO": 1.6894
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.024,
          "after": 0.0515,
          "delta": 0.0275,
          "percent_delta": 1.1458,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.024,
          "after": 0.0415,
          "delta": 0.0175,
          "percent_delta": 0.7292,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.349,
          "after": 6.911,
          "delta": 3.562,
          "percent_delta": 1.0636,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.222,
          "after": 0.2241,
          "delta": 0.0021,
          "percent_delta": 0.0095,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.56,
          "after": 1.0099,
          "delta": 0.4499,
          "percent_delta": 0.8034,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.59,
          "after": 1.4714,
          "delta": 0.8814,
          "percent_delta": 1.4939,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.04,
          "after": 0.0299,
          "delta": -0.0101,
          "percent_delta": -0.2525,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.294,
          "after": 0.307,
          "delta": 0.013,
          "percent_delta": 0.0442,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.476,
          "after": 1.0483,
          "delta": 0.5723,
          "percent_delta": 1.2023,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.29,
          "after": 0.6376,
          "delta": 0.3476,
          "percent_delta": 1.1986,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.265,
          "after": 0.2584,
          "delta": -0.0066,
          "percent_delta": -0.0249,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.825,
          "after": 1.6894,
          "delta": 0.8644,
          "percent_delta": 1.0478,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 7,
        "deboosted_metrics": 1,
        "better_metrics": 6,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.349,
          "after": 6.911,
          "delta": 3.562,
          "percent_delta": 1.0636,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.265,
          "after": 0.2584,
          "delta": -0.0066,
          "percent_delta": -0.0249,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 2,
        "last_10": 4,
        "season": 44
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0515,
        "predicted_3B": 0.0415,
        "predicted_AB": 6.911,
        "predicted_AVG": 0.2152,
        "predicted_BB": 1.0168,
        "predicted_H": 1.4871,
        "predicted_HBP": 0.067,
        "predicted_HR": 0.0303,
        "predicted_OBP": 0.3158,
        "predicted_R": 1.0675,
        "predicted_RBI": 0.6493,
        "predicted_SLG": 0.2478,
        "predicted_SO": 1.6779
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0515,
          "after": 0.0515,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0415,
          "after": 0.0415,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.911,
          "after": 6.911,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2241,
          "after": 0.2152,
          "delta": -0.0089,
          "percent_delta": -0.0397,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0099,
          "after": 1.0168,
          "delta": 0.0069,
          "percent_delta": 0.0068,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.4714,
          "after": 1.4871,
          "delta": 0.0157,
          "percent_delta": 0.0107,
          "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.0299,
          "after": 0.0303,
          "delta": 0.0004,
          "percent_delta": 0.0134,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.307,
          "after": 0.3158,
          "delta": 0.0088,
          "percent_delta": 0.0287,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0483,
          "after": 1.0675,
          "delta": 0.0192,
          "percent_delta": 0.0183,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6376,
          "after": 0.6493,
          "delta": 0.0117,
          "percent_delta": 0.0184,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2584,
          "after": 0.2478,
          "delta": -0.0106,
          "percent_delta": -0.041,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.6894,
          "after": 1.6779,
          "delta": -0.0115,
          "percent_delta": -0.0068,
          "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.307,
          "after": 0.3158,
          "delta": 0.0088,
          "percent_delta": 0.0287,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.2584,
          "after": 0.2478,
          "delta": -0.0106,
          "percent_delta": -0.041,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 7 (raw=6.91), rates preserved: AVG=0.215 HR/AB=0.004",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.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.0515,
          "after": 0.0,
          "delta": -0.0515,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0415,
          "after": 0.0,
          "delta": -0.0415,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.911,
          "after": 7.0,
          "delta": 0.089,
          "percent_delta": 0.0129,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0168,
          "after": 1.0,
          "delta": -0.0168,
          "percent_delta": -0.0165,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.4871,
          "after": 2.0,
          "delta": 0.5129,
          "percent_delta": 0.3449,
          "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.0303,
          "after": 0.0,
          "delta": -0.0303,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6493,
          "after": 1.0,
          "delta": 0.3507,
          "percent_delta": 0.5401,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.6779,
          "after": 2.0,
          "delta": 0.3221,
          "percent_delta": 0.192,
          "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_H",
          "before": 1.4871,
          "after": 2.0,
          "delta": 0.5129,
          "percent_delta": 0.3449,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HBP",
          "before": 0.067,
          "after": 0.0,
          "delta": -0.067,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.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": 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": 7.0,
          "after": 7.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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0675,
          "after": 1.0,
          "delta": -0.0675,
          "percent_delta": -0.0632,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.0675,
          "after": 1.0,
          "delta": -0.0675,
          "percent_delta": -0.0632,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.0,
        "predicted_AVG": 0.286,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.375,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.286,
        "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": 7.0,
          "after": 7.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2152,
          "after": 0.286,
          "delta": 0.0708,
          "percent_delta": 0.329,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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.3158,
          "after": 0.375,
          "delta": 0.0592,
          "percent_delta": 0.1875,
          "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.2478,
          "after": 0.286,
          "delta": 0.0382,
          "percent_delta": 0.1542,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.2152,
          "after": 0.286,
          "delta": 0.0708,
          "percent_delta": 0.329,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 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": 7.0,
          "after": 3.0,
          "delta": -4.0,
          "percent_delta": -0.5714,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 7.0,
          "after": 3.0,
          "delta": -4.0,
          "percent_delta": -0.5714,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2152,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3158,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2478,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.286,
          "after": 0.2152,
          "delta": -0.0708,
          "percent_delta": -0.2476,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.375,
          "after": 0.3158,
          "delta": -0.0592,
          "percent_delta": -0.1578,
          "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.286,
          "after": 0.2478,
          "delta": -0.0382,
          "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.286,
          "after": 0.2152,
          "delta": -0.0708,
          "percent_delta": -0.2476,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.024,
        "after": 0.0,
        "delta": -0.024,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "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.349,
        "after": 3.0,
        "delta": -0.349,
        "percent_delta": -0.1042,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.222,
        "after": 0.2152,
        "delta": -0.0068,
        "percent_delta": -0.0306,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.56,
        "after": 1.0,
        "delta": 0.44,
        "percent_delta": 0.7857,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.59,
        "after": 1.0,
        "delta": 0.41,
        "percent_delta": 0.6949,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.04,
        "after": 0.0,
        "delta": -0.04,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_OBP",
        "before": 0.294,
        "after": 0.3158,
        "delta": 0.0218,
        "percent_delta": 0.0741,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.476,
        "after": 0.0,
        "delta": -0.476,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.29,
        "after": 0.0,
        "delta": -0.29,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.265,
        "after": 0.2478,
        "delta": -0.0172,
        "percent_delta": -0.0649,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.825,
        "after": 1.0,
        "delta": 0.175,
        "percent_delta": 0.2121,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 4,
      "deboosted_metrics": 5,
      "better_metrics": 3,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.56,
        "after": 1.0,
        "delta": 0.44,
        "percent_delta": 0.7857,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.476,
        "after": 0.0,
        "delta": -0.476,
        "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.024-
predicted_3B0.024-
predicted_AB3.349-
predicted_AVG0.222-
predicted_BB0.560-
predicted_H0.590-
predicted_HR0.040-
predicted_OBP0.294-
predicted_R0.476-
predicted_RBI0.290-
predicted_SLG0.265-
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.0510.027
predicted_3B0.0420.018
predicted_AB6.9113.562
predicted_AVG0.2240.002
predicted_BB1.0100.450
predicted_H1.4710.881
predicted_HBP0.067-
predicted_HR0.030-0.010
predicted_OBP0.3070.013
predicted_R1.0480.572
predicted_RBI0.6380.348
predicted_SLG0.258-0.007
predicted_SO1.6890.864
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.0420.000
predicted_AB6.9110.000
predicted_AVG0.215-0.009
predicted_BB1.0170.007
predicted_H1.4870.016
predicted_HBP0.0670.000
predicted_HR0.0300.000
predicted_OBP0.3160.009
predicted_R1.0670.019
predicted_RBI0.6490.012
predicted_SLG0.248-0.011
predicted_SO1.678-0.012
4. ab_floor_and_scaling

AB rounded to 7 (raw=6.91), rates preserved: AVG=0.215 HR/AB=0.004

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB7.000-
BB1.000-
H2.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO2.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB7.0000.000
BB1.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
6. 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.042
predicted_AB7.0000.089
predicted_AVG0.2860.071
predicted_BB1.000-0.017
predicted_H2.0000.513
predicted_HR0.000-0.030
predicted_OBP0.3750.059
predicted_R1.000-0.067
predicted_RBI1.0000.351
predicted_SLG0.2860.038
predicted_SO2.0000.322
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-4.000
BB1.0000.000
CS0.0000.000
H1.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.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 166
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-18.0008.0000.0000.0000.0001.0005.0001.0005.0000.44440.47370.44440.44440.00000.05560.05560.2778
last_100.204-35.0008.0000.0000.0000.0001.0005.0001.0007.0000.22860.25000.22860.22860.00000.02860.02860.2000
season0.6044-556.000109.0004.0004.0000.00059.00079.00093.000137.0000.19600.31400.21760.19600.00000.10610.16730.2464
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0870
predicted_3B0.0640
predicted_AB11.4960
predicted_AVG0.2267
predicted_BB1.5890
predicted_H2.6060
predicted_HBP0.0670
predicted_HR0.0170
predicted_OBP0.3237
predicted_R1.7850
predicted_RBI1.0850
predicted_SLG0.2499
predicted_SO2.8020
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.02400.08700.0515model_form_blend
predicted_3B0.02400.06400.0415model_form_blend
predicted_AB3.349011.49606.9110model_form_blend
predicted_AVG0.22200.22670.2241model_form_blend
predicted_BB0.56001.58901.0099model_form_blend
predicted_H0.59002.60601.4714model_form_blend
predicted_HBP-0.06700.0670form_only
predicted_HR0.04000.01700.0299model_form_blend
predicted_OBP0.29400.32370.3070model_form_blend
predicted_R0.47601.78501.0483model_form_blend
predicted_RBI0.29001.08500.6376model_form_blend
predicted_SLG0.26500.24990.2584model_form_blend
predicted_SO0.82502.80201.6894model_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 date169
Season rows before report date169
Report year2026
Profile rows used166
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB1
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB2
Hitting_AVG0.0
Hitting_BB1
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI1
Hitting_SAC1
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
allPositionsPlayed2B
gameID20260520_NYM@WAS
game_typefull
mlbID683083
playerID683083
playerNameNasim Nuñez
pos2B
startedTrue
startingPosition2B
teamWAS
teamID30
game_date2026-05-20
sl_k_percent19.4
sl_bb_percent12.7
sl_woba0.254
sl_xwoba0.269
sl_xba0.202
sl_xslg0.248
sl_sweet_spot_percent28.8
sl_barrel_batted_rate0.0
sl_hard_hit_percent18.0
sl_exit_velocity_avg84.1
sl_launch_angle_avg8.8
sl_whiff_percent22.8
sl_swing_percent47.1
Dylan Crews (686611) · BATTER · RF · Team WAS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 5
All-history rows before 20260521: 5
System season_avg: 0.2500
Data season_avg (2026 season-to-date): 0.2500
Diff (system - data): 0.0000
System opponent_avg: 0.2750

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.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.0804.0005.000Hitting_AB4.0004.0000.0000.000
predicted_AVG0.2300.0000.200Hitting_AVG0.2500.250-0.250-0.250
predicted_BB0.0000.0000.000Hitting_BB0.0000.0000.0000.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.9400.0001.000Hitting_H1.0001.000-1.000-1.000
predicted_HR0.1000.0000.000Hitting_HR0.0000.0000.0000.000
predicted_OBP0.3020.0000.200Hitting_OBP0.2500.250-0.250-0.250
predicted_R0.2000.0000.000Hitting_R0.2001.000-0.200-1.000
predicted_RBI0.4200.0000.000Hitting_RBI0.0000.0000.0000.000
predicted_SLG0.3680.0000.200Hitting_SLG0.2500.250-0.250-0.250
predicted_SO0.4001.0001.000Hitting_SO0.4002.0000.600-1.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.4000 -> 1.0000 (boost 0.6000, worse)
Biggest Deboostpredicted_H: 0.9400 -> 0.0000 (deboost -0.9400, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend87162predicted_AB: 4.0800 -> 4.6957 (boost 0.6157, better)predicted_SLG: 0.3680 -> 0.3616 (deboost -0.0064, worse)Final model 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.2983 -> 0.2533 (deboost -0.0450, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling72516predicted_SO: 0.5854 -> 1.0000 (boost 0.4146, worse)predicted_RBI: 0.4503 -> 0.0000 (deboost -0.4503, worse)AB rounded to 5 (raw=4.70), rates preserved: AVG=0.240 HR/AB=0.023
5consistency_constraints10101-predicted_R: 0.3191 -> 0.0000 (deboost -0.3191, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context30303-predicted_SLG: 0.3224 -> 0.2000 (deboost -0.1224, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference20202-predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final33030predicted_SLG: 0.2000 -> 0.3224 (boost 0.1224, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "686611",
  "player_name": "Dylan Crews",
  "position": "RF",
  "team": "WAS",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.08,
        "predicted_AVG": 0.23,
        "predicted_BB": 0.0,
        "predicted_H": 0.94,
        "predicted_HR": 0.1,
        "predicted_OBP": 0.302,
        "predicted_R": 0.2,
        "predicted_RBI": 0.42,
        "predicted_SLG": 0.368,
        "predicted_SO": 0.4
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0513,
        "predicted_3B": 0.0041,
        "predicted_AB": 4.6957,
        "predicted_AVG": 0.2355,
        "predicted_BB": 0.0818,
        "predicted_H": 1.1162,
        "predicted_HBP": 0.034,
        "predicted_HR": 0.1074,
        "predicted_OBP": 0.2983,
        "predicted_R": 0.3134,
        "predicted_RBI": 0.4422,
        "predicted_SLG": 0.3616,
        "predicted_SO": 0.5894
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0513,
          "delta": 0.0513,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0041,
          "delta": 0.0041,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.08,
          "after": 4.6957,
          "delta": 0.6157,
          "percent_delta": 0.1509,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.23,
          "after": 0.2355,
          "delta": 0.0055,
          "percent_delta": 0.0239,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0818,
          "delta": 0.0818,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.94,
          "after": 1.1162,
          "delta": 0.1762,
          "percent_delta": 0.1874,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1,
          "after": 0.1074,
          "delta": 0.0074,
          "percent_delta": 0.074,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.302,
          "after": 0.2983,
          "delta": -0.0037,
          "percent_delta": -0.0123,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.2,
          "after": 0.3134,
          "delta": 0.1134,
          "percent_delta": 0.567,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.42,
          "after": 0.4422,
          "delta": 0.0222,
          "percent_delta": 0.0529,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.368,
          "after": 0.3616,
          "delta": -0.0064,
          "percent_delta": -0.0174,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.4,
          "after": 0.5894,
          "delta": 0.1894,
          "percent_delta": 0.4735,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 7,
        "deboosted_metrics": 1,
        "better_metrics": 6,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.08,
          "after": 4.6957,
          "delta": 0.6157,
          "percent_delta": 0.1509,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.368,
          "after": 0.3616,
          "delta": -0.0064,
          "percent_delta": -0.0174,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 2,
        "last_10": 2,
        "season": 2
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0513,
        "predicted_3B": 0.0041,
        "predicted_AB": 4.6957,
        "predicted_AVG": 0.2403,
        "predicted_BB": 0.0824,
        "predicted_H": 1.1281,
        "predicted_HBP": 0.034,
        "predicted_HR": 0.1088,
        "predicted_OBP": 0.2533,
        "predicted_R": 0.3191,
        "predicted_RBI": 0.4503,
        "predicted_SLG": 0.3224,
        "predicted_SO": 0.5854
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0513,
          "after": 0.0513,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0041,
          "after": 0.0041,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.6957,
          "after": 4.6957,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2355,
          "after": 0.2403,
          "delta": 0.0048,
          "percent_delta": 0.0204,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0818,
          "after": 0.0824,
          "delta": 0.0006,
          "percent_delta": 0.0073,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.1162,
          "after": 1.1281,
          "delta": 0.0119,
          "percent_delta": 0.0107,
          "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.1074,
          "after": 0.1088,
          "delta": 0.0014,
          "percent_delta": 0.013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2983,
          "after": 0.2533,
          "delta": -0.045,
          "percent_delta": -0.1509,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3134,
          "after": 0.3191,
          "delta": 0.0057,
          "percent_delta": 0.0182,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4422,
          "after": 0.4503,
          "delta": 0.0081,
          "percent_delta": 0.0183,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3616,
          "after": 0.3224,
          "delta": -0.0392,
          "percent_delta": -0.1084,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5894,
          "after": 0.5854,
          "delta": -0.004,
          "percent_delta": -0.0068,
          "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.2983,
          "after": 0.2533,
          "delta": -0.045,
          "percent_delta": -0.1509,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 5 (raw=4.70), rates preserved: AVG=0.240 HR/AB=0.023",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0513,
          "after": 0.0,
          "delta": -0.0513,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0041,
          "after": 0.0,
          "delta": -0.0041,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.6957,
          "after": 5.0,
          "delta": 0.3043,
          "percent_delta": 0.0648,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0824,
          "after": 0.0,
          "delta": -0.0824,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.1281,
          "after": 1.0,
          "delta": -0.1281,
          "percent_delta": -0.1136,
          "direction": "deboost",
          "projection_effect": "worse",
          "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.1088,
          "after": 0.0,
          "delta": -0.1088,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4503,
          "after": 0.0,
          "delta": -0.4503,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5854,
          "after": 1.0,
          "delta": 0.4146,
          "percent_delta": 0.7082,
          "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.5854,
          "after": 1.0,
          "delta": 0.4146,
          "percent_delta": 0.7082,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4503,
          "after": 0.0,
          "delta": -0.4503,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3191,
          "after": 0.0,
          "delta": -0.3191,
          "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.3191,
          "after": 0.0,
          "delta": -0.3191,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.2,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.2,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2403,
          "after": 0.2,
          "delta": -0.0403,
          "percent_delta": -0.1677,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2533,
          "after": 0.2,
          "delta": -0.0533,
          "percent_delta": -0.2104,
          "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.3224,
          "after": 0.2,
          "delta": -0.1224,
          "percent_delta": -0.3797,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.3224,
          "after": 0.2,
          "delta": -0.1224,
          "percent_delta": -0.3797,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 4.0,
          "delta": -1.0,
          "percent_delta": -0.2,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 4.0,
          "delta": -1.0,
          "percent_delta": -0.2,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2403,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2533,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3224,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2,
          "after": 0.2403,
          "delta": 0.0403,
          "percent_delta": 0.2013,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2,
          "after": 0.2533,
          "delta": 0.0533,
          "percent_delta": 0.2667,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2,
          "after": 0.3224,
          "delta": 0.1224,
          "percent_delta": 0.612,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.2,
          "after": 0.3224,
          "delta": 0.1224,
          "percent_delta": 0.612,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.08,
        "after": 4.0,
        "delta": -0.08,
        "percent_delta": -0.0196,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.23,
        "after": 0.2403,
        "delta": 0.0103,
        "percent_delta": 0.0448,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "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.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.2533,
        "delta": -0.0487,
        "percent_delta": -0.1613,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.2,
        "after": 0.0,
        "delta": -0.2,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.42,
        "after": 0.0,
        "delta": -0.42,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.368,
        "after": 0.3224,
        "delta": -0.0456,
        "percent_delta": -0.1239,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.4,
        "after": 1.0,
        "delta": 0.6,
        "percent_delta": 1.5,
        "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.4,
        "after": 1.0,
        "delta": 0.6,
        "percent_delta": 1.5,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.94,
        "after": 0.0,
        "delta": -0.94,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.000-
predicted_3B0.000-
predicted_AB4.080-
predicted_AVG0.230-
predicted_BB0.000-
predicted_H0.940-
predicted_HR0.100-
predicted_OBP0.302-
predicted_R0.200-
predicted_RBI0.420-
predicted_SLG0.368-
predicted_SO0.400-
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.0510.051
predicted_3B0.0040.004
predicted_AB4.6960.616
predicted_AVG0.2350.005
predicted_BB0.0820.082
predicted_H1.1160.176
predicted_HBP0.034-
predicted_HR0.1070.007
predicted_OBP0.298-0.004
predicted_R0.3130.113
predicted_RBI0.4420.022
predicted_SLG0.362-0.006
predicted_SO0.5890.189
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.0040.000
predicted_AB4.6960.000
predicted_AVG0.2400.005
predicted_BB0.0820.001
predicted_H1.1280.012
predicted_HBP0.0340.000
predicted_HR0.1090.001
predicted_OBP0.253-0.045
predicted_R0.3190.006
predicted_RBI0.4500.008
predicted_SLG0.322-0.039
predicted_SO0.585-0.004
4. ab_floor_and_scaling

AB rounded to 5 (raw=4.70), rates preserved: AVG=0.240 HR/AB=0.023

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.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
6. 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.004
predicted_AB5.0000.304
predicted_AVG0.200-0.040
predicted_BB0.000-0.082
predicted_H1.000-0.128
predicted_HR0.000-0.109
predicted_OBP0.200-0.053
predicted_R0.000-0.319
predicted_RBI0.000-0.450
predicted_SLG0.200-0.122
predicted_SO1.0000.415
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.000-1.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: 5
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.202-20.0005.0000.0000.0000.0000.0001.0000.0002.0000.25000.25000.25000.25000.00000.00000.00000.1000
last_100.202-20.0005.0000.0000.0000.0000.0001.0000.0002.0000.25000.25000.25000.25000.00000.00000.00000.1000
season0.602-20.0005.0000.0000.0000.0000.0001.0000.0002.0000.25000.25000.25000.25000.00000.00000.00000.1000
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1870
predicted_3B0.0150
predicted_AB6.3230
predicted_AVG0.2502
predicted_BB0.2980
predicted_H1.5820
predicted_HBP0.0340
predicted_HR0.1270
predicted_OBP0.2887
predicted_R0.6130
predicted_RBI0.5010
predicted_SLG0.3447
predicted_SO1.0900
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.00000.18700.0513model_form_blend
predicted_3B0.00000.01500.0041model_form_blend
predicted_AB4.08006.32304.6957model_form_blend
predicted_AVG0.23000.25020.2355model_form_blend
predicted_BB0.00000.29800.0818model_form_blend
predicted_H0.94001.58201.1162model_form_blend
predicted_HBP-0.03400.0340form_only
predicted_HR0.10000.12700.1074model_form_blend
predicted_OBP0.30200.28870.2983model_form_blend
predicted_R0.20000.61300.3134model_form_blend
predicted_RBI0.42000.50100.4422model_form_blend
predicted_SLG0.36800.34470.3616model_form_blend
predicted_SO0.40001.09000.5894model_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 date5
Season rows before report date5
Report year2026
Profile rows used5
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.25

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_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
allPositionsPlayedRF
gameID20260520_NYM@WAS
game_typefull
mlbID686611
playerID686611
playerNameDylan Crews
posCF
startedTrue
startingPositionRF
teamWAS
teamID30
game_date2026-05-20
sl_k_percent0.0
sl_bb_percent0.0
sl_woba0.225
sl_xwoba0.111
sl_xba0.117
sl_xslg0.151
sl_sweet_spot_percent25.0
sl_barrel_batted_rate0.0
sl_hard_hit_percent0.0
sl_exit_velocity_avg86.1
sl_launch_angle_avg14.3
sl_whiff_percent0.0
sl_swing_percent41.2
Jacob Young (696285) · BATTER · CF · Team WAS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 175
All-history rows before 20260521: 175
System season_avg: 0.2310
Data season_avg (2026 season-to-date): 0.2305
Diff (system - data): 0.0005
System opponent_avg: 0.3080

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0990.0000.000Hitting_2B0.0971.000-0.097-1.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.8303.0008.000Hitting_AB3.7434.000-0.743-1.000
predicted_AVG0.2430.3330.250Hitting_AVG0.2310.5000.103-0.167
predicted_BB0.2341.0001.000Hitting_BB0.2290.0000.7711.000
predicted_CS-0.0000.000BaseRunning_CS0.0230.000-0.0230.000
predicted_H0.7801.0002.000Hitting_H0.8632.0000.137-1.000
predicted_HR0.1700.0001.000Hitting_HR0.1141.000-0.114-1.000
predicted_OBP0.3000.5000.333Hitting_OBP0.2850.5000.2150.000
predicted_R0.5560.0001.000Hitting_R0.5431.000-0.543-1.000
predicted_RBI0.5400.0002.000Hitting_RBI0.4912.000-0.491-2.000
predicted_SLG0.4540.3330.625Hitting_SLG0.3481.500-0.015-1.167
predicted_SO0.6550.0001.000Hitting_SO0.6401.000-0.640-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_BB: 0.2340 -> 1.0000 (boost 0.7660, better)
Biggest Deboostpredicted_AB: 3.8300 -> 3.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_blend11110101predicted_AB: 3.8300 -> 7.6457 (boost 3.8157, 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_SLG: 0.5131 -> 0.5310 (boost 0.0179, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling74352predicted_RBI: 1.5294 -> 2.0000 (boost 0.4706, better)predicted_SO: 1.2822 -> 1.0000 (deboost -0.2822, better)AB rounded to 8 (raw=7.65), rates preserved: AVG=0.262 HR/AB=0.079
5bvp_blend00000--Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.308)
6consistency_constraints10101-predicted_R: 1.3352 -> 1.0000 (deboost -0.3352, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context32121predicted_SLG: 0.5310 -> 0.6250 (boost 0.0940, better)predicted_AVG: 0.2620 -> 0.2500 (deboost -0.0120, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference60615-predicted_AB: 8.0000 -> 3.0000 (deboost -5.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final31212predicted_AVG: 0.2500 -> 0.2620 (boost 0.0120, better)predicted_SLG: 0.6250 -> 0.5310 (deboost -0.0940, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "696285",
  "player_name": "Jacob Young",
  "position": "CF",
  "team": "WAS",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.099,
        "predicted_3B": 0.0,
        "predicted_AB": 3.83,
        "predicted_AVG": 0.243,
        "predicted_BB": 0.234,
        "predicted_H": 0.78,
        "predicted_HR": 0.17,
        "predicted_OBP": 0.3,
        "predicted_R": 0.556,
        "predicted_RBI": 0.54,
        "predicted_SLG": 0.454,
        "predicted_SO": 0.655
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2427,
        "predicted_3B": 0.0009,
        "predicted_AB": 7.6457,
        "predicted_AVG": 0.2596,
        "predicted_BB": 0.6076,
        "predicted_H": 1.982,
        "predicted_HBP": 0.135,
        "predicted_HR": 0.5966,
        "predicted_OBP": 0.3176,
        "predicted_R": 1.3112,
        "predicted_RBI": 1.5019,
        "predicted_SLG": 0.5131,
        "predicted_SO": 1.291
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.099,
          "after": 0.2427,
          "delta": 0.1437,
          "percent_delta": 1.4515,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.83,
          "after": 7.6457,
          "delta": 3.8157,
          "percent_delta": 0.9963,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.243,
          "after": 0.2596,
          "delta": 0.0166,
          "percent_delta": 0.0683,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.234,
          "after": 0.6076,
          "delta": 0.3736,
          "percent_delta": 1.5966,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.78,
          "after": 1.982,
          "delta": 1.202,
          "percent_delta": 1.541,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.17,
          "after": 0.5966,
          "delta": 0.4266,
          "percent_delta": 2.5094,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3,
          "after": 0.3176,
          "delta": 0.0176,
          "percent_delta": 0.0587,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.556,
          "after": 1.3112,
          "delta": 0.7552,
          "percent_delta": 1.3583,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.54,
          "after": 1.5019,
          "delta": 0.9619,
          "percent_delta": 1.7813,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.454,
          "after": 0.5131,
          "delta": 0.0591,
          "percent_delta": 0.1302,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.655,
          "after": 1.291,
          "delta": 0.636,
          "percent_delta": 0.971,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 11,
        "boosted_metrics": 11,
        "deboosted_metrics": 0,
        "better_metrics": 10,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.83,
          "after": 7.6457,
          "delta": 3.8157,
          "percent_delta": 0.9963,
          "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": 3,
        "last_10": 4,
        "season": 44
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2427,
        "predicted_3B": 0.0009,
        "predicted_AB": 7.6457,
        "predicted_AVG": 0.262,
        "predicted_BB": 0.6117,
        "predicted_H": 2.0032,
        "predicted_HBP": 0.135,
        "predicted_HR": 0.6042,
        "predicted_OBP": 0.3167,
        "predicted_R": 1.3352,
        "predicted_RBI": 1.5294,
        "predicted_SLG": 0.531,
        "predicted_SO": 1.2822
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2427,
          "after": 0.2427,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.6457,
          "after": 7.6457,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2596,
          "after": 0.262,
          "delta": 0.0024,
          "percent_delta": 0.0092,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.6076,
          "after": 0.6117,
          "delta": 0.0041,
          "percent_delta": 0.0067,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.982,
          "after": 2.0032,
          "delta": 0.0212,
          "percent_delta": 0.0107,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.135,
          "after": 0.135,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.5966,
          "after": 0.6042,
          "delta": 0.0076,
          "percent_delta": 0.0127,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3176,
          "after": 0.3167,
          "delta": -0.0009,
          "percent_delta": -0.0028,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.3112,
          "after": 1.3352,
          "delta": 0.024,
          "percent_delta": 0.0183,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.5019,
          "after": 1.5294,
          "delta": 0.0275,
          "percent_delta": 0.0183,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5131,
          "after": 0.531,
          "delta": 0.0179,
          "percent_delta": 0.0349,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.291,
          "after": 1.2822,
          "delta": -0.0088,
          "percent_delta": -0.0068,
          "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.5131,
          "after": 0.531,
          "delta": 0.0179,
          "percent_delta": 0.0349,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 8 (raw=7.65), rates preserved: AVG=0.262 HR/AB=0.079",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2427,
          "after": 0.0,
          "delta": -0.2427,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.6457,
          "after": 8.0,
          "delta": 0.3543,
          "percent_delta": 0.0463,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.6117,
          "after": 1.0,
          "delta": 0.3883,
          "percent_delta": 0.6348,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.0032,
          "after": 2.0,
          "delta": -0.0032,
          "percent_delta": -0.0016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.135,
          "after": 0.0,
          "delta": -0.135,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.6042,
          "after": 1.0,
          "delta": 0.3958,
          "percent_delta": 0.6551,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.5294,
          "after": 2.0,
          "delta": 0.4706,
          "percent_delta": 0.3077,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2822,
          "after": 1.0,
          "delta": -0.2822,
          "percent_delta": -0.2201,
          "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_RBI",
          "before": 1.5294,
          "after": 2.0,
          "delta": 0.4706,
          "percent_delta": 0.3077,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.2822,
          "after": 1.0,
          "delta": -0.2822,
          "percent_delta": -0.2201,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.308)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 8.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": 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_RBI",
          "before": 2.0,
          "after": 2.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.8791,
        "bvp": 0.1209
      },
      "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": 8.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": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 8.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": 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_R",
          "before": 1.3352,
          "after": 1.0,
          "delta": -0.3352,
          "percent_delta": -0.251,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "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_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.3352,
          "after": 1.0,
          "delta": -0.3352,
          "percent_delta": -0.251,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.333,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SLG": 0.625,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.262,
          "after": 0.25,
          "delta": -0.012,
          "percent_delta": -0.0458,
          "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": 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_OBP",
          "before": 0.3167,
          "after": 0.333,
          "delta": 0.0163,
          "percent_delta": 0.0515,
          "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_SLG",
          "before": 0.531,
          "after": 0.625,
          "delta": 0.094,
          "percent_delta": 0.177,
          "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.531,
          "after": 0.625,
          "delta": 0.094,
          "percent_delta": 0.177,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.262,
          "after": 0.25,
          "delta": -0.012,
          "percent_delta": -0.0458,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 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": 8.0,
          "after": 3.0,
          "delta": -5.0,
          "percent_delta": -0.625,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "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": 2.0,
          "after": 0.0,
          "delta": -2.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": 0,
        "deboosted_metrics": 6,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 3.0,
          "delta": -5.0,
          "percent_delta": -0.625,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.262,
        "predicted_BB": 1.0,
        "predicted_CF": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3167,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.531,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.262,
          "delta": 0.012,
          "percent_delta": 0.048,
          "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.333,
          "after": 0.3167,
          "delta": -0.0163,
          "percent_delta": -0.049,
          "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.625,
          "after": 0.531,
          "delta": -0.094,
          "percent_delta": -0.1503,
          "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.25,
          "after": 0.262,
          "delta": 0.012,
          "percent_delta": 0.048,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.625,
          "after": 0.531,
          "delta": -0.094,
          "percent_delta": -0.1503,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.099,
        "after": 0.0,
        "delta": -0.099,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.83,
        "after": 3.0,
        "delta": -0.83,
        "percent_delta": -0.2167,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.243,
        "after": 0.262,
        "delta": 0.019,
        "percent_delta": 0.0782,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.234,
        "after": 1.0,
        "delta": 0.766,
        "percent_delta": 3.2735,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.78,
        "after": 1.0,
        "delta": 0.22,
        "percent_delta": 0.2821,
        "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.3,
        "after": 0.3167,
        "delta": 0.0167,
        "percent_delta": 0.0557,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.556,
        "after": 0.0,
        "delta": -0.556,
        "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.454,
        "after": 0.531,
        "delta": 0.077,
        "percent_delta": 0.1696,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.655,
        "after": 0.0,
        "delta": -0.655,
        "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_BB",
        "before": 0.234,
        "after": 1.0,
        "delta": 0.766,
        "percent_delta": 3.2735,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 3.83,
        "after": 3.0,
        "delta": -0.83,
        "percent_delta": -0.2167,
        "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.099-
predicted_3B0.000-
predicted_AB3.830-
predicted_AVG0.243-
predicted_BB0.234-
predicted_H0.780-
predicted_HR0.170-
predicted_OBP0.300-
predicted_R0.556-
predicted_RBI0.540-
predicted_SLG0.454-
predicted_SO0.655-
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.2430.144
predicted_3B0.0010.001
predicted_AB7.6463.816
predicted_AVG0.2600.017
predicted_BB0.6080.374
predicted_H1.9821.202
predicted_HBP0.135-
predicted_HR0.5970.427
predicted_OBP0.3180.018
predicted_R1.3110.755
predicted_RBI1.5020.962
predicted_SLG0.5130.059
predicted_SO1.2910.636
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.2430.000
predicted_3B0.0010.000
predicted_AB7.6460.000
predicted_AVG0.2620.002
predicted_BB0.6120.004
predicted_H2.0030.021
predicted_HBP0.1350.000
predicted_HR0.6040.008
predicted_OBP0.317-0.001
predicted_R1.3350.024
predicted_RBI1.5290.028
predicted_SLG0.5310.018
predicted_SO1.282-0.009
4. ab_floor_and_scaling

AB rounded to 8 (raw=7.65), rates preserved: AVG=0.262 HR/AB=0.079

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB8.000-
BB1.000-
H2.000-
HBP0.000-
HR1.000-
RBI2.000-
SB0.000-
SO1.000-
5. bvp_blend

Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.308)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB8.0000.000
BB1.0000.000
H2.0000.000
HR1.0000.000
RBI2.0000.000
SO1.0000.000
6. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB8.0000.000
BB1.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR1.0000.000
R1.000-
RBI2.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. 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.243
predicted_3B0.000-0.001
predicted_AB8.0000.354
predicted_AVG0.250-0.012
predicted_BB1.0000.388
predicted_H2.000-0.003
predicted_HR1.0000.396
predicted_OBP0.3330.016
predicted_R1.000-0.335
predicted_RBI2.0000.471
predicted_SLG0.6250.094
predicted_SO1.000-0.282
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-5.000
BB1.0000.000
CS0.0000.000
H1.000-1.000
HBP0.0000.000
HR0.000-1.000
PA4.000-
R0.000-1.000
RBI0.000-2.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: 171
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.203-14.0007.0001.0000.0005.0008.0005.0003.0002.0000.50000.58821.64290.50000.35710.57140.21430.1429
last_100.204-32.00013.0001.0000.0008.00017.0008.0003.0005.0000.40620.45711.18750.40620.25000.53120.09380.1562
season0.6044-655.000151.00017.0000.00020.00086.00095.00040.000112.0000.23050.28410.34810.23050.03050.13130.06110.1710
Weighted Prediction From Real Data
MetricValue
predicted_2B0.4270
predicted_3B0.0020
predicted_AB12.5410
predicted_AVG0.2810
predicted_BB1.0870
predicted_H3.5240
predicted_HBP0.1350
predicted_HR1.1440
predicted_OBP0.3401
predicted_R2.2800
predicted_RBI2.7360
predicted_SLG0.5890
predicted_SO2.1070
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.09900.42700.2427model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB3.830012.54107.6457model_form_blend
predicted_AVG0.24300.28100.2596model_form_blend
predicted_BB0.23401.08700.6076model_form_blend
predicted_H0.78003.52401.9820model_form_blend
predicted_HBP-0.13500.1350form_only
predicted_HR0.17001.14400.5966model_form_blend
predicted_OBP0.30000.34010.3176model_form_blend
predicted_R0.55602.28001.3112model_form_blend
predicted_RBI0.54002.73601.5019model_form_blend
predicted_SLG0.45400.58900.5131model_form_blend
predicted_SO0.65502.10701.2910model_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 date175
Season rows before report date175
Report year2026
Profile rows used171
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB4
Hitting_AVG0.5
Hitting_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R1
Hitting_RBI2
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB6
Hitting_battingOrder7
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedCF
gameID20260520_NYM@WAS
game_typefull
mlbID696285
playerID696285
playerNameJacob Young
posCF
startedTrue
startingPositionCF
teamWAS
teamID30
game_date2026-05-20
sl_k_percent16.6
sl_bb_percent5.3
sl_woba0.285
sl_xwoba0.314
sl_xba0.266
sl_xslg0.392
sl_sweet_spot_percent37.2
sl_barrel_batted_rate5.5
sl_hard_hit_percent31.8
sl_exit_velocity_avg88.0
sl_launch_angle_avg11.2
sl_whiff_percent20.8
sl_swing_percent44.2
Keibert Ruiz (660688) · BATTER · C · Team WAS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 97
All-history rows before 20260521: 97
System season_avg: 0.2430
Data season_avg (2026 season-to-date): 0.2432
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.4170.0001.000Hitting_2B0.4121.000-0.412-1.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.4693.0006.000Hitting_AB3.4333.000-0.4330.000
predicted_AVG0.2690.0000.333Hitting_AVG0.2430.667-0.243-0.667
predicted_BB0.0831.0000.000Hitting_BB0.0820.0000.9181.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.7300.0002.000Hitting_H0.8352.000-0.835-2.000
predicted_HR0.1300.0000.000Hitting_HR0.1750.000-0.1750.000
predicted_OBP0.3130.2500.333Hitting_OBP0.2630.667-0.013-0.417
predicted_R0.4690.0001.000Hitting_R0.4640.000-0.4640.000
predicted_RBI0.6100.0002.000Hitting_RBI0.8451.000-0.845-1.000
predicted_SLG0.5120.0000.500Hitting_SLG0.5171.000-0.517-1.000
predicted_SO0.6460.0001.000Hitting_SO0.6390.000-0.6390.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.0830 -> 1.0000 (boost 0.9170, better)
Biggest Deboostpredicted_H: 0.7300 -> 0.0000 (deboost -0.7300, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend1010091predicted_AB: 3.4690 -> 6.3869 (boost 2.9179, 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_snapshot31212predicted_SLG: 0.5481 -> 0.5532 (boost 0.0051, better)predicted_AVG: 0.2789 -> 0.2696 (deboost -0.0093, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling83544predicted_RBI: 1.6493 -> 2.0000 (boost 0.3507, better)predicted_AB: 6.3869 -> 6.0000 (deboost -0.3869, worse)AB rounded to 6 (raw=6.39), rates preserved: AVG=0.270 HR/AB=0.046
5bvp_blend00000--Sample-size BvP blend (BvP AB=15.0, weight=0.133, BvP AVG=0.267)
6consistency_constraints11010predicted_R: 0.8472 -> 1.0000 (boost 0.1528, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context32121predicted_AVG: 0.2696 -> 0.3330 (boost 0.0634, better)predicted_SLG: 0.5532 -> 0.5000 (deboost -0.0532, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference71625predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 6.0000 -> 3.0000 (deboost -3.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final31212predicted_SLG: 0.5000 -> 0.5532 (boost 0.0532, better)predicted_AVG: 0.3330 -> 0.2696 (deboost -0.0634, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "660688",
  "player_name": "Keibert Ruiz",
  "position": "C",
  "team": "WAS",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.417,
        "predicted_3B": 0.0,
        "predicted_AB": 3.469,
        "predicted_AVG": 0.269,
        "predicted_BB": 0.083,
        "predicted_H": 0.73,
        "predicted_HR": 0.13,
        "predicted_OBP": 0.313,
        "predicted_R": 0.469,
        "predicted_RBI": 0.61,
        "predicted_SLG": 0.512,
        "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.9291,
        "predicted_3B": 0.0013,
        "predicted_AB": 6.3869,
        "predicted_AVG": 0.2789,
        "predicted_BB": 0.3448,
        "predicted_H": 1.7034,
        "predicted_HBP": 0.102,
        "predicted_HR": 0.2897,
        "predicted_OBP": 0.3129,
        "predicted_R": 0.832,
        "predicted_RBI": 1.6197,
        "predicted_SLG": 0.5481,
        "predicted_SO": 1.264
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.417,
          "after": 0.9291,
          "delta": 0.5121,
          "percent_delta": 1.2281,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0013,
          "delta": 0.0013,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.469,
          "after": 6.3869,
          "delta": 2.9179,
          "percent_delta": 0.8411,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.269,
          "after": 0.2789,
          "delta": 0.0099,
          "percent_delta": 0.0368,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.083,
          "after": 0.3448,
          "delta": 0.2618,
          "percent_delta": 3.1542,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.73,
          "after": 1.7034,
          "delta": 0.9734,
          "percent_delta": 1.3334,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.13,
          "after": 0.2897,
          "delta": 0.1597,
          "percent_delta": 1.2285,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.313,
          "after": 0.3129,
          "delta": -0.0001,
          "percent_delta": -0.0003,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.469,
          "after": 0.832,
          "delta": 0.363,
          "percent_delta": 0.774,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.61,
          "after": 1.6197,
          "delta": 1.0097,
          "percent_delta": 1.6552,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.512,
          "after": 0.5481,
          "delta": 0.0361,
          "percent_delta": 0.0705,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.646,
          "after": 1.264,
          "delta": 0.618,
          "percent_delta": 0.9567,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 10,
        "boosted_metrics": 10,
        "deboosted_metrics": 0,
        "better_metrics": 9,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.469,
          "after": 6.3869,
          "delta": 2.9179,
          "percent_delta": 0.8411,
          "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": 2,
        "last_10": 3,
        "season": 29
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.9291,
        "predicted_3B": 0.0013,
        "predicted_AB": 6.3869,
        "predicted_AVG": 0.2696,
        "predicted_BB": 0.3471,
        "predicted_H": 1.7216,
        "predicted_HBP": 0.102,
        "predicted_HR": 0.2934,
        "predicted_OBP": 0.3072,
        "predicted_R": 0.8472,
        "predicted_RBI": 1.6493,
        "predicted_SLG": 0.5532,
        "predicted_SO": 1.2554
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.9291,
          "after": 0.9291,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0013,
          "after": 0.0013,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.3869,
          "after": 6.3869,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2789,
          "after": 0.2696,
          "delta": -0.0093,
          "percent_delta": -0.0333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3448,
          "after": 0.3471,
          "delta": 0.0023,
          "percent_delta": 0.0067,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.7034,
          "after": 1.7216,
          "delta": 0.0182,
          "percent_delta": 0.0107,
          "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.2897,
          "after": 0.2934,
          "delta": 0.0037,
          "percent_delta": 0.0128,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3129,
          "after": 0.3072,
          "delta": -0.0057,
          "percent_delta": -0.0182,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.832,
          "after": 0.8472,
          "delta": 0.0152,
          "percent_delta": 0.0183,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.6197,
          "after": 1.6493,
          "delta": 0.0296,
          "percent_delta": 0.0183,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5481,
          "after": 0.5532,
          "delta": 0.0051,
          "percent_delta": 0.0093,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.264,
          "after": 1.2554,
          "delta": -0.0086,
          "percent_delta": -0.0068,
          "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.5481,
          "after": 0.5532,
          "delta": 0.0051,
          "percent_delta": 0.0093,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.2789,
          "after": 0.2696,
          "delta": -0.0093,
          "percent_delta": -0.0333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 6 (raw=6.39), rates preserved: AVG=0.270 HR/AB=0.046",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_BB": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.9291,
          "after": 1.0,
          "delta": 0.0709,
          "percent_delta": 0.0763,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0013,
          "after": 0.0,
          "delta": -0.0013,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.3869,
          "after": 6.0,
          "delta": -0.3869,
          "percent_delta": -0.0606,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3471,
          "after": 0.0,
          "delta": -0.3471,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.7216,
          "after": 2.0,
          "delta": 0.2784,
          "percent_delta": 0.1617,
          "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.2934,
          "after": 0.0,
          "delta": -0.2934,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.6493,
          "after": 2.0,
          "delta": 0.3507,
          "percent_delta": 0.2126,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2554,
          "after": 1.0,
          "delta": -0.2554,
          "percent_delta": -0.2034,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 3,
        "deboosted_metrics": 5,
        "better_metrics": 4,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 1.6493,
          "after": 2.0,
          "delta": 0.3507,
          "percent_delta": 0.2126,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 6.3869,
          "after": 6.0,
          "delta": -0.3869,
          "percent_delta": -0.0606,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=15.0, weight=0.133, BvP AVG=0.267)",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_BB": 0.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 2.0,
        "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": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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": 2.0,
          "after": 2.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": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "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": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.8472,
          "after": 1.0,
          "delta": 0.1528,
          "percent_delta": 0.1804,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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_SO",
          "before": 1.0,
          "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.8472,
          "after": 1.0,
          "delta": 0.1528,
          "percent_delta": 0.1804,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_AVG": 0.333,
        "predicted_BB": 0.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.333,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SLG": 0.5,
        "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": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2696,
          "after": 0.333,
          "delta": 0.0634,
          "percent_delta": 0.2352,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3072,
          "after": 0.333,
          "delta": 0.0258,
          "percent_delta": 0.084,
          "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_SLG",
          "before": 0.5532,
          "after": 0.5,
          "delta": -0.0532,
          "percent_delta": -0.0962,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.2696,
          "after": 0.333,
          "delta": 0.0634,
          "percent_delta": 0.2352,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.5532,
          "after": 0.5,
          "delta": -0.0532,
          "percent_delta": -0.0962,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 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": 6.0,
          "after": 3.0,
          "delta": -3.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.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": 2.0,
          "after": 0.0,
          "delta": -2.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": 7,
        "boosted_metrics": 1,
        "deboosted_metrics": 6,
        "better_metrics": 2,
        "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": 6.0,
          "after": 3.0,
          "delta": -3.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2696,
        "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.3072,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.5532,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.333,
          "after": 0.2696,
          "delta": -0.0634,
          "percent_delta": -0.1905,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.333,
          "after": 0.3072,
          "delta": -0.0258,
          "percent_delta": -0.0774,
          "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.5,
          "after": 0.5532,
          "delta": 0.0532,
          "percent_delta": 0.1065,
          "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.5,
          "after": 0.5532,
          "delta": 0.0532,
          "percent_delta": 0.1065,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.333,
          "after": 0.2696,
          "delta": -0.0634,
          "percent_delta": -0.1905,
          "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.417,
        "after": 0.0,
        "delta": -0.417,
        "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.469,
        "after": 3.0,
        "delta": -0.469,
        "percent_delta": -0.1352,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.269,
        "after": 0.2696,
        "delta": 0.0006,
        "percent_delta": 0.0022,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.083,
        "after": 1.0,
        "delta": 0.917,
        "percent_delta": 11.0482,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.73,
        "after": 0.0,
        "delta": -0.73,
        "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.313,
        "after": 0.3072,
        "delta": -0.0058,
        "percent_delta": -0.0185,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.469,
        "after": 0.0,
        "delta": -0.469,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.61,
        "after": 0.0,
        "delta": -0.61,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.512,
        "after": 0.5532,
        "delta": 0.0412,
        "percent_delta": 0.0805,
        "direction": "boost",
        "projection_effect": "better",
        "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.083,
        "after": 1.0,
        "delta": 0.917,
        "percent_delta": 11.0482,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.73,
        "after": 0.0,
        "delta": -0.73,
        "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.417-
predicted_3B0.000-
predicted_AB3.469-
predicted_AVG0.269-
predicted_BB0.083-
predicted_H0.730-
predicted_HR0.130-
predicted_OBP0.313-
predicted_R0.469-
predicted_RBI0.610-
predicted_SLG0.512-
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.9290.512
predicted_3B0.0010.001
predicted_AB6.3872.918
predicted_AVG0.2790.010
predicted_BB0.3450.262
predicted_H1.7030.973
predicted_HBP0.102-
predicted_HR0.2900.160
predicted_OBP0.313-0.000
predicted_R0.8320.363
predicted_RBI1.6201.010
predicted_SLG0.5480.036
predicted_SO1.2640.618
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.9290.000
predicted_3B0.0010.000
predicted_AB6.3870.000
predicted_AVG0.270-0.009
predicted_BB0.3470.002
predicted_H1.7220.018
predicted_HBP0.1020.000
predicted_HR0.2930.004
predicted_OBP0.307-0.006
predicted_R0.8470.015
predicted_RBI1.6490.030
predicted_SLG0.5530.005
predicted_SO1.255-0.009
4. ab_floor_and_scaling

AB rounded to 6 (raw=6.39), rates preserved: AVG=0.270 HR/AB=0.046

MetricValueDelta vs Prev Step
2B1.000-
3B0.000-
AB6.000-
BB0.000-
H2.000-
HBP0.000-
HR0.000-
RBI2.000-
SB0.000-
SO1.000-
5. bvp_blend

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

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB6.0000.000
BB0.0000.000
H2.0000.000
HR0.0000.000
RBI2.0000.000
SO1.0000.000
6. consistency_constraints

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

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB6.0000.000
BB0.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI2.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B1.0000.071
predicted_3B0.000-0.001
predicted_AB6.000-0.387
predicted_AVG0.3330.063
predicted_BB0.000-0.347
predicted_H2.0000.278
predicted_HR0.000-0.293
predicted_OBP0.3330.026
predicted_R1.0000.153
predicted_RBI2.0000.351
predicted_SLG0.500-0.053
predicted_SO1.000-0.255
8. 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-3.000
BB1.0001.000
CS0.0000.000
H0.000-2.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-1.000
RBI0.000-2.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: 96
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-11.0006.0005.0000.0000.0005.0000.0004.0004.0000.54550.54551.00000.54540.00000.45460.36360.3636
last_100.203-36.00021.00010.0000.0005.00030.00010.0004.0004.0000.58330.58331.27780.58330.13890.83330.11110.1111
season0.6029-333.00081.00040.0000.00017.00082.00045.0008.00062.0000.24320.26350.51650.24320.05100.24620.02400.1862
Weighted Prediction From Real Data
MetricValue
predicted_2B1.6160
predicted_3B0.0030
predicted_AB10.3010
predicted_AVG0.2921
predicted_BB0.6960
predicted_H3.0090
predicted_HBP0.1020
predicted_HR0.5040
predicted_OBP0.3127
predicted_R1.3190
predicted_RBI2.9740
predicted_SLG0.5965
predicted_SO2.0930
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.41701.61600.9291model_form_blend
predicted_3B0.00000.00300.0013model_form_blend
predicted_AB3.469010.30106.3869model_form_blend
predicted_AVG0.26900.29210.2789model_form_blend
predicted_BB0.08300.69600.3448model_form_blend
predicted_H0.73003.00901.7034model_form_blend
predicted_HBP-0.10200.1020form_only
predicted_HR0.13000.50400.2897model_form_blend
predicted_OBP0.31300.31270.3129model_form_blend
predicted_R0.46901.31900.8320model_form_blend
predicted_RBI0.61002.97401.6197model_form_blend
predicted_SLG0.51200.59650.5481model_form_blend
predicted_SO0.64602.09301.2640model_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 date97
Season rows before report date97
Report year2026
Profile rows used96
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.243

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_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI1
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
allPositionsPlayedC
gameID20260520_NYM@WAS
game_typefull
mlbID660688
playerID660688
playerNameKeibert Ruiz
posC
startedTrue
startingPositionC
teamWAS
teamID30
game_date2026-05-20
sl_k_percent16.0
sl_bb_percent2.1
sl_woba0.315
sl_xwoba0.247
sl_xba0.201
sl_xslg0.34
sl_sweet_spot_percent35.5
sl_barrel_batted_rate6.6
sl_hard_hit_percent40.8
sl_exit_velocity_avg89.6
sl_launch_angle_avg17.4
sl_whiff_percent16.7
sl_swing_percent47.4
Cade Cavalli (676917) · PITCHER · Starter · Team WAS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 10
All-history rows before 20260521: 10

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB1.8000.000-1.8000.000
predicted_ER2.0002.0002.000Pitching_ER2.1003.000-0.100-1.000
predicted_H6.0006.0006.000Pitching_H5.4008.0000.600-2.000
predicted_IP4.2004.2004.200Pitching_InningsPitched4.4806.100-0.280-1.900
predicted_SO5.0005.0005.000Pitching_SO5.2008.000-0.200-3.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectworse
Changed Metrics2
Boosted Metrics1
Deboosted Metrics1
Better Metrics0
Worse Metrics2
Biggest Boostpredicted_H: 5.0000 -> 6.0000 (boost 1.0000, worse)
Biggest Deboostpredicted_IP: 5.0000 -> 4.2000 (deboost -0.8000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2starter_usage_guardrail10101-predicted_IP: 5.0000 -> 4.2000 (deboost -0.8000, worse)Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
3starter_quality_floor11001predicted_H: 5.0000 -> 6.0000 (boost 1.0000, worse)-Weak starter floor restored expected damage from recent form instead of assigning it to zero-inning bullpen rows.
4current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "676917",
  "player_name": "Cade Cavalli",
  "position": "Starter",
  "team": "WAS",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 2.0,
        "predicted_H": 5.0,
        "predicted_HR": 2.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": "starter_usage_guardrail",
      "description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 2.0,
        "predicted_H": 5.0,
        "predicted_HR": 2.0,
        "predicted_IP": 4.2,
        "predicted_SO": 5.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 5.0,
          "after": 4.2,
          "delta": -0.8,
          "percent_delta": -0.16,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 5.0,
          "after": 4.2,
          "delta": -0.8,
          "percent_delta": -0.16,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 3,
      "step": "starter_quality_floor",
      "description": "Weak starter floor restored expected damage from recent form instead of assigning it to zero-inning bullpen rows.",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 2.0,
        "predicted_H": 6.0,
        "predicted_HR": 2.0,
        "predicted_IP": 4.2,
        "predicted_SO": 5.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 5.0,
          "after": 6.0,
          "delta": 1.0,
          "percent_delta": 0.2,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 4.2,
          "after": 4.2,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 5.0,
          "after": 6.0,
          "delta": 1.0,
          "percent_delta": 0.2,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 2.0,
        "predicted_H": 6.0,
        "predicted_HR": 2.0,
        "predicted_IP": 4.2,
        "predicted_R": 2.0,
        "predicted_SO": 5.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 4.2,
          "after": 4.2,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 5.0,
        "after": 6.0,
        "delta": 1.0,
        "percent_delta": 0.2,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 5.0,
        "after": 4.2,
        "delta": -0.8,
        "percent_delta": -0.16,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 5.0,
        "after": 5.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 2,
      "boosted_metrics": 1,
      "deboosted_metrics": 1,
      "better_metrics": 0,
      "worse_metrics": 2,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 5.0,
        "after": 6.0,
        "delta": 1.0,
        "percent_delta": 0.2,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 5.0,
        "after": 4.2,
        "delta": -0.8,
        "percent_delta": -0.16,
        "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_H5.000-
predicted_HR2.000-
predicted_IP5.000-
predicted_SO5.000-
2. starter_usage_guardrail

Starter workload capped by recent innings, season ERA/WHIP, and team-form context.

MetricValueDelta vs Prev Step
predicted_BB0.0000.000
predicted_ER2.0000.000
predicted_H5.0000.000
predicted_HR2.0000.000
predicted_IP4.200-0.800
predicted_SO5.0000.000
3. starter_quality_floor

Weak starter floor restored expected damage from recent form instead of assigning it to zero-inning bullpen rows.

MetricValueDelta vs Prev Step
predicted_BB0.0000.000
predicted_ER2.0000.000
predicted_H6.0001.000
predicted_HR2.0000.000
predicted_IP4.2000.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: 10
Reference playing time: 5.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45527.00012.00032.0006.00034.0003.0004.00001.40740.44441.18520.22221.25930.1111
last_100.351046.20021.00054.00018.00052.0003.0004.05001.54290.45001.15710.38571.11430.0643
season0.201046.20021.00054.00018.00052.0003.0004.05001.54290.45001.15710.38571.11430.0643
Weighted Prediction From Real Data
MetricValue
predicted_BB1.6150
predicted_ER2.2870
predicted_ERA4.0942
predicted_H5.5090
predicted_HR0.5220
predicted_IP5.0000
predicted_SO5.6030
predicted_WHIP1.4169
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00001.61500.8223model_form_blend
predicted_ER2.00002.28702.1461model_form_blend
predicted_ERA-4.09424.0942form_only
predicted_H5.00005.50905.2592model_form_blend
predicted_HR2.00000.52201.2474model_form_blend
predicted_IP5.00005.00005.0000model_form_blend
predicted_SO5.00005.60305.3070model_form_blend
predicted_WHIP-1.41691.4169form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP4.2
H6
R2
ER2
BB0
SO5
HR2
BF20
Pitches84

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 Faced26
Pitching_ER3
Pitching_ERA4.05
Pitching_Flyouts4
Pitching_Groundouts5
Pitching_H8
Pitching_HBP0
Pitching_HR2
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched6.1
Pitching_Pitches94
Pitching_R3
Pitching_SO8
Pitching_Strikes68
Pitching_Wild Pitch0
Pitching_decisionW
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260516_BAL@WAS
game_typefull
mlbID676917
playerID676917
playerNameCade Cavalli
posP
startedTrue
startingPositionP
teamWAS
teamID30
game_date2026-05-16
game_pk822737.0
sl_k_percent24.1
sl_bb_percent8.3
sl_woba0.345
sl_xwoba0.322
sl_sweet_spot_percent36.2
sl_barrel_batted_rate8.0
sl_hard_hit_percent41.3
sl_whiff_percent24.7
sl_swing_percent45.7
sv_pitch_count94.0
sv_outs_recorded_est19.0
sv_release_speed91.96489361702127
sv_release_spin_rate2213.606382978724
sv_effective_speed92.20744680851064
sv_launch_speed87.81944444444444
sv_launch_angle24.444444444444443
sv_woba_value9.4
sv_woba_denom26.0
sv_delta_run_exp0.009
sv_delta_home_win_exp0.1159999999999999
sl_avg_best_speed79.25596029
sl_avg_hyper_speed94.463330072
Brad Lord (695418) · PITCHER · Middle Reliever · Team WAS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 15
All-history rows before 20260521: 15

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.4000.0000.6001.000
predicted_ER0.0000.0000.000Pitching_ER0.7331.000-0.733-1.000
predicted_H0.0000.0000.000Pitching_H1.9332.000-1.933-2.000
predicted_IP1.1001.1001.100Pitching_InningsPitched1.9473.000-0.847-1.900
predicted_SO2.0002.0002.000Pitching_SO1.7333.0000.267-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: 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": "695418",
  "player_name": "Brad Lord",
  "position": "Middle Reliever",
  "team": "WAS",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.3333,
        "predicted_SO": 2.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.1,
        "predicted_R": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 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.1,
          "delta": -0.2333,
          "percent_delta": -0.175,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 1.3333,
          "after": 1.1,
          "delta": -0.2333,
          "percent_delta": -0.175,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.3333,
        "after": 1.1,
        "delta": -0.2333,
        "percent_delta": -0.175,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 0,
      "deboosted_metrics": 1,
      "better_metrics": 0,
      "worse_metrics": 1,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 1.3333,
        "after": 1.1,
        "delta": -0.2333,
        "percent_delta": -0.175,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 15
Reference playing time: 1.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45510.1002.00010.0002.00012.0001.0001.74191.16130.19350.96770.19351.16130.0968
last_100.351020.0006.00018.0003.00017.0002.0002.70001.05000.30000.90000.15000.85000.1000
season0.201532.00011.00029.0006.00026.0004.0003.09381.09380.34380.90620.18750.81250.1250
Weighted Prediction From Real Data
MetricValue
predicted_BB0.4520
predicted_ER0.6030
predicted_ERA3.1814
predicted_H1.5970
predicted_HR0.1970
predicted_IP1.2000
predicted_SO1.6530
predicted_WHIP1.2008
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.45200.7459model_form_blend
predicted_ER0.00000.60300.2796model_form_blend
predicted_ERA-3.18143.1814form_only
predicted_H0.00001.59700.7406model_form_blend
predicted_HR0.00000.19700.0914model_form_blend
predicted_IP1.10001.20001.1000model_form_blend
predicted_SO2.00001.65301.8391model_form_blend
predicted_WHIP-1.20081.2008form_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 date15
Season rows before report date15
Report year2026
Profile rows used15
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
BB1
SO2
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 Faced10
Pitching_ER1
Pitching_ERA3.09
Pitching_Flyouts0
Pitching_Groundouts2
Pitching_H2
Pitching_HBP0
Pitching_HR1
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched3.0
Pitching_Pitches40
Pitching_R1
Pitching_SO3
Pitching_Strikes33
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20260519_NYM@WAS
game_typefull
mlbID695418
playerID695418
playerNameBrad Lord
posP
startedFalse
startingPositionP
teamWAS
teamID30
game_date2026-05-19
game_pk822736.0
sl_k_percent19.4
sl_bb_percent4.5
sl_woba0.28
sl_xwoba0.309
sl_sweet_spot_percent23.5
sl_barrel_batted_rate6.2
sl_hard_hit_percent42.9
sl_whiff_percent22.6
sl_swing_percent53.0
sv_pitch_count40.0
sv_outs_recorded_est9.0
sv_release_speed88.56
sv_release_spin_rate2538.425
sv_effective_speed86.77250000000001
sv_launch_speed79.61875
sv_launch_angle16.0625
sv_woba_value2.9
sv_woba_denom10.0
sv_delta_run_exp0.8910000000000001
sv_delta_home_win_exp0.077
sl_avg_best_speed75.904864167
sl_avg_hyper_speed94.7111775
Gus Varland (681402) · PITCHER · Middle Reliever · Team WAS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 19
All-history rows before 20260521: 19

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.3681.000-0.368-1.000
predicted_ER1.0001.0001.000Pitching_ER0.4210.0000.5791.000
predicted_H1.0001.0001.000Pitching_H1.0531.000-0.0530.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.8112.0000.189-1.000
predicted_SO0.0000.0000.000Pitching_SO0.9470.000-0.9470.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": "681402",
  "player_name": "Gus Varland",
  "position": "Middle Reliever",
  "team": "WAS",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 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: 19
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.1003.0005.0004.0004.0000.0005.06251.68750.56250.93750.75000.75000.0000
last_100.351010.0005.00011.0004.0008.0000.0004.50001.50000.50001.10000.40000.80000.0000
season0.201918.2008.00020.0007.00018.0001.0003.85711.44640.42861.07140.37500.96430.0536
Weighted Prediction From Real Data
MetricValue
predicted_BB0.4510
predicted_ER0.4890
predicted_ERA4.4028
predicted_H0.9750
predicted_HR0.0790
predicted_IP1.0000
predicted_SO0.8910
predicted_WHIP1.4264
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.45100.1836model_form_blend
predicted_ER1.00000.48900.7919model_form_blend
predicted_ERA-4.40284.4028form_only
predicted_H1.00000.97500.9898model_form_blend
predicted_HR1.00000.07900.6250model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO0.00000.89100.3628model_form_blend
predicted_WHIP-1.42641.4264form_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 used19
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_E1
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_ERA3.86
Pitching_Flyouts2
Pitching_Groundouts2
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched2.0
Pitching_Pitches19
Pitching_R1
Pitching_SO0
Pitching_Strikes13
Pitching_Wild Pitch0
Pitching_pitchingOrder5
allPositionsPlayedP
gameID20260518_NYM@WAS
game_typefull
mlbID681402
playerID681402
playerNameGus Varland
posP
startedFalse
startingPositionP
teamWAS
teamID30
game_date2026-05-18
game_pk822734.0
sl_k_percent22.0
sl_bb_percent8.5
sl_woba0.321
sl_xwoba0.337
sl_sweet_spot_percent40.4
sl_barrel_batted_rate12.5
sl_hard_hit_percent50.9
sl_whiff_percent27.3
sl_swing_percent52.1
sv_pitch_count23.0
sv_outs_recorded_est6.0
sv_release_speed91.96315789473684
sv_release_spin_rate2203.736842105264
sv_effective_speed93.03684210526316
sv_launch_speed90.8125
sv_launch_angle24.0
sv_woba_value1.3
sv_woba_denom6.0
sv_delta_run_exp-0.958
sv_delta_home_win_exp1.601
sl_avg_best_speed84.475161481
sl_avg_hyper_speed96.39928463
Richard Lovelady (663992) · PITCHER · Middle Reliever · Team WAS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 13
All-history rows before 20260521: 13

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.7690.0000.2311.000
predicted_ER1.0001.0001.000Pitching_ER0.2310.0000.7691.000
predicted_H1.0001.0001.000Pitching_H0.9230.0000.0771.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.8461.0000.1540.000
predicted_SO0.0000.0000.000Pitching_SO1.0771.000-1.077-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics1
Boosted Metrics0
Deboosted Metrics1
Better Metrics1
Worse Metrics0
Biggest Boost-
Biggest Deboostpredicted_H: 2.0000 -> 1.0000 (deboost -1.0000, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final10110-predicted_H: 2.0000 -> 1.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": "663992",
  "player_name": "Richard Lovelady",
  "position": "Middle Reliever",
  "team": "WAS",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 1.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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": 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": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 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": 1.0,
        "delta": -1.0,
        "percent_delta": -0.5,
        "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": 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": 1,
      "boosted_metrics": 0,
      "deboosted_metrics": 1,
      "better_metrics": 1,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 2.0,
        "after": 1.0,
        "delta": -1.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_BB1.000-
predicted_ER1.000-
predicted_H2.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: 19
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.2002.0005.0003.0006.0001.0003.17651.41180.35290.88230.52941.05880.1765
last_100.35109.1002.0009.0007.00010.0001.0001.92861.71430.21430.96430.75001.07140.1071
season0.201920.2006.00020.00014.00020.0002.0002.61291.64520.29030.96770.67740.96770.0968
Weighted Prediction From Real Data
MetricValue
predicted_BB0.4930
predicted_ER0.3900
predicted_ERA3.5132
predicted_H0.9350
predicted_HR0.1330
predicted_IP1.0000
predicted_SO0.9940
predicted_WHIP1.4286
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.49300.7882model_form_blend
predicted_ER1.00000.39000.7452model_form_blend
predicted_ERA-3.51323.5132form_only
predicted_H2.00000.93501.5551model_form_blend
predicted_HR0.00000.13300.0556model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO0.00000.99400.4152model_form_blend
predicted_WHIP-1.42861.4286form_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 date13
Season rows before report date13
Report year2026
Profile rows used19
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
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 Faced3
Pitching_ER0
Pitching_ERA2.61
Pitching_Flyouts0
Pitching_Groundouts2
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches10
Pitching_R0
Pitching_SO1
Pitching_Strikes8
Pitching_Wild Pitch0
Pitching_decisionS
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20260519_NYM@WAS
game_typefull
mlbID663992
playerID663992
playerNameRichard Lovelady
posP
startedFalse
startingPositionP
teamWAS
teamID30
game_date2026-05-19
game_pk822736.0
sl_k_percent21.5
sl_bb_percent15.1
sl_woba0.341
sl_xwoba0.334
sl_sweet_spot_percent29.3
sl_barrel_batted_rate5.4
sl_hard_hit_percent34.5
sl_whiff_percent26.5
sl_swing_percent44.5
sv_pitch_count10.0
sv_outs_recorded_est3.0
sv_release_speed86.58
sv_release_spin_rate2463.9
sv_effective_speed88.42999999999999
sv_launch_speed69.06666666666666
sv_launch_angle0.0
sv_woba_value0.0
sv_woba_denom2.0
sv_delta_run_exp-0.7729999999999999
sv_delta_home_win_exp0.0339999999999999
sl_avg_best_speed78.577657407
sl_avg_hyper_speed94.270010556
PJ Poulin (676571) · PITCHER · Middle Reliever · Team WAS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 23
All-history rows before 20260521: 23

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.6091.0000.3910.000
predicted_ER1.0001.0001.000Pitching_ER0.3040.0000.6961.000
predicted_H1.0001.0001.000Pitching_H0.7831.0000.2170.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.7701.0000.2300.000
predicted_SO1.0001.0001.000Pitching_SO0.6961.0000.3040.000

Boost/Deboost Impact Trace

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

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_IP0.667-
predicted_SO1.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 23
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.1000.0003.0004.0002.0000.0000.00002.10000.00000.90001.20000.60000.0000
last_100.35109.1002.0007.0007.0008.0000.0001.92861.50000.21430.75000.75000.85710.0000
season0.202321.2007.00018.00014.00016.0003.0002.90771.47690.32310.83080.64620.73850.1385
Weighted Prediction From Real Data
MetricValue
predicted_BB0.4750
predicted_ER0.2390
predicted_ERA2.8613
predicted_H0.6700
predicted_HR0.0620
predicted_IP0.2000
predicted_SO0.6340
predicted_WHIP1.5243
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.47500.7781model_form_blend
predicted_ER1.00000.23900.6784model_form_blend
predicted_ERA-2.86132.8613form_only
predicted_H1.00000.67000.8605model_form_blend
predicted_HR0.00000.06200.0262model_form_blend
predicted_IP0.20000.20000.2000model_form_blend
predicted_SO1.00000.63400.8453model_form_blend
predicted_WHIP-1.52431.5243form_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 date23
Season rows before report date23
Report year2026
Profile rows used23
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
BB1
SO1
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_BB1
Pitching_Balk0
Pitching_Batters Faced5
Pitching_ER0
Pitching_ERA2.91
Pitching_Flyouts1
Pitching_Groundouts0
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners1
Pitching_Inherited Runners Scored1
Pitching_InningsPitched1.0
Pitching_Pitches16
Pitching_R1
Pitching_SO1
Pitching_Strikes10
Pitching_Wild Pitch0
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20260518_NYM@WAS
game_typefull
mlbID676571
playerID676571
playerNamePJ Poulin
posP
startedFalse
startingPositionP
teamWAS
teamID30
game_date2026-05-18
game_pk822734.0
sl_k_percent16.7
sl_bb_percent14.6
sl_woba0.332
sl_xwoba0.364
sl_sweet_spot_percent26.2
sl_barrel_batted_rate11.1
sl_hard_hit_percent49.2
sl_whiff_percent16.7
sl_swing_percent42.1
sv_pitch_count16.0
sv_outs_recorded_est3.0
sv_release_speed88.56875
sv_release_spin_rate2240.5
sv_effective_speed88.91875
sv_launch_speed87.07499999999999
sv_launch_angle36.25
sv_woba_value1.6
sv_woba_denom5.0
sv_delta_run_exp0.107
sv_delta_home_win_exp-0.17
sl_avg_best_speed82.779471875
sl_avg_hyper_speed95.840915556

20260521_OAK@LAA

Prediction Method: enhanced_ml_savant_pitcher_quality
Team Recent Window (Home): 50 games
Team Recent Window (Away): 49 games
Team Recent Period: Latest 10 games from dataset
Enhanced Prediction Target: {"away_runs": 2, "home_runs": 3, "confidence": 0.51, "home_win_probability": 0.51, "away_win_probability": 0.49, "predicted_score_text": "OAK 2 - 3 LAA", "embedded_savant_score_adjustment": {"applied": true, "source": "all_players_stats.csv embedded temporal Savant features", "feature_contract": {"training_grain": "one player-game row after collapsing granular at-bat rows", "temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game", "hitter_signals": ["xwoba", "xba", "xslg", "barrel_batted_rate", "hard_hit_percent", "bat_speed", "launch_quality", "walk_rate", "strikeout_rate"], "pitcher_signals": ["xwoba_allowed", "barrel_allowed", "hard_hit_allowed", "whiff_rate", "command_score", "movement_score", "faced_est_woba", "faced_strikeout_rate"]}, "away": {"team": "OAK", "original_runs": 2, "run_delta": 0.1202, "adjusted_runs": 2, "lineup": {"players_used": 9, "total_weight": 68.0, "quality": 0.437028532952747, "contact": 0.5219319501075177, "power": 0.6465710928186804, "discipline": 0.13434170584611582, "xwoba": 0.3468970588235294, "recent_xwoba": 0.3468970588235294, "barrel": 10.905882352941177, "ab_hard_contact": 0.4502733969898487, "ab_bat_speed": 71.81217093744951, "ab_strikeout_rate": 0.2331467395320354, "available_players": 9, "top_players": [{"player_id": "701762", "player_name": "Nick Kurtz", "position": "1B", "weight": 9.0, "quality": 1.2625951900482941, "contact": 1.2680199405751882, "power": 1.7814241688927879, "discipline": 0.6010638297872342, "xwoba": 0.393, "recent_xwoba": 0.393, "barrel": 16.8, "ab_hard_contact": 1.5248643302367029, "ab_bat_speed": 76.33166272655635, "ab_strikeout_rate": 0.298936170212766, "available": 1.0}, {"player_id": "669127", "player_name": "Shea Langeliers", "position": "C", "weight": 10.0, "quality": 1.231417428019202, "contact": 1.6135840882272228, "power": 1.7625529160541131, "discipline": 0.08021262458471753, "xwoba": 0.413, "recent_xwoba": 0.413, "barrel": 15.300000000000002, "ab_hard_contact": 1.1742964163203466, "ab_bat_speed": 74.39369509043927, "ab_strikeout_rate": 0.22093023255813954, "available": 1.0}, {"player_id": "687231", "player_name": "Darell Hernaiz", "position": "SS", "weight": 6.0, "quality": -0.46358307639701274, "contact": -1.2025097903916662, "power": -1.6237368108726566, "discipline": 0.5330714285714284, "xwoba": 0.263, "recent_xwoba": 0.263, "barrel": 1.5, "ab_hard_contact": -1.6629266936436264, "ab_bat_speed": 66.986285430839, "ab_strikeout_rate": 0.17857142857142858, "available": 1.0}, {"player_id": "666126", "player_name": "Carlos Cortes", "position": "RF", "weight": 6.0, "quality": 0.5906945877135263, "contact": 1.6735586961407833, "power": 0.8825101587374006, "discipline": 0.7154079794079794, "xwoba": 0.39399999999999996, "recent_xwoba": 0.394, "barrel": 9.7, "ab_hard_contact": 0.7161079366527701, "ab_bat_speed": 69.30132561132561, "ab_strikeout_rate": 0.10630630630630632, "available": 1.0}, {"player_id": "667670", "player_name": "Brent Rooker", "position": "DH", "weight": 9.0, "quality": 0.28372276375417893, "contact": 0.007374635309863847, "power": 1.1956912870391432, "discipline": -0.6028839285714286, "xwoba": 0.335, "recent_xwoba": 0.335, "barrel": 16.5, "ab_hard_contact": 0.81306383602096, "ab_bat_speed": 72.8895703125, "ab_strikeout_rate": 0.3328125, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "667755", "player_name": "José Soriano", "quality": 0.18899919970477444, "contact": 0.00815326591446897, "command": 0.7068234568104631, "movement": 0.9481374666758545, "xwoba": 0.317, "whiff": 33.8, "faced_est_woba": 0.30915546669408883, "faced_launch_speed": 83.86501725421785, "faced_strikeout_rate": 0.27866336978031137, "faced_run_exp": 0.027235106605823338}}, "home": {"team": "LAA", "original_runs": 3, "run_delta": 0.2411, "adjusted_runs": 3, "lineup": {"players_used": 9, "total_weight": 62.0, "quality": 0.1337724675099477, "contact": -0.069060253815294, "power": 0.02041830109952743, "discipline": -0.09745617149534198, "xwoba": 0.3153064516129032, "recent_xwoba": 0.3153064516129032, "barrel": 7.741935483870967, "ab_hard_contact": 0.09757537587634973, "ab_bat_speed": 70.14024085623205, "ab_strikeout_rate": 0.2538916553663097, "available_players": 9, "top_players": [{"player_id": "545361", "player_name": "Mike Trout", "position": "DH", "weight": 8.0, "quality": 1.4396534904079785, "contact": 1.213840257085658, "power": 2.0, "discipline": 1.2322380952380951, "xwoba": 0.425, "recent_xwoba": 0.425, "barrel": 22.399999999999995, "ab_hard_contact": 1.1126343973768877, "ab_bat_speed": 73.25672544642858, "ab_strikeout_rate": 0.25833333333333336, "available": 1.0}, {"player_id": "624428", "player_name": "Adam Frazier", "position": "2B", "weight": 5.0, "quality": -0.5165659834998062, "contact": -1.805646926887006, "power": -1.6762562804586636, "discipline": -0.4107010582010582, "xwoba": 0.242, "recent_xwoba": 0.242, "barrel": 2.1, "ab_hard_contact": -1.8664589425066098, "ab_bat_speed": 62.050776748971195, "ab_strikeout_rate": 0.32962962962962966, "available": 1.0}, {"player_id": "665861", "player_name": "Sebastián Rivero", "position": "C", "weight": 4.0, "quality": -0.17231684011288956, "contact": -1.6752573193032316, "power": -1.8816213516837346, "discipline": -0.6390476190476191, "xwoba": 0.215, "recent_xwoba": 0.215, "barrel": 0.0, "ab_hard_contact": -1.425188938436605, "ab_bat_speed": 70.86043650793651, "ab_strikeout_rate": 0.18333333333333332, "available": 1.0}, {"player_id": "666139", "player_name": "Josh Lowe", "position": "LF", "weight": 6.0, "quality": -0.48636685702068017, "contact": -1.3260397081921207, "power": -0.5394590510577401, "discipline": -0.8736117216117216, "xwoba": 0.24699999999999997, "recent_xwoba": 0.247, "barrel": 7.2, "ab_hard_contact": -0.21280006877385407, "ab_bat_speed": 71.94769637769637, "ab_strikeout_rate": 0.2858974358974359, "available": 1.0}, {"player_id": "694384", "player_name": "Nolan Schanuel", "position": "1B", "weight": 9.0, "quality": -0.2618895507669035, "contact": -0.0646661833243955, "power": -0.7609965109870859, "discipline": 0.05707671957671945, "xwoba": 0.305, "recent_xwoba": 0.305, "barrel": 2.1, "ab_hard_contact": -0.07212069593219705, "ab_bat_speed": 66.50468827160493, "ab_strikeout_rate": 0.17185185185185187, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "622663", "player_name": "Luis Severino", "quality": -0.3738927461017534, "contact": -0.8139275973622617, "command": -0.3191310811214194, "movement": 0.4167719857269629, "xwoba": 0.333, "whiff": 22.2, "faced_est_woba": 0.3375190184166451, "faced_launch_speed": 84.21164640001517, "faced_strikeout_rate": 0.22685958432335246, "faced_run_exp": -0.001884843060142583}}}, "confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Production confidence governor cap enforced.", "pre_simulation_target": {"away_runs": 2, "home_runs": 3, "predicted_score_text": "OAK 2 - 3 LAA", "confidence": 0.51, "source": "enhanced_prediction_before_inning_simulation"}, "score_source": "enhanced_prediction.pre_simulation_target", "final_prediction_synced": true, "final_prediction_source": "pre_simulation_target", "simulation_usage": "advisory_box_score_draw", "simulation_score_matches_prediction": false, "simulation_reconciliation": {"pre_simulation_score": {"away_runs": 2, "home_runs": 3, "score_text": "OAK 2 - 3 LAA", "winner": "LAA"}, "final_simulation_score": {"away_runs": 1, "home_runs": 3, "score_text": "OAK 1 - 3 LAA", "winner": "LAA"}, "winner_flipped_by_simulation": false, "away_run_delta": -1, "home_run_delta": 0, "total_run_delta": -1, "score_source": "enhanced_prediction.pre_simulation_target", "simulation_usage": "advisory_box_score_draw", "final_prediction_source": "pre_simulation_target"}}
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, 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 predictionOAK 2 - 3 LAALAA0.510enhanced_prediction.pre_simulation_targetTrue
Simulation drawOAK 1 - 3 LAALAA-advisory_box_score_drawFalse

The shipped score is the pre-simulation model target. The inning simulation is a separate box-score realization used for player lines and stress testing.

Full Prediction Process

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.5100
9. Simulation reconciliationKeeps final shipped score and simulation box score auditable side by side.simulation_reconciliationadvisory_box_score_draw
10. Score evolution rendered6 stored score steps are rendered below.game.score_evolution.stepstrue

Score Evolution Steps

StepLayerAway RunsHome RunsConfidenceDescription
1historical_ml3.0604.752-Base ML historical model prediction
2variance_applied35-Random variance applied (0.9-1.1)
3enhanced_prediction230.5100Enhanced ML with recent form, H2H, low-score analysis
4embedded_savant_run_environment23-Target score adjusted by temporal Savant lineup quality versus opposing starter quality
5capped_target23-Capped at max 12 realistic runs
6simulation_result13-Final inning-by-inning simulation result

Governors, Guardrails, and Reconciliation

Low Score Analysis
{
  "low_score_probability": 0.5003081850533809,
  "base_low_score_probability": 0.4246737841043891,
  "low_score_signal_threshold": 0.5046737841043891,
  "low_score_signal_strength": 0.07563440094899182,
  "confidence": 0.6890500000000002,
  "factors": {
    "environmental": 1.0710000000000002,
    "pitcher_form": 1.1,
    "team_form": 1.0,
    "situational": 1.0,
    "combined": 1.1781000000000004
  },
  "prediction": "normal_scoring",
  "expected_total_runs": 5,
  "pre_simulation_expected_total_runs": 7.0,
  "low_score_model_expected_total_runs": 7.0,
  "final_simulation_total_runs": 4,
  "score_source": "enhanced_prediction.pre_simulation_target"
}
Win Probability Calibration
{
  "method": "historical_slate_bin_shrinkage",
  "sample_size": 125,
  "near_bucket_sample_size": 125,
  "medium_bucket_sample_size": 162,
  "wide_bucket_sample_size": 180,
  "global_sample_size": 205,
  "bucket_scope": "near_0.05",
  "sparse_bucket": false,
  "empirical_hit_rate": 0.48,
  "bayesian_hit_rate": 0.4825,
  "sample_weight": 0.6,
  "prior_strength": 18.0,
  "reliability": 0.8741,
  "confidence_cap": 0.78,
  "raw_pick_probability": 0.5246,
  "calibrated_pick_probability": 0.505,
  "predicted_side": "home"
}
Season Run Differential Adjustment
{
  "applied": true,
  "home": {
    "team": "LAA",
    "games": 49,
    "wins": 17,
    "losses": 32,
    "win_pct": 0.3469387755102041,
    "runs_scored": 194,
    "runs_allowed": 261,
    "run_differential": -67,
    "run_differential_per_game": -1.3673469387755102,
    "available": true
  },
  "away": {
    "team": "OAK",
    "games": 48,
    "wins": 24,
    "losses": 24,
    "win_pct": 0.5,
    "runs_scored": 215,
    "runs_allowed": 221,
    "run_differential": -6,
    "run_differential_per_game": -0.125,
    "available": true
  },
  "run_differential_edge_per_game": -1.2423,
  "win_pct_edge": -0.1531,
  "quality_edge": -1.4719,
  "margin_adjustment": -0.6182,
  "reason": "season-to-date run differential and record moved the score toward the stronger team",
  "adjusted_score": {
    "away_runs": 1.765,
    "home_runs": 2.054,
    "home_win_probability": 0.5246
  }
}
Matchup Recency Guardrail
{
  "applied": false,
  "confidence_cap": null,
  "winner_flipped": false,
  "reasons": [],
  "signals": {
    "predicted_team": "LAA",
    "guardrail_predicted_team": "LAA",
    "guardrail_opponent_team": null,
    "output_pre_simulation_winner": "LAA",
    "output_opponent_team": "OAK",
    "final_score_winner": "LAA",
    "pre_simulation_winner": "LAA",
    "winner_flipped_by_simulation": false
  },
  "final_prediction_sync": {
    "pre_simulation_score": {
      "away_runs": 2,
      "home_runs": 3,
      "score_text": "OAK 2 - 3 LAA",
      "winner": "LAA"
    },
    "final_simulation_score": {
      "away_runs": 1,
      "home_runs": 3,
      "score_text": "OAK 1 - 3 LAA",
      "winner": "LAA"
    },
    "winner_flipped_by_simulation": false,
    "away_run_delta": -1,
    "home_run_delta": 0,
    "total_run_delta": -1,
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_usage": "advisory_box_score_draw",
    "final_prediction_source": "pre_simulation_target"
  }
}
Season Quality Guardrail
{
  "applied": false,
  "confidence_cap": null,
  "winner_flipped": false,
  "reasons": [],
  "signals": {
    "home": {
      "team": "LAA",
      "games": 49,
      "wins": 17,
      "losses": 32,
      "win_pct": 0.3469387755102041,
      "runs_scored": 194,
      "runs_allowed": 261,
      "run_differential": -67,
      "run_differential_per_game": -1.3673469387755102,
      "available": true
    },
    "away": {
      "team": "OAK",
      "games": 48,
      "wins": 24,
      "losses": 24,
      "win_pct": 0.5,
      "runs_scored": 215,
      "runs_allowed": 221,
      "run_differential": -6,
      "run_differential_per_game": -0.125,
      "available": true
    }
  }
}
Margin Governor
{
  "applied": false,
  "raw_margin": 0.2896,
  "final_margin": 0.2896,
  "margin_cap": 4.25,
  "season_quality_edge": 1.4719,
  "reason": "raw target margin within supported range"
}
Confidence Governor
{
  "applied": false,
  "raw_confidence": 0.505,
  "final_confidence": 0.505,
  "confidence_cap": 0.66,
  "score_gap": 0.2896,
  "calibration_sample_size": 125,
  "calibration_empirical_hit_rate": 0.48,
  "calibration_bayesian_hit_rate": 0.4825,
  "calibration_sparse_bucket": false,
  "season_quality_edge": 1.4719,
  "reasons": [
    "unvalidated probabilities are capped for production display",
    "projected score gap is close",
    "local calibration sample has at least 30 games",
    "local calibration sample has at least 60 games",
    "season run-differential edge supports the pick",
    "win-probability calibration cap enforced"
  ]
}
Simulation Reconciliation
{
  "pre_simulation_score": {
    "away_runs": 2,
    "home_runs": 3,
    "score_text": "OAK 2 - 3 LAA",
    "winner": "LAA"
  },
  "final_simulation_score": {
    "away_runs": 1,
    "home_runs": 3,
    "score_text": "OAK 1 - 3 LAA",
    "winner": "LAA"
  },
  "winner_flipped_by_simulation": false,
  "away_run_delta": -1,
  "home_run_delta": 0,
  "total_run_delta": -1,
  "score_source": "enhanced_prediction.pre_simulation_target",
  "simulation_usage": "advisory_box_score_draw",
  "final_prediction_source": "pre_simulation_target"
}
Enhanced Prediction Target
{
  "away_runs": 2,
  "home_runs": 3,
  "confidence": 0.51,
  "home_win_probability": 0.51,
  "away_win_probability": 0.49,
  "predicted_score_text": "OAK 2 - 3 LAA",
  "embedded_savant_score_adjustment": {
    "applied": true,
    "source": "all_players_stats.csv embedded temporal Savant features",
    "feature_contract": {
      "training_grain": "one player-game row after collapsing granular at-bat rows",
      "temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
      "hitter_signals": [
        "xwoba",
        "xba",
        "xslg",
        "barrel_batted_rate",
        "hard_hit_percent",
        "bat_speed",
        "launch_quality",
        "walk_rate",
        "strikeout_rate"
      ],
      "pitcher_signals": [
        "xwoba_allowed",
        "barrel_allowed",
        "hard_hit_allowed",
        "whiff_rate",
        "command_score",
        "movement_score",
        "faced_est_woba",
        "faced_strikeout_rate"
      ]
    },
    "away": {
      "team": "OAK",
      "original_runs": 2,
      "run_delta": 0.1202,
      "adjusted_runs": 2,
      "lineup": {
        "players_used": 9,
        "total_weight": 68.0,
        "quality": 0.437028532952747,
        "contact": 0.5219319501075177,
        "power": 0.6465710928186804,
        "discipline": 0.13434170584611582,
        "xwoba": 0.3468970588235294,
        "recent_xwoba": 0.3468970588235294,
        "barrel": 10.905882352941177,
        "ab_hard_contact": 0.4502733969898487,
        "ab_bat_speed": 71.81217093744951,
        "ab_strikeout_rate": 0.2331467395320354,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "701762",
            "player_name": "Nick Kurtz",
            "position": "1B",
            "weight": 9.0,
            "quality": 1.2625951900482941,
            "contact": 1.2680199405751882,
            "power": 1.7814241688927879,
            "discipline": 0.6010638297872342,
            "xwoba": 0.393,
            "recent_xwoba": 0.393,
            "barrel": 16.8,
            "ab_hard_contact": 1.5248643302367029,
            "ab_bat_speed": 76.33166272655635,
            "ab_strikeout_rate": 0.298936170212766,
            "available": 1.0
          },
          {
            "player_id": "669127",
            "player_name": "Shea Langeliers",
            "position": "C",
            "weight": 10.0,
            "quality": 1.231417428019202,
            "contact": 1.6135840882272228,
            "power": 1.7625529160541131,
            "discipline": 0.08021262458471753,
            "xwoba": 0.413,
            "recent_xwoba": 0.413,
            "barrel": 15.300000000000002,
            "ab_hard_contact": 1.1742964163203466,
            "ab_bat_speed": 74.39369509043927,
            "ab_strikeout_rate": 0.22093023255813954,
            "available": 1.0
          },
          {
            "player_id": "687231",
            "player_name": "Darell Hernaiz",
            "position": "SS",
            "weight": 6.0,
            "quality": -0.46358307639701274,
            "contact": -1.2025097903916662,
            "power": -1.6237368108726566,
            "discipline": 0.5330714285714284,
            "xwoba": 0.263,
            "recent_xwoba": 0.263,
            "barrel": 1.5,
            "ab_hard_contact": -1.6629266936436264,
            "ab_bat_speed": 66.986285430839,
            "ab_strikeout_rate": 0.17857142857142858,
            "available": 1.0
          },
          {
            "player_id": "666126",
            "player_name": "Carlos Cortes",
            "position": "RF",
            "weight": 6.0,
            "quality": 0.5906945877135263,
            "contact": 1.6735586961407833,
            "power": 0.8825101587374006,
            "discipline": 0.7154079794079794,
            "xwoba": 0.39399999999999996,
            "recent_xwoba": 0.394,
            "barrel": 9.7,
            "ab_hard_contact": 0.7161079366527701,
            "ab_bat_speed": 69.30132561132561,
            "ab_strikeout_rate": 0.10630630630630632,
            "available": 1.0
          },
          {
            "player_id": "667670",
            "player_name": "Brent Rooker",
            "position": "DH",
            "weight": 9.0,
            "quality": 0.28372276375417893,
            "contact": 0.007374635309863847,
            "power": 1.1956912870391432,
            "discipline": -0.6028839285714286,
            "xwoba": 0.335,
            "recent_xwoba": 0.335,
            "barrel": 16.5,
            "ab_hard_contact": 0.81306383602096,
            "ab_bat_speed": 72.8895703125,
            "ab_strikeout_rate": 0.3328125,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "667755",
        "player_name": "José Soriano",
        "quality": 0.18899919970477444,
        "contact": 0.00815326591446897,
        "command": 0.7068234568104631,
        "movement": 0.9481374666758545,
        "xwoba": 0.317,
        "whiff": 33.8,
        "faced_est_woba": 0.30915546669408883,
        "faced_launch_speed": 83.86501725421785,
        "faced_strikeout_rate": 0.27866336978031137,
        "faced_run_exp": 0.027235106605823338
      }
    },
    "home": {
      "team": "LAA",
      "original_runs": 3,
      "run_delta": 0.2411,
      "adjusted_runs": 3,
      "lineup": {
        "players_used": 9,
        "total_weight": 62.0,
        "quality": 0.1337724675099477,
        "contact": -0.069060253815294,
        "power": 0.02041830109952743,
        "discipline": -0.09745617149534198,
        "xwoba": 0.3153064516129032,
        "recent_xwoba": 0.3153064516129032,
        "barrel": 7.741935483870967,
        "ab_hard_contact": 0.09757537587634973,
        "ab_bat_speed": 70.14024085623205,
        "ab_strikeout_rate": 0.2538916553663097,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "545361",
            "player_name": "Mike Trout",
            "position": "DH",
            "weight": 8.0,
            "quality": 1.4396534904079785,
            "contact": 1.213840257085658,
            "power": 2.0,
            "discipline": 1.2322380952380951,
            "xwoba": 0.425,
            "recent_xwoba": 0.425,
            "barrel": 22.399999999999995,
            "ab_hard_contact": 1.1126343973768877,
            "ab_bat_speed": 73.25672544642858,
            "ab_strikeout_rate": 0.25833333333333336,
            "available": 1.0
          },
          {
            "player_id": "624428",
            "player_name": "Adam Frazier",
            "position": "2B",
            "weight": 5.0,
            "quality": -0.5165659834998062,
            "contact": -1.805646926887006,
            "power": -1.6762562804586636,
            "discipline": -0.4107010582010582,
            "xwoba": 0.242,
            "recent_xwoba": 0.242,
            "barrel": 2.1,
            "ab_hard_contact": -1.8664589425066098,
            "ab_bat_speed": 62.050776748971195,
            "ab_strikeout_rate": 0.32962962962962966,
            "available": 1.0
          },
          {
            "player_id": "665861",
            "player_name": "Sebastián Rivero",
            "position": "C",
            "weight": 4.0,
            "quality": -0.17231684011288956,
            "contact": -1.6752573193032316,
            "power": -1.8816213516837346,
            "discipline": -0.6390476190476191,
            "xwoba": 0.215,
            "recent_xwoba": 0.215,
            "barrel": 0.0,
            "ab_hard_contact": -1.425188938436605,
            "ab_bat_speed": 70.86043650793651,
            "ab_strikeout_rate": 0.18333333333333332,
            "available": 1.0
          },
          {
            "player_id": "666139",
            "player_name": "Josh Lowe",
            "position": "LF",
            "weight": 6.0,
            "quality": -0.48636685702068017,
            "contact": -1.3260397081921207,
            "power": -0.5394590510577401,
            "discipline": -0.8736117216117216,
            "xwoba": 0.24699999999999997,
            "recent_xwoba": 0.247,
            "barrel": 7.2,
            "ab_hard_contact": -0.21280006877385407,
            "ab_bat_speed": 71.94769637769637,
            "ab_strikeout_rate": 0.2858974358974359,
            "available": 1.0
          },
          {
            "player_id": "694384",
            "player_name": "Nolan Schanuel",
            "position": "1B",
            "weight": 9.0,
            "quality": -0.2618895507669035,
            "contact": -0.0646661833243955,
            "power": -0.7609965109870859,
            "discipline": 0.05707671957671945,
            "xwoba": 0.305,
            "recent_xwoba": 0.305,
            "barrel": 2.1,
            "ab_hard_contact": -0.07212069593219705,
            "ab_bat_speed": 66.50468827160493,
            "ab_strikeout_rate": 0.17185185185185187,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "622663",
        "player_name": "Luis Severino",
        "quality": -0.3738927461017534,
        "contact": -0.8139275973622617,
        "command": -0.3191310811214194,
        "movement": 0.4167719857269629,
        "xwoba": 0.333,
        "whiff": 22.2,
        "faced_est_woba": 0.3375190184166451,
        "faced_launch_speed": 84.21164640001517,
        "faced_strikeout_rate": 0.22685958432335246,
        "faced_run_exp": -0.001884843060142583
      }
    }
  },
  "confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Production confidence governor cap enforced.",
  "pre_simulation_target": {
    "away_runs": 2,
    "home_runs": 3,
    "predicted_score_text": "OAK 2 - 3 LAA",
    "confidence": 0.51,
    "source": "enhanced_prediction_before_inning_simulation"
  },
  "score_source": "enhanced_prediction.pre_simulation_target",
  "final_prediction_synced": true,
  "final_prediction_source": "pre_simulation_target",
  "simulation_usage": "advisory_box_score_draw",
  "simulation_score_matches_prediction": false,
  "simulation_reconciliation": {
    "pre_simulation_score": {
      "away_runs": 2,
      "home_runs": 3,
      "score_text": "OAK 2 - 3 LAA",
      "winner": "LAA"
    },
    "final_simulation_score": {
      "away_runs": 1,
      "home_runs": 3,
      "score_text": "OAK 1 - 3 LAA",
      "winner": "LAA"
    },
    "winner_flipped_by_simulation": false,
    "away_run_delta": -1,
    "home_run_delta": 0,
    "total_run_delta": -1,
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_usage": "advisory_box_score_draw",
    "final_prediction_source": "pre_simulation_target"
  }
}

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 OAKTrue1.03781.0378190
Home LAATrue1.00671.0067190

Away Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
CShea Langeliers-1.11281.5039neutral0.41300.31300.593015.3047.4092.402025.7020.709.60-0.3429
1BNick Kurtz-1.11451.5271neutral0.39300.25400.493016.8058.909514.7035.4029.2020.40-0.3429
RFCarlos Cortes-1.05260.7014negative_batter_regression0.39400.33000.50209.7043.20916.30201010-0.8857
DHBrent Rooker-1.04070.5426positive_batter_regression0.33500.22400.465016.5046.3090.5020.8039.6030.7010.901.0571
LFTyler Soderstrom-1.03360.4486positive_batter_regression0.31900.23400.421012.2044.7090.2015.8024.5020.409.900.9714
2BJeff McNeil-1.00260.0352neutral0.32200.28900.36400.8033.6086.2012.1015.90137.500.0571
3BZack Gelof-1.02090.2790neutral0.33700.25700.474011.1045.8090.8018.4027.1022.505.90-0.6857
SSDarell Hernaiz-0.9583-0.5563negative_batter_regression0.26300.21700.27201.5022.7083.9017.2019.3015.7010.10-1.2857
CFLawrence Butler-1.00460.0608positive_batter_regression0.30000.22800.34506.8045.6090.308.4029.8027.5012.101.3429

Home Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
3BVaughn Grissom-1.02850.3799positive_batter_regression0.35200.27300.43406.4046.2091.2011.3019.5010111.0286
DHMike Trout-1.13111.7482positive_batter_regression0.42500.25800.590022.4050.4091.7020.7021.7024.5019.901
SSZach Neto-1.02430.3238neutral0.32800.21600.409011.4039.809021.8029.7030.7012.90-0.2571
1BNolan Schanuel-0.9906-0.1254neutral0.30500.27100.36102.1031.70879.9018.7016.806.300.2000
LFJosh Lowe-0.9636-0.4849neutral0.24700.19000.32707.2032.508819.1028.2028.604.800.3429
RFJo Adell-1.03110.4140neutral0.32100.26300.4230746.2091.40192623.203.400.5714
CFJose Siri-0.9954-0.0615negative_batter_regression0.28900.27000.4100066.709821.2045.50400-2
CSebastián Rivero-0.9509-0.6550positive_batter_regression0.21500.20900.240009.1083.8018.602817.903.601.6000
2BAdam Frazier-0.9445-0.7398negative_batter_regression0.24200.18900.25702.101783.8012.9024.5028.907.90-2
Raw Savant Batter Quality JSON
{
  "home": {
    "applied": true,
    "offense_factor": 1.0067,
    "raw_average_factor": 1.0067,
    "team_espn_average_rank": null,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "3B",
        "player_id": "687093",
        "player_name": "Vaughn Grissom",
        "offense_factor": 1.0285,
        "quality_score": 0.3799,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "687093",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 98.0,
          "k_percent": 10.0,
          "bb_percent": 11.0,
          "woba": 0.316,
          "xwoba": 0.352,
          "xba": 0.273,
          "xslg": 0.434,
          "sweet_spot_percent": 26.9,
          "barrel_batted_rate": 6.4,
          "hard_hit_percent": 46.2,
          "exit_velocity_avg": 91.2,
          "launch_angle_avg": 11.3,
          "whiff_percent": 19.5,
          "swing_percent": 45.2
        },
        "components": {
          "expected_quality": 0.8141,
          "regression_edge": 1.0286,
          "xwoba_edge": 1.2571,
          "xba_edge": 0.9429,
          "xslg_edge": 0.8286,
          "barrel_edge": -0.1111,
          "hard_hit_edge": 0.9643,
          "exit_velocity_edge": 0.88,
          "sweet_spot_edge": -1.0667,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "DH",
        "player_id": "545361",
        "player_name": "Mike Trout",
        "offense_factor": 1.1311,
        "quality_score": 1.7482,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "545361",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 211.0,
          "k_percent": 24.5,
          "bb_percent": 19.9,
          "woba": 0.39,
          "xwoba": 0.425,
          "xba": 0.258,
          "xslg": 0.59,
          "sweet_spot_percent": 33.3,
          "barrel_batted_rate": 22.4,
          "hard_hit_percent": 50.4,
          "exit_velocity_avg": 91.7,
          "launch_angle_avg": 20.7,
          "whiff_percent": 21.7,
          "swing_percent": 36.7
        },
        "components": {
          "expected_quality": 1.9567,
          "regression_edge": 1.0,
          "xwoba_edge": 2.5,
          "xba_edge": 0.5143,
          "xslg_edge": 2.5,
          "barrel_edge": 2.5,
          "hard_hit_edge": 1.5643,
          "exit_velocity_edge": 1.08,
          "sweet_spot_edge": 0.0,
          "launch_angle_hr_bonus": 0.45
        }
      },
      {
        "position": "SS",
        "player_id": "687263",
        "player_name": "Zach Neto",
        "offense_factor": 1.0243,
        "quality_score": 0.3238,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "687263",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 224.0,
          "k_percent": 30.7,
          "bb_percent": 12.9,
          "woba": 0.337,
          "xwoba": 0.328,
          "xba": 0.216,
          "xslg": 0.409,
          "sweet_spot_percent": 35.8,
          "barrel_batted_rate": 11.4,
          "hard_hit_percent": 39.8,
          "exit_velocity_avg": 90.0,
          "launch_angle_avg": 21.8,
          "whiff_percent": 29.7,
          "swing_percent": 49.6
        },
        "components": {
          "expected_quality": 0.4183,
          "regression_edge": -0.2571,
          "xwoba_edge": 0.5714,
          "xba_edge": -0.6857,
          "xslg_edge": 0.4714,
          "barrel_edge": 1.0,
          "hard_hit_edge": 0.05,
          "exit_velocity_edge": 0.4,
          "sweet_spot_edge": 0.4167,
          "launch_angle_hr_bonus": 0.45
        }
      },
      {
        "position": "1B",
        "player_id": "694384",
        "player_name": "Nolan Schanuel",
        "offense_factor": 0.9906,
        "quality_score": -0.1254,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "694384",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 191.0,
          "k_percent": 16.8,
          "bb_percent": 6.3,
          "woba": 0.298,
          "xwoba": 0.305,
          "xba": 0.271,
          "xslg": 0.361,
          "sweet_spot_percent": 37.2,
          "barrel_batted_rate": 2.1,
          "hard_hit_percent": 31.7,
          "exit_velocity_avg": 87.0,
          "launch_angle_avg": 9.9,
          "whiff_percent": 18.7,
          "swing_percent": 46.0
        },
        "components": {
          "expected_quality": -0.2005,
          "regression_edge": 0.2,
          "xwoba_edge": -0.0857,
          "xba_edge": 0.8857,
          "xslg_edge": -0.2143,
          "barrel_edge": -1.0667,
          "hard_hit_edge": -1.1071,
          "exit_velocity_edge": -0.8,
          "sweet_spot_edge": 0.65,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "LF",
        "player_id": "666139",
        "player_name": "Josh Lowe",
        "offense_factor": 0.9636,
        "quality_score": -0.4849,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "666139",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 125.0,
          "k_percent": 28.6,
          "bb_percent": 4.8,
          "woba": 0.235,
          "xwoba": 0.247,
          "xba": 0.19,
          "xslg": 0.327,
          "sweet_spot_percent": 28.9,
          "barrel_batted_rate": 7.2,
          "hard_hit_percent": 32.5,
          "exit_velocity_avg": 88.0,
          "launch_angle_avg": 19.1,
          "whiff_percent": 28.2,
          "swing_percent": 54.7
        },
        "components": {
          "expected_quality": -1.0483,
          "regression_edge": 0.3429,
          "xwoba_edge": -1.7429,
          "xba_edge": -1.4286,
          "xslg_edge": -0.7,
          "barrel_edge": 0.0667,
          "hard_hit_edge": -0.9929,
          "exit_velocity_edge": -0.4,
          "sweet_spot_edge": -0.7333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "RF",
        "player_id": "666176",
        "player_name": "Jo Adell",
        "offense_factor": 1.0311,
        "quality_score": 0.414,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "666176",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 202.0,
          "k_percent": 23.2,
          "bb_percent": 3.4,
          "woba": 0.301,
          "xwoba": 0.321,
          "xba": 0.263,
          "xslg": 0.423,
          "sweet_spot_percent": 31.5,
          "barrel_batted_rate": 7.0,
          "hard_hit_percent": 46.2,
          "exit_velocity_avg": 91.4,
          "launch_angle_avg": 19.0,
          "whiff_percent": 26.0,
          "swing_percent": 56.8
        },
        "components": {
          "expected_quality": 0.4313,
          "regression_edge": 0.5714,
          "xwoba_edge": 0.3714,
          "xba_edge": 0.6571,
          "xslg_edge": 0.6714,
          "barrel_edge": 0.0222,
          "hard_hit_edge": 0.9643,
          "exit_velocity_edge": 0.96,
          "sweet_spot_edge": -0.3,
          "launch_angle_hr_bonus": 0.45
        }
      },
      {
        "position": "CF",
        "player_id": "642350",
        "player_name": "Jose Siri",
        "offense_factor": 0.9954,
        "quality_score": -0.0615,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "642350",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 3.0,
          "k_percent": 40.0,
          "bb_percent": 0.0,
          "woba": 0.436,
          "xwoba": 0.289,
          "xba": 0.27,
          "xslg": 0.41,
          "sweet_spot_percent": 66.7,
          "barrel_batted_rate": 0.0,
          "hard_hit_percent": 66.7,
          "exit_velocity_avg": 98.0,
          "launch_angle_avg": 21.2,
          "whiff_percent": 45.5,
          "swing_percent": 57.9
        },
        "components": {
          "expected_quality": 0.1667,
          "regression_edge": -2.0,
          "xwoba_edge": -0.5429,
          "xba_edge": 0.8571,
          "xslg_edge": 0.4857,
          "barrel_edge": -1.5333,
          "hard_hit_edge": 2.5,
          "exit_velocity_edge": 2.5,
          "sweet_spot_edge": 2.5,
          "launch_angle_hr_bonus": 0.45
        }
      },
      {
        "position": "C",
        "player_id": "665861",
        "player_name": "Sebastián Rivero",
        "offense_factor": 0.9509,
        "quality_score": -0.655,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "665861",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 26.0,
          "k_percent": 17.9,
          "bb_percent": 3.6,
          "woba": 0.159,
          "xwoba": 0.215,
          "xba": 0.209,
          "xslg": 0.24,
          "sweet_spot_percent": 9.1,
          "barrel_batted_rate": 0.0,
          "hard_hit_percent": 9.1,
          "exit_velocity_avg": 83.8,
          "launch_angle_avg": 18.6,
          "whiff_percent": 28.0,
          "swing_percent": 63.0
        },
        "components": {
          "expected_quality": -1.9531,
          "regression_edge": 1.6,
          "xwoba_edge": -2.5,
          "xba_edge": -0.8857,
          "xslg_edge": -1.9429,
          "barrel_edge": -1.5333,
          "hard_hit_edge": -2.5,
          "exit_velocity_edge": -2.08,
          "sweet_spot_edge": -2.5,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "2B",
        "player_id": "624428",
        "player_name": "Adam Frazier",
        "offense_factor": 0.9445,
        "quality_score": -0.7398,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "624428",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 71.0,
          "k_percent": 28.9,
          "bb_percent": 7.9,
          "woba": 0.313,
          "xwoba": 0.242,
          "xba": 0.189,
          "xslg": 0.257,
          "sweet_spot_percent": 31.9,
          "barrel_batted_rate": 2.1,
          "hard_hit_percent": 17.0,
          "exit_velocity_avg": 83.8,
          "launch_angle_avg": 12.9,
          "whiff_percent": 24.5,
          "swing_percent": 56.2
        },
        "components": {
          "expected_quality": -1.586,
          "regression_edge": -2.0,
          "xwoba_edge": -1.8857,
          "xba_edge": -1.4571,
          "xslg_edge": -1.7,
          "barrel_edge": -1.0667,
          "hard_hit_edge": -2.5,
          "exit_velocity_edge": -2.08,
          "sweet_spot_edge": -0.2333,
          "launch_angle_hr_bonus": 0.0
        }
      }
    ],
    "source": "all_players_stats.csv embedded Savant batter features"
  },
  "away": {
    "applied": true,
    "offense_factor": 1.0378,
    "raw_average_factor": 1.0378,
    "team_espn_average_rank": null,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "C",
        "player_id": "669127",
        "player_name": "Shea Langeliers",
        "offense_factor": 1.1128,
        "quality_score": 1.5039,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "669127",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 197.0,
          "k_percent": 20.7,
          "bb_percent": 9.6,
          "woba": 0.425,
          "xwoba": 0.413,
          "xba": 0.313,
          "xslg": 0.593,
          "sweet_spot_percent": 38.0,
          "barrel_batted_rate": 15.3,
          "hard_hit_percent": 47.4,
          "exit_velocity_avg": 92.4,
          "launch_angle_avg": 20.0,
          "whiff_percent": 25.7,
          "swing_percent": 51.0
        },
        "components": {
          "expected_quality": 2.0088,
          "regression_edge": -0.3429,
          "xwoba_edge": 2.5,
          "xba_edge": 2.0857,
          "xslg_edge": 2.5,
          "barrel_edge": 1.8667,
          "hard_hit_edge": 1.1357,
          "exit_velocity_edge": 1.36,
          "sweet_spot_edge": 0.7833,
          "launch_angle_hr_bonus": 0.45
        }
      },
      {
        "position": "1B",
        "player_id": "701762",
        "player_name": "Nick Kurtz",
        "offense_factor": 1.1145,
        "quality_score": 1.5271,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "701762",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 212.0,
          "k_percent": 29.2,
          "bb_percent": 20.4,
          "woba": 0.405,
          "xwoba": 0.393,
          "xba": 0.254,
          "xslg": 0.493,
          "sweet_spot_percent": 40.2,
          "barrel_batted_rate": 16.8,
          "hard_hit_percent": 58.9,
          "exit_velocity_avg": 95.0,
          "launch_angle_avg": 14.7,
          "whiff_percent": 35.4,
          "swing_percent": 39.6
        },
        "components": {
          "expected_quality": 1.8985,
          "regression_edge": -0.3429,
          "xwoba_edge": 2.4286,
          "xba_edge": 0.4,
          "xslg_edge": 1.6714,
          "barrel_edge": 2.2,
          "hard_hit_edge": 2.5,
          "exit_velocity_edge": 2.4,
          "sweet_spot_edge": 1.15,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "RF",
        "player_id": "666126",
        "player_name": "Carlos Cortes",
        "offense_factor": 1.0526,
        "quality_score": 0.7014,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "666126",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 118.0,
          "k_percent": 10.0,
          "bb_percent": 10.0,
          "woba": 0.425,
          "xwoba": 0.394,
          "xba": 0.33,
          "xslg": 0.502,
          "sweet_spot_percent": 35.8,
          "barrel_batted_rate": 9.7,
          "hard_hit_percent": 43.2,
          "exit_velocity_avg": 91.0,
          "launch_angle_avg": 6.3,
          "whiff_percent": 20.0,
          "swing_percent": 44.1
        },
        "components": {
          "expected_quality": 1.6648,
          "regression_edge": -0.8857,
          "xwoba_edge": 2.4571,
          "xba_edge": 2.5,
          "xslg_edge": 1.8,
          "barrel_edge": 0.6222,
          "hard_hit_edge": 0.5357,
          "exit_velocity_edge": 0.8,
          "sweet_spot_edge": 0.4167,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "DH",
        "player_id": "667670",
        "player_name": "Brent Rooker",
        "offense_factor": 1.0407,
        "quality_score": 0.5426,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "667670",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 135.0,
          "k_percent": 30.7,
          "bb_percent": 10.9,
          "woba": 0.298,
          "xwoba": 0.335,
          "xba": 0.224,
          "xslg": 0.465,
          "sweet_spot_percent": 36.3,
          "barrel_batted_rate": 16.5,
          "hard_hit_percent": 46.3,
          "exit_velocity_avg": 90.5,
          "launch_angle_avg": 20.8,
          "whiff_percent": 39.6,
          "swing_percent": 48.4
        },
        "components": {
          "expected_quality": 0.8561,
          "regression_edge": 1.0571,
          "xwoba_edge": 0.7714,
          "xba_edge": -0.4571,
          "xslg_edge": 1.2714,
          "barrel_edge": 2.1333,
          "hard_hit_edge": 0.9786,
          "exit_velocity_edge": 0.6,
          "sweet_spot_edge": 0.5,
          "launch_angle_hr_bonus": 0.45
        }
      },
      {
        "position": "LF",
        "player_id": "691016",
        "player_name": "Tyler Soderstrom",
        "offense_factor": 1.0336,
        "quality_score": 0.4486,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "691016",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 189.0,
          "k_percent": 20.4,
          "bb_percent": 9.9,
          "woba": 0.285,
          "xwoba": 0.319,
          "xba": 0.234,
          "xslg": 0.421,
          "sweet_spot_percent": 30.3,
          "barrel_batted_rate": 12.2,
          "hard_hit_percent": 44.7,
          "exit_velocity_avg": 90.2,
          "launch_angle_avg": 15.8,
          "whiff_percent": 24.5,
          "swing_percent": 47.9
        },
        "components": {
          "expected_quality": 0.4491,
          "regression_edge": 0.9714,
          "xwoba_edge": 0.3143,
          "xba_edge": -0.1714,
          "xslg_edge": 0.6429,
          "barrel_edge": 1.1778,
          "hard_hit_edge": 0.75,
          "exit_velocity_edge": 0.48,
          "sweet_spot_edge": -0.5,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "2B",
        "player_id": "643446",
        "player_name": "Jeff McNeil",
        "offense_factor": 1.0026,
        "quality_score": 0.0352,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "643446",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 159.0,
          "k_percent": 13.0,
          "bb_percent": 7.5,
          "woba": 0.32,
          "xwoba": 0.322,
          "xba": 0.289,
          "xslg": 0.364,
          "sweet_spot_percent": 40.8,
          "barrel_batted_rate": 0.8,
          "hard_hit_percent": 33.6,
          "exit_velocity_avg": 86.2,
          "launch_angle_avg": 12.1,
          "whiff_percent": 15.9,
          "swing_percent": 54.0
        },
        "components": {
          "expected_quality": 0.0474,
          "regression_edge": 0.0571,
          "xwoba_edge": 0.4,
          "xba_edge": 1.4,
          "xslg_edge": -0.1714,
          "barrel_edge": -1.3556,
          "hard_hit_edge": -0.8357,
          "exit_velocity_edge": -1.12,
          "sweet_spot_edge": 1.25,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "3B",
        "player_id": "680869",
        "player_name": "Zack Gelof",
        "offense_factor": 1.0209,
        "quality_score": 0.279,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "680869",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 100.0,
          "k_percent": 22.5,
          "bb_percent": 5.9,
          "woba": 0.361,
          "xwoba": 0.337,
          "xba": 0.257,
          "xslg": 0.474,
          "sweet_spot_percent": 33.3,
          "barrel_batted_rate": 11.1,
          "hard_hit_percent": 45.8,
          "exit_velocity_avg": 90.8,
          "launch_angle_avg": 18.4,
          "whiff_percent": 27.1,
          "swing_percent": 46.3
        },
        "components": {
          "expected_quality": 0.8254,
          "regression_edge": -0.6857,
          "xwoba_edge": 0.8286,
          "xba_edge": 0.4857,
          "xslg_edge": 1.4,
          "barrel_edge": 0.9333,
          "hard_hit_edge": 0.9071,
          "exit_velocity_edge": 0.72,
          "sweet_spot_edge": 0.0,
          "launch_angle_hr_bonus": 0.45
        }
      },
      {
        "position": "SS",
        "player_id": "687231",
        "player_name": "Darell Hernaiz",
        "offense_factor": 0.9583,
        "quality_score": -0.5563,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "687231",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 87.0,
          "k_percent": 15.7,
          "bb_percent": 10.1,
          "woba": 0.308,
          "xwoba": 0.263,
          "xba": 0.217,
          "xslg": 0.272,
          "sweet_spot_percent": 28.8,
          "barrel_batted_rate": 1.5,
          "hard_hit_percent": 22.7,
          "exit_velocity_avg": 83.9,
          "launch_angle_avg": 17.2,
          "whiff_percent": 19.3,
          "swing_percent": 52.1
        },
        "components": {
          "expected_quality": -1.2281,
          "regression_edge": -1.2857,
          "xwoba_edge": -1.2857,
          "xba_edge": -0.6571,
          "xslg_edge": -1.4857,
          "barrel_edge": -1.2,
          "hard_hit_edge": -2.3929,
          "exit_velocity_edge": -2.04,
          "sweet_spot_edge": -0.75,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "CF",
        "player_id": "671732",
        "player_name": "Lawrence Butler",
        "offense_factor": 1.0046,
        "quality_score": 0.0608,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "671732",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 146.0,
          "k_percent": 27.5,
          "bb_percent": 12.1,
          "woba": 0.253,
          "xwoba": 0.3,
          "xba": 0.228,
          "xslg": 0.345,
          "sweet_spot_percent": 30.0,
          "barrel_batted_rate": 6.8,
          "hard_hit_percent": 45.6,
          "exit_velocity_avg": 90.3,
          "launch_angle_avg": 8.4,
          "whiff_percent": 29.8,
          "swing_percent": 45.1
        },
        "components": {
          "expected_quality": -0.1121,
          "regression_edge": 1.3429,
          "xwoba_edge": -0.2286,
          "xba_edge": -0.3429,
          "xslg_edge": -0.4429,
          "barrel_edge": -0.0222,
          "hard_hit_edge": 0.8786,
          "exit_velocity_edge": 0.52,
          "sweet_spot_edge": -0.55,
          "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 OAKTrue--0.27610.83601.02350.98181.05851.0476neutral0.33300.361022.4012.9022.209.1039.60
Home LAATrue-0.09630.84800.99181.06491.02541.0104negative_pitcher_regression0.31700.25002810.9033.80934.50

Pitch Movement And Arsenal

TeamPitcherMovement AvailablePrimary PitchPitchesVeloSpinAxisHBIVBDropRel XRel ZExtensionArm AngleMovement Score
Away OAKTrueNone10092.292282000000000.1461
Home LAATrueNone9493.232095000000000.1984
Run FactorValue
away_runs_vs_home_pitcher0.9930
home_runs_vs_away_pitcher1.0196
home_pitcher_quality_edge0.3724
Raw Savant Pitcher Quality JSON
{
  "applied": true,
  "home_pitcher": {
    "available": true,
    "pitcher_id": "667755",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 212.0,
      "k_percent": 28.0,
      "bb_percent": 10.9,
      "woba": 0.25,
      "xwoba": 0.317,
      "sweet_spot_percent": 35.9,
      "barrel_batted_rate": 9.0,
      "hard_hit_percent": 34.5,
      "avg_best_speed": 77.4886,
      "avg_hyper_speed": 93.2844,
      "whiff_percent": 33.8,
      "swing_percent": 45.6
    },
    "league_medians": {
      "pa": 69.0,
      "k_percent": 22.7,
      "bb_percent": 9.4,
      "woba": 0.308,
      "xwoba": 0.312,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.2,
      "hard_hit_percent": 38.7,
      "avg_best_speed": 78.2751,
      "avg_hyper_speed": 94.07,
      "whiff_percent": 25.7,
      "swing_percent": 46.9
    },
    "components": {
      "contact_quality": 0.2049,
      "command_and_miss": 0.6707,
      "regression_edge": -1.9143,
      "xwoba_edge": -0.1429,
      "barrel_edge": -0.4,
      "hard_hit_edge": 0.6,
      "whiff_edge": 1.1571,
      "bb_edge": -0.375,
      "pitch_design_score": 0.1984
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "667755",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 94,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 94,
        "pitch_usage": 0.0,
        "release_speed": 93.2255355662551,
        "release_spin_rate": 2094.7767691423996,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 94,
          "pitch_usage": 0.0,
          "release_speed": 93.2255355662551,
          "release_spin_rate": 2094.7767691423996,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.2255,
        "release_spin_rate": 2094.7768,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": 0.1984,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": 1.4168,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -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.0963,
    "sample_weight": 0.848,
    "run_prevention_factor": 0.9918,
    "strikeout_factor": 1.0649,
    "walk_factor": 1.0254,
    "homer_factor": 1.0104,
    "woba_minus_xwoba": -0.067,
    "regression_flag": "negative_pitcher_regression",
    "espn_rank": {
      "available": false,
      "player_id": "667755",
      "reason": "player_not_in_espn_rankings"
    }
  },
  "away_pitcher": {
    "available": true,
    "pitcher_id": "622663",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 209.0,
      "k_percent": 22.4,
      "bb_percent": 12.9,
      "woba": 0.361,
      "xwoba": 0.333,
      "sweet_spot_percent": 35.7,
      "barrel_batted_rate": 9.1,
      "hard_hit_percent": 39.6,
      "avg_best_speed": 78.3448,
      "avg_hyper_speed": 93.7394,
      "whiff_percent": 22.2,
      "swing_percent": 46.6
    },
    "league_medians": {
      "pa": 69.0,
      "k_percent": 22.7,
      "bb_percent": 9.4,
      "woba": 0.308,
      "xwoba": 0.312,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.2,
      "hard_hit_percent": 38.7,
      "avg_best_speed": 78.2751,
      "avg_hyper_speed": 94.07,
      "whiff_percent": 25.7,
      "swing_percent": 46.9
    },
    "components": {
      "contact_quality": -0.582,
      "command_and_miss": -0.3693,
      "regression_edge": 0.8,
      "xwoba_edge": -0.6,
      "barrel_edge": -0.4222,
      "hard_hit_edge": -0.1286,
      "whiff_edge": -0.5,
      "bb_edge": -0.875,
      "pitch_design_score": 0.1461
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "622663",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 100,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 100,
        "pitch_usage": 0.0,
        "release_speed": 92.29264594768587,
        "release_spin_rate": 2282.3936949803738,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 100,
          "pitch_usage": 0.0,
          "release_speed": 92.29264594768587,
          "release_spin_rate": 2282.3936949803738,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.2926,
        "release_spin_rate": 2282.3937,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": 0.1461,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": 1.0437,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -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.2761,
    "sample_weight": 0.836,
    "run_prevention_factor": 1.0235,
    "strikeout_factor": 0.9818,
    "walk_factor": 1.0585,
    "homer_factor": 1.0476,
    "woba_minus_xwoba": 0.028,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": false,
      "player_id": "622663",
      "reason": "player_not_in_espn_rankings"
    }
  },
  "run_factors": {
    "away_runs_vs_home_pitcher": 0.993,
    "home_runs_vs_away_pitcher": 1.0196,
    "home_pitcher_quality_edge": 0.3724
  },
  "score_before": {
    "away_runs": 1.4345,
    "home_runs": 2.2874
  },
  "score_after": {
    "away_runs": 1.4246,
    "home_runs": 2.3324,
    "home_win_probability": 0.5839
  },
  "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 OAK12-370.2451.403.70-114coldaverage
Home LAA7-430.1400.804.40-182coldaverage

Season Run Differential

TeamRecordWin %Run DiffRD/GameAvailable
Away OAK24-240.500-6-0.125True
Home LAA17-320.347-67-1.367True
Signal---1.242-1.472applied=True

Recent Head-to-Head

DateMatchupScoreWinnerMarginType
------

Player/Game Reconciliation

LayerABHRHRRBIBBSO
Game target OAK--2----
Game target LAA--3----
Player finalized OAK681812212917
Player finalized LAA6214916515
Player model fractional OAK68.0617.4111.482.7811.279.5116.02
Player model fractional LAA59.7312.907.292.077.176.4214.22
Simulation box OAK31411138
Simulation box LAA29630327

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 OAKStarterLuis Severino534623.831.45True
Away OAKMiddle RelieverJoel Kuhnel101003.931.19True
Away OAKMiddle RelieverScott Barlow101003.221.04True
Away OAKMiddle RelieverHogan Harris101004.181.52True
Home LAAStarterJosé Soriano606233.991.31True
Home LAAMiddle RelieverSam Bachman1.1000003.050.97True
Home LAAMiddle RelieverRyan Zeferjahn101004.271.35True
Home LAAMiddle RelieverKirby Yates0.2011204.531.33True
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
homeLAApitcherStarterJosé Sorianobetter11010predicted_SO3.0000boostbetter
homeLAApitcherMiddle RelieverSam Bachmanworse20202predicted_SO-3.0000deboostworse
homeLAAbatter3BVaughn Grissombetter94554predicted_RBI2.5600boostbetter
homeLAAbatterCSebastián Riveroworse93645predicted_H1.8500boostbetter
awayOAKbatterRFCarlos Cortesworse115647predicted_SO1.6200boostworse
awayOAKbatterCShea Langeliersworse115647predicted_AB-1.5000deboostworse
awayOAKbatterSSDarell Hernaizworse81708predicted_SO1.4890boostworse
awayOAKbatterDHBrent Rookerdeboosted104655predicted_SO-1.2970deboostbetter
homeLAAbatter1BNolan Schanuelworse1129110predicted_SO1.2920boostworse
homeLAAbatterSSZach Netodeboosted104655predicted_H1.0700boostbetter
awayOAKpitcherStarterLuis Severinoworse21102predicted_H1.0000boostworse
awayOAKpitcherMiddle RelieverJoel Kuhnelbetter10110predicted_H-1.0000deboostbetter
homeLAAbatterCFJose Siriworse112938predicted_BB1.0000boostbetter
homeLAAbatterRFJo Adellworse1129110predicted_H-0.9100deboostworse
homeLAAbatterDHMike Troutworse103746predicted_AB-0.8800deboostworse
awayOAKbatter1BNick Kurtzbetter96372predicted_AB-0.8700deboostworse
awayOAKbatter3BZack Gelofbetter115665predicted_SO-0.8640deboostbetter
awayOAKbatter2BJeff McNeilworse114756predicted_H-0.7700deboostworse
homeLAAbatterLFJosh Loweworse90909predicted_H-0.6800deboostworse
awayOAKpitcherMiddle RelieverHogan Harrisbetter11010predicted_IP0.6667boostbetter
homeLAAbatter2BAdam Frazierworse125748predicted_R-0.6580deboostworse
awayOAKbatterCFLawrence Butlerworse10010010predicted_H-0.5800deboostworse
awayOAKbatterLFTyler Soderstromworse93627predicted_R-0.5470deboostworse
homeLAApitcherMiddle RelieverKirby Yatesworse10101predicted_IP-0.4667deboostworse

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

Away Team: OAK

Away Pitcher Deep Analysis

FieldValue
PitcherLuis Severino
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.2761
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.1461
Avg Velo92.2926
Avg Spin2282.3937
HB Inches0
IVB Inches0
Release Extension0
Pre IP5
Pre ER3
Pre H6
Pre BB2
Pre SO4
Season ERA4.4451
Season WHIP1.5732
Role Avg IP5.4670
Recent Avg IP6
Last Start IP6
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "OAK",
    "games": 54,
    "wins": 27,
    "losses": 27,
    "win_pct": 0.5,
    "runs_scored": 251.0,
    "runs_allowed": 254.0,
    "run_differential": -3.0,
    "run_differential_per_game": -0.0556,
    "avg_runs_scored": 4.6481,
    "avg_runs_allowed": 4.7037,
    "offense_index": 1.0403,
    "defense_index": 0.9499,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 4.6,
      "run_differential": 0.0
    },
    "available": true,
    "quality_score": -0.0418
  },
  "opponent": {
    "team": "LAA",
    "games": 57,
    "wins": 22,
    "losses": 35,
    "win_pct": 0.386,
    "runs_scored": 233.0,
    "runs_allowed": 300.0,
    "run_differential": -67.0,
    "run_differential_per_game": -1.1754,
    "avg_runs_scored": 4.0877,
    "avg_runs_allowed": 5.2632,
    "offense_index": 0.9149,
    "defense_index": 0.8489,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 2,
      "losses": 8,
      "win_pct": 0.2,
      "avg_runs_scored": 2.8,
      "avg_runs_allowed": 6.7,
      "run_differential": -39.0
    },
    "available": true,
    "quality_score": -0.3466
  },
  "edges": {
    "quality_edge": 0.3048,
    "offense_edge": 0.0403,
    "opponent_offense_edge": -0.0851,
    "defense_strength": -0.0501,
    "opponent_defense_weakness": 0.1511,
    "recent_win_pct_edge": 0.2
  },
  "player_factors": {
    "ip": 1.0141,
    "run_prevention": 0.9762,
    "strikeout": 1.016
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "622663",
    "profile": {
      "available": true,
      "pitcher_id": "622663",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 209.0,
        "k_percent": 22.4,
        "bb_percent": 12.9,
        "woba": 0.361,
        "xwoba": 0.333,
        "sweet_spot_percent": 35.7,
        "barrel_batted_rate": 9.1,
        "hard_hit_percent": 39.6,
        "avg_best_speed": 78.3448,
        "avg_hyper_speed": 93.7394,
        "whiff_percent": 22.2,
        "swing_percent": 46.6
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": -0.582,
        "command_and_miss": -0.3693,
        "regression_edge": 0.8,
        "xwoba_edge": -0.6,
        "barrel_edge": -0.4222,
        "hard_hit_edge": -0.1286,
        "whiff_edge": -0.5,
        "bb_edge": -0.875,
        "pitch_design_score": 0.1461
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "622663",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 100,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 100,
          "pitch_usage": 0.0,
          "release_speed": 92.29264594768587,
          "release_spin_rate": 2282.3936949803738,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 100,
            "pitch_usage": 0.0,
            "release_speed": 92.29264594768587,
            "release_spin_rate": 2282.3936949803738,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.2926,
          "release_spin_rate": 2282.3937,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.1461,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.0437,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.2761,
      "sample_weight": 0.836,
      "run_prevention_factor": 1.0235,
      "strikeout_factor": 0.9818,
      "walk_factor": 1.0585,
      "homer_factor": 1.0476,
      "woba_minus_xwoba": 0.028,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "622663",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 2.0,
        "factor": 1.0196,
        "adjusted": 2
      },
      "predicted_H": {
        "original": 6.0,
        "factor": 1.0196,
        "adjusted": 6
      },
      "predicted_BB": {
        "original": 3.0,
        "factor": 1.0489,
        "adjusted": 3
      },
      "predicted_HR": {
        "original": 1.0,
        "factor": 1.0398,
        "adjusted": 1
      },
      "predicted_SO": {
        "original": 5.0,
        "factor": 0.9848,
        "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": 54.2,
    "ER": 27,
    "H": 55,
    "BB": 31,
    "SO": 54,
    "HR": 7,
    "ERA": 4.445121951219512,
    "WHIP": 1.5731707317073171,
    "K9": 8.890243902439025,
    "HR9": 1.152439024390244,
    "games_pitched": 10,
    "quality_starts": 2,
    "dominant_form": false,
    "struggling_form": true
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-05-16T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "622663",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 100,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 100,
    "pitch_usage": 0.0,
    "release_speed": 92.29264594768587,
    "release_spin_rate": 2282.3936949803738,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 100,
      "pitch_usage": 0.0,
      "release_speed": 92.29264594768587,
      "release_spin_rate": 2282.3936949803738,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.2926,
    "release_spin_rate": 2282.3937,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1461,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.0437,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.5625,
    "last_10": 0.43749999999999994
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6667,
    "prior_weight": 0.3333
  },
  "role": "pitcher",
  "player_id": "622663",
  "report_date": "20260521_O",
  "season_year": 2026,
  "rows_used": 10,
  "reference_playing_time": 5.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 30.0,
        "ER": 10.0,
        "R": 10.0,
        "H": 33.0,
        "BB": 11.0,
        "SO": 27.0,
        "HR": 3.0,
        "BF": 130.0,
        "Pitches": 501.0
      },
      "per_game": {
        "IP": 6.0,
        "ER": 2.0,
        "R": 2.0,
        "H": 6.6,
        "BB": 2.2,
        "SO": 5.4,
        "HR": 0.6,
        "BF": 26.0,
        "Pitches": 100.2
      },
      "rates": {
        "ERA": 3.0,
        "WHIP": 1.4667,
        "ER_per_IP": 0.33333,
        "H_per_IP": 1.1,
        "BB_per_IP": 0.36667,
        "SO_per_IP": 0.9,
        "HR_per_IP": 0.1
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 54.2,
        "ER": 27.0,
        "R": 27.0,
        "H": 55.0,
        "BB": 31.0,
        "SO": 54.0,
        "HR": 7.0,
        "BF": 241.0,
        "Pitches": 966.0
      },
      "per_game": {
        "IP": 5.1,
        "ER": 2.7,
        "R": 2.7,
        "H": 5.5,
        "BB": 3.1,
        "SO": 5.4,
        "HR": 0.7,
        "BF": 24.1,
        "Pitches": 96.6
      },
      "rates": {
        "ERA": 4.4451,
        "WHIP": 1.5732,
        "ER_per_IP": 0.4939,
        "H_per_IP": 1.0061,
        "BB_per_IP": 0.56707,
        "SO_per_IP": 0.9878,
        "HR_per_IP": 0.12805
      }
    },
    "season": {
      "games": 10,
      "totals": {
        "IP": 54.2,
        "ER": 27.0,
        "R": 27.0,
        "H": 55.0,
        "BB": 31.0,
        "SO": 54.0,
        "HR": 7.0,
        "BF": 241.0,
        "Pitches": 966.0
      },
      "per_game": {
        "IP": 5.1,
        "ER": 2.7,
        "R": 2.7,
        "H": 5.5,
        "BB": 3.1,
        "SO": 5.4,
        "HR": 0.7,
        "BF": 24.1,
        "Pitches": 96.6
      },
      "rates": {
        "ERA": 4.4451,
        "WHIP": 1.5732,
        "ER_per_IP": 0.4939,
        "H_per_IP": 1.0061,
        "BB_per_IP": 0.56707,
        "SO_per_IP": 0.9878,
        "HR_per_IP": 0.12805
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 5.2,
    "predicted_ER": 2.426,
    "predicted_H": 5.807,
    "predicted_BB": 2.439,
    "predicted_SO": 5.368,
    "predicted_HR": 0.674,
    "predicted_ERA": 3.8344,
    "predicted_WHIP": 1.448
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4908,
  "form_weight": 0.5092,
  "form_reliability": 0.6667,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6667,
    "prior_weight": 0.3333
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 5.2,
      "form": 5.2,
      "final": 5.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 3.0,
      "form": 2.426,
      "final": 2.7077,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 5.0,
      "form": 5.807,
      "final": 5.4109,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 2.0,
      "form": 2.439,
      "final": 2.2235,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 4.0,
      "form": 5.368,
      "final": 4.6966,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.674,
      "final": 0.3432,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.8344,
      "final": 3.8344,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.448,
      "final": 1.448,
      "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
PitcherJoel Kuhnel
RoleMiddle Reliever
Projection Source-
Savant Quality Score-0.0390
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.1622
Avg Velo92.5807
Avg Spin2237.5605
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO1
Season ERA2.5472
Season WHIP1.0189
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "OAK",
    "games": 54,
    "wins": 27,
    "losses": 27,
    "win_pct": 0.5,
    "runs_scored": 251.0,
    "runs_allowed": 254.0,
    "run_differential": -3.0,
    "run_differential_per_game": -0.0556,
    "avg_runs_scored": 4.6481,
    "avg_runs_allowed": 4.7037,
    "offense_index": 1.0403,
    "defense_index": 0.9499,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 4.6,
      "run_differential": 0.0
    },
    "available": true,
    "quality_score": -0.0418
  },
  "opponent": {
    "team": "LAA",
    "games": 57,
    "wins": 22,
    "losses": 35,
    "win_pct": 0.386,
    "runs_scored": 233.0,
    "runs_allowed": 300.0,
    "run_differential": -67.0,
    "run_differential_per_game": -1.1754,
    "avg_runs_scored": 4.0877,
    "avg_runs_allowed": 5.2632,
    "offense_index": 0.9149,
    "defense_index": 0.8489,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 2,
      "losses": 8,
      "win_pct": 0.2,
      "avg_runs_scored": 2.8,
      "avg_runs_allowed": 6.7,
      "run_differential": -39.0
    },
    "available": true,
    "quality_score": -0.3466
  },
  "edges": {
    "quality_edge": 0.3048,
    "offense_edge": 0.0403,
    "opponent_offense_edge": -0.0851,
    "defense_strength": -0.0501,
    "opponent_defense_weakness": 0.1511,
    "recent_win_pct_edge": 0.2
  },
  "player_factors": {
    "ip": 1.0141,
    "run_prevention": 0.9762,
    "strikeout": 1.016
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "669270",
    "profile": {
      "available": true,
      "pitcher_id": "669270",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 66.0,
        "k_percent": 14.1,
        "bb_percent": 5.6,
        "woba": 0.271,
        "xwoba": 0.318,
        "sweet_spot_percent": 25.5,
        "barrel_batted_rate": 1.8,
        "hard_hit_percent": 41.8,
        "avg_best_speed": 79.1436,
        "avg_hyper_speed": 94.2431,
        "whiff_percent": 22.2,
        "swing_percent": 48.8
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": 0.3115,
        "command_and_miss": -0.5379,
        "regression_edge": -1.3429,
        "xwoba_edge": -0.1714,
        "barrel_edge": 1.2,
        "hard_hit_edge": -0.4429,
        "whiff_edge": -0.5,
        "bb_edge": 0.95,
        "pitch_design_score": 0.1622
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "669270",
        "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": 92.58073369019765,
          "release_spin_rate": 2237.5604665680094,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 92.58073369019765,
            "release_spin_rate": 2237.5604665680094,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.5807,
          "release_spin_rate": 2237.5605,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.1622,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.1589,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.039,
      "sample_weight": 0.45,
      "run_prevention_factor": 1.0033,
      "strikeout_factor": 0.9689,
      "walk_factor": 0.9658,
      "homer_factor": 0.9671,
      "woba_minus_xwoba": -0.047,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "669270",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 1.0015,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 1.0015,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9846,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9852,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 0.986,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 10.0,
    "ER": 3,
    "H": 6,
    "BB": 4,
    "SO": 7,
    "HR": 1,
    "ERA": 2.7,
    "WHIP": 1.0,
    "K9": 6.3,
    "HR9": 0.9,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-05-19T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "669270",
  "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": 92.58073369019765,
    "release_spin_rate": 2237.5604665680094,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 92.58073369019765,
      "release_spin_rate": 2237.5604665680094,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.5807,
    "release_spin_rate": 2237.5605,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1622,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.1589,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 3.5,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4118,
    "prior_weight": 0.5882
  },
  "role": "pitcher",
  "player_id": "669270",
  "report_date": "20260521_O",
  "season_year": 2026,
  "rows_used": 18,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.0,
        "ER": 2.0,
        "R": 2.0,
        "H": 4.0,
        "BB": 0.0,
        "SO": 5.0,
        "HR": 1.0,
        "BF": 19.0,
        "Pitches": 71.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.4,
        "R": 0.4,
        "H": 0.8,
        "BB": 0.0,
        "SO": 1.0,
        "HR": 0.2,
        "BF": 3.8,
        "Pitches": 14.2
      },
      "rates": {
        "ERA": 4.5,
        "WHIP": 1.0,
        "ER_per_IP": 0.5,
        "H_per_IP": 1.0,
        "BB_per_IP": 0.0,
        "SO_per_IP": 1.25,
        "HR_per_IP": 0.25
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.0,
        "ER": 3.0,
        "R": 3.0,
        "H": 6.0,
        "BB": 4.0,
        "SO": 7.0,
        "HR": 1.0,
        "BF": 41.0,
        "Pitches": 153.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3,
        "R": 0.3,
        "H": 0.6,
        "BB": 0.4,
        "SO": 0.7,
        "HR": 0.1,
        "BF": 4.1,
        "Pitches": 15.3
      },
      "rates": {
        "ERA": 2.7,
        "WHIP": 1.0,
        "ER_per_IP": 0.3,
        "H_per_IP": 0.6,
        "BB_per_IP": 0.4,
        "SO_per_IP": 0.7,
        "HR_per_IP": 0.1
      }
    },
    "season": {
      "games": 18,
      "totals": {
        "IP": 17.2,
        "ER": 5.0,
        "R": 5.0,
        "H": 14.0,
        "BB": 4.0,
        "SO": 10.0,
        "HR": 1.0,
        "BF": 71.0,
        "Pitches": 240.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2778,
        "R": 0.2778,
        "H": 0.7778,
        "BB": 0.2222,
        "SO": 0.5556,
        "HR": 0.0556,
        "BF": 3.9444,
        "Pitches": 13.3333
      },
      "rates": {
        "ERA": 2.5472,
        "WHIP": 1.0189,
        "ER_per_IP": 0.28302,
        "H_per_IP": 0.79245,
        "BB_per_IP": 0.22642,
        "SO_per_IP": 0.56604,
        "HR_per_IP": 0.0566
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.409,
    "predicted_H": 0.836,
    "predicted_BB": 0.279,
    "predicted_SO": 0.881,
    "predicted_HR": 0.133,
    "predicted_ERA": 3.9261,
    "predicted_WHIP": 1.1882
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5985,
  "form_weight": 0.4015,
  "form_reliability": 0.4118,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 3.5,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4118,
    "prior_weight": 0.5882
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.409,
      "final": 0.1642,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.836,
      "final": 0.9342,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.279,
      "final": 0.112,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.881,
      "final": 0.9522,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.133,
      "final": 0.0534,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.9261,
      "final": 3.9261,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1882,
      "final": 1.1882,
      "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
PitcherScott Barlow
RoleMiddle Reliever
Projection Source-
Savant Quality Score0.1947
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.2800
Avg Velo81.1266
Avg Spin2380.1499
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO1
Season ERA1.5429
Season WHIP0.6857
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "OAK",
    "games": 54,
    "wins": 27,
    "losses": 27,
    "win_pct": 0.5,
    "runs_scored": 251.0,
    "runs_allowed": 254.0,
    "run_differential": -3.0,
    "run_differential_per_game": -0.0556,
    "avg_runs_scored": 4.6481,
    "avg_runs_allowed": 4.7037,
    "offense_index": 1.0403,
    "defense_index": 0.9499,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 4.6,
      "run_differential": 0.0
    },
    "available": true,
    "quality_score": -0.0418
  },
  "opponent": {
    "team": "LAA",
    "games": 57,
    "wins": 22,
    "losses": 35,
    "win_pct": 0.386,
    "runs_scored": 233.0,
    "runs_allowed": 300.0,
    "run_differential": -67.0,
    "run_differential_per_game": -1.1754,
    "avg_runs_scored": 4.0877,
    "avg_runs_allowed": 5.2632,
    "offense_index": 0.9149,
    "defense_index": 0.8489,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 2,
      "losses": 8,
      "win_pct": 0.2,
      "avg_runs_scored": 2.8,
      "avg_runs_allowed": 6.7,
      "run_differential": -39.0
    },
    "available": true,
    "quality_score": -0.3466
  },
  "edges": {
    "quality_edge": 0.3048,
    "offense_edge": 0.0403,
    "opponent_offense_edge": -0.0851,
    "defense_strength": -0.0501,
    "opponent_defense_weakness": 0.1511,
    "recent_win_pct_edge": 0.2
  },
  "player_factors": {
    "ip": 1.0141,
    "run_prevention": 0.9762,
    "strikeout": 1.016
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "605130",
    "profile": {
      "available": true,
      "pitcher_id": "605130",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 91.0,
        "k_percent": 21.7,
        "bb_percent": 10.9,
        "woba": 0.254,
        "xwoba": 0.287,
        "sweet_spot_percent": 31.0,
        "barrel_batted_rate": 5.2,
        "hard_hit_percent": 31.0,
        "avg_best_speed": 76.4122,
        "avg_hyper_speed": 92.6781,
        "whiff_percent": 35.8,
        "swing_percent": 44.2
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": 0.8111,
        "command_and_miss": 0.3657,
        "regression_edge": -0.9429,
        "xwoba_edge": 0.7143,
        "barrel_edge": 0.4444,
        "hard_hit_edge": 1.1,
        "whiff_edge": 1.4429,
        "bb_edge": -0.375,
        "pitch_design_score": -0.28
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "605130",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 14,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 14,
          "pitch_usage": 0.0,
          "release_speed": 81.12664150798228,
          "release_spin_rate": 2380.1498898283676,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 14,
            "pitch_usage": 0.0,
            "release_speed": 81.12664150798228,
            "release_spin_rate": 2380.1498898283676,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 81.1266,
          "release_spin_rate": 2380.1499,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "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.1947,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9835,
      "strikeout_factor": 1.0234,
      "walk_factor": 1.0135,
      "homer_factor": 0.9546,
      "woba_minus_xwoba": -0.033,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "605130",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9926,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9926,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0061,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9796,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0105,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 10.0,
    "ER": 3,
    "H": 4,
    "BB": 2,
    "SO": 9,
    "HR": 0,
    "ERA": 2.7,
    "WHIP": 0.6,
    "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-05-20T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "605130",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 14,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 14,
    "pitch_usage": 0.0,
    "release_speed": 81.12664150798228,
    "release_spin_rate": 2380.1498898283676,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 14,
      "pitch_usage": 0.0,
      "release_speed": 81.12664150798228,
      "release_spin_rate": 2380.1498898283676,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 81.1266,
    "release_spin_rate": 2380.1499,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.623,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4804,
    "prior_weight": 0.5196
  },
  "role": "pitcher",
  "player_id": "605130",
  "report_date": "20260521_O",
  "season_year": 2026,
  "rows_used": 22,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.2,
        "ER": 1.0,
        "R": 1.0,
        "H": 4.0,
        "BB": 0.0,
        "SO": 4.0,
        "HR": 0.0,
        "BF": 20.0,
        "Pitches": 74.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.8,
        "BB": 0.0,
        "SO": 0.8,
        "HR": 0.0,
        "BF": 4.0,
        "Pitches": 14.8
      },
      "rates": {
        "ERA": 1.9286,
        "WHIP": 0.8571,
        "ER_per_IP": 0.21429,
        "H_per_IP": 0.85714,
        "BB_per_IP": 0.0,
        "SO_per_IP": 0.85714,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.0,
        "ER": 3.0,
        "R": 3.0,
        "H": 4.0,
        "BB": 2.0,
        "SO": 9.0,
        "HR": 0.0,
        "BF": 40.0,
        "Pitches": 152.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3,
        "R": 0.3,
        "H": 0.4,
        "BB": 0.2,
        "SO": 0.9,
        "HR": 0.0,
        "BF": 4.0,
        "Pitches": 15.2
      },
      "rates": {
        "ERA": 2.7,
        "WHIP": 0.6,
        "ER_per_IP": 0.3,
        "H_per_IP": 0.4,
        "BB_per_IP": 0.2,
        "SO_per_IP": 0.9,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 22,
      "totals": {
        "IP": 23.1,
        "ER": 4.0,
        "R": 5.0,
        "H": 9.0,
        "BB": 7.0,
        "SO": 21.0,
        "HR": 1.0,
        "BF": 91.0,
        "Pitches": 337.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.1818,
        "R": 0.2273,
        "H": 0.4091,
        "BB": 0.3182,
        "SO": 0.9545,
        "HR": 0.0455,
        "BF": 4.1364,
        "Pitches": 15.3182
      },
      "rates": {
        "ERA": 1.5429,
        "WHIP": 0.6857,
        "ER_per_IP": 0.17143,
        "H_per_IP": 0.38571,
        "BB_per_IP": 0.3,
        "SO_per_IP": 0.9,
        "HR_per_IP": 0.04286
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.358,
    "predicted_H": 0.779,
    "predicted_BB": 0.258,
    "predicted_SO": 0.917,
    "predicted_HR": 0.072,
    "predicted_ERA": 3.2216,
    "predicted_WHIP": 1.0366
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5695,
  "form_weight": 0.4305,
  "form_reliability": 0.4804,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.623,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4804,
    "prior_weight": 0.5196
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.358,
      "final": 0.1541,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.779,
      "final": 0.3353,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.258,
      "final": 0.1111,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.917,
      "final": 0.9643,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.072,
      "final": 0.031,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.2216,
      "final": 3.2216,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.0366,
      "final": 1.0366,
      "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
PitcherHogan Harris
RoleMiddle Reliever
Projection Source-
Savant Quality Score0.0980
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0805
Avg Velo88.2468
Avg Spin2372.5333
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO1
Season ERA3
Season WHIP1.6667
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "OAK",
    "games": 54,
    "wins": 27,
    "losses": 27,
    "win_pct": 0.5,
    "runs_scored": 251.0,
    "runs_allowed": 254.0,
    "run_differential": -3.0,
    "run_differential_per_game": -0.0556,
    "avg_runs_scored": 4.6481,
    "avg_runs_allowed": 4.7037,
    "offense_index": 1.0403,
    "defense_index": 0.9499,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 4.6,
      "run_differential": 0.0
    },
    "available": true,
    "quality_score": -0.0418
  },
  "opponent": {
    "team": "LAA",
    "games": 57,
    "wins": 22,
    "losses": 35,
    "win_pct": 0.386,
    "runs_scored": 233.0,
    "runs_allowed": 300.0,
    "run_differential": -67.0,
    "run_differential_per_game": -1.1754,
    "avg_runs_scored": 4.0877,
    "avg_runs_allowed": 5.2632,
    "offense_index": 0.9149,
    "defense_index": 0.8489,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 2,
      "losses": 8,
      "win_pct": 0.2,
      "avg_runs_scored": 2.8,
      "avg_runs_allowed": 6.7,
      "run_differential": -39.0
    },
    "available": true,
    "quality_score": -0.3466
  },
  "edges": {
    "quality_edge": 0.3048,
    "offense_edge": 0.0403,
    "opponent_offense_edge": -0.0851,
    "defense_strength": -0.0501,
    "opponent_defense_weakness": 0.1511,
    "recent_win_pct_edge": 0.2
  },
  "player_factors": {
    "ip": 1.0141,
    "run_prevention": 0.9762,
    "strikeout": 1.016
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "663687",
    "profile": {
      "available": true,
      "pitcher_id": "663687",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 108.0,
        "k_percent": 22.9,
        "bb_percent": 15.6,
        "woba": 0.329,
        "xwoba": 0.309,
        "sweet_spot_percent": 26.2,
        "barrel_batted_rate": 4.6,
        "hard_hit_percent": 26.2,
        "avg_best_speed": 73.7875,
        "avg_hyper_speed": 92.0782,
        "whiff_percent": 25.3,
        "swing_percent": 43.4
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": 0.4457,
        "command_and_miss": -0.3171,
        "regression_edge": 0.5714,
        "xwoba_edge": 0.0857,
        "barrel_edge": 0.5778,
        "hard_hit_edge": 1.7857,
        "whiff_edge": -0.0571,
        "bb_edge": -1.55,
        "pitch_design_score": -0.0805
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "663687",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 14,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 14,
          "pitch_usage": 0.0,
          "release_speed": 88.24678201577024,
          "release_spin_rate": 2372.5332567758023,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 14,
            "pitch_usage": 0.0,
            "release_speed": 88.24678201577024,
            "release_spin_rate": 2372.5332567758023,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.2468,
          "release_spin_rate": 2372.5333,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.0805,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.5747,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.098,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9917,
      "strikeout_factor": 0.9995,
      "walk_factor": 1.0558,
      "homer_factor": 0.9459,
      "woba_minus_xwoba": 0.02,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "663687",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9963,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9963,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0251,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9757,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 0.9998,
        "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": 4,
    "H": 11,
    "BB": 6,
    "SO": 10,
    "HR": 1,
    "ERA": 4.695652173913044,
    "WHIP": 2.217391304347826,
    "K9": 11.73913043478261,
    "HR9": 1.173913043478261,
    "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-05-20T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "663687",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 14,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 14,
    "pitch_usage": 0.0,
    "release_speed": 88.24678201577024,
    "release_spin_rate": 2372.5332567758023,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 14,
      "pitch_usage": 0.0,
      "release_speed": 88.24678201577024,
      "release_spin_rate": 2372.5332567758023,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.2468,
    "release_spin_rate": 2372.5333,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0805,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.5747,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.755,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4874,
    "prior_weight": 0.5126
  },
  "role": "pitcher",
  "player_id": "663687",
  "report_date": "20260521_O",
  "season_year": 2026,
  "rows_used": 26,
  "reference_playing_time": 0.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.1,
        "ER": 2.0,
        "R": 2.0,
        "H": 4.0,
        "BB": 2.0,
        "SO": 6.0,
        "HR": 0.0,
        "BF": 20.0,
        "Pitches": 77.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.4,
        "H": 0.8,
        "BB": 0.4,
        "SO": 1.2,
        "HR": 0.0,
        "BF": 4.0,
        "Pitches": 15.4
      },
      "rates": {
        "ERA": 4.1538,
        "WHIP": 1.3846,
        "ER_per_IP": 0.46154,
        "H_per_IP": 0.92308,
        "BB_per_IP": 0.46154,
        "SO_per_IP": 1.38462,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 7.2,
        "ER": 4.0,
        "R": 4.0,
        "H": 11.0,
        "BB": 6.0,
        "SO": 10.0,
        "HR": 1.0,
        "BF": 41.0,
        "Pitches": 162.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.4,
        "R": 0.4,
        "H": 1.1,
        "BB": 0.6,
        "SO": 1.0,
        "HR": 0.1,
        "BF": 4.1,
        "Pitches": 16.2
      },
      "rates": {
        "ERA": 4.6957,
        "WHIP": 2.2174,
        "ER_per_IP": 0.52174,
        "H_per_IP": 1.43478,
        "BB_per_IP": 0.78261,
        "SO_per_IP": 1.30435,
        "HR_per_IP": 0.13043
      }
    },
    "season": {
      "games": 26,
      "totals": {
        "IP": 24.0,
        "ER": 8.0,
        "R": 9.0,
        "H": 21.0,
        "BB": 19.0,
        "SO": 26.0,
        "HR": 2.0,
        "BF": 114.0,
        "Pitches": 461.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3077,
        "R": 0.3462,
        "H": 0.8077,
        "BB": 0.7308,
        "SO": 1.0,
        "HR": 0.0769,
        "BF": 4.3846,
        "Pitches": 17.7308
      },
      "rates": {
        "ERA": 3.0,
        "WHIP": 1.6667,
        "ER_per_IP": 0.33333,
        "H_per_IP": 0.875,
        "BB_per_IP": 0.79167,
        "SO_per_IP": 1.08333,
        "HR_per_IP": 0.08333
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 0.2,
    "predicted_ER": 0.279,
    "predicted_H": 0.61,
    "predicted_BB": 0.304,
    "predicted_SO": 0.673,
    "predicted_HR": 0.058,
    "predicted_ERA": 4.1773,
    "predicted_WHIP": 1.5197
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5666,
  "form_weight": 0.4334,
  "form_reliability": 0.4874,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.755,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4874,
    "prior_weight": 0.5126
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.1,
      "form": 0.2,
      "final": 0.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.279,
      "final": 0.1209,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.61,
      "final": 0.2644,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.304,
      "final": 0.1318,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.673,
      "final": 0.8583,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.058,
      "final": 0.0251,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.1773,
      "final": 4.1773,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.5197,
      "final": 1.5197,
      "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."
}
Shea Langeliers (669127) · BATTER · C · Team OAK
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 199
All-history rows before 20260521: 199
System season_avg: 0.3310
Data season_avg (2026 season-to-date): 0.3313
Diff (system - data): -0.0003
System opponent_avg: 0.5450

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2260.0000.000Hitting_2B0.2260.000-0.2260.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.5003.00010.000Hitting_AB4.1713.000-1.1710.000
predicted_AVG0.2450.0000.300Hitting_AVG0.3310.000-0.3310.000
predicted_BB0.4721.0001.000Hitting_BB0.4720.0000.5281.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H1.1000.0003.000Hitting_H1.3820.000-1.3820.000
predicted_HR0.1900.0001.000Hitting_HR0.2760.000-0.2760.000
predicted_OBP0.3620.2500.364Hitting_OBP0.4010.400-0.151-0.150
predicted_R0.7940.0002.000Hitting_R0.7941.000-0.794-1.000
predicted_RBI0.5300.0001.000Hitting_RBI0.6330.000-0.6330.000
predicted_SLG0.4490.0000.600Hitting_SLG0.5840.000-0.5840.000
predicted_SO0.9151.0002.000Hitting_SO0.9150.0000.0851.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics5
Deboosted Metrics6
Better Metrics4
Worse Metrics7
Biggest Boostpredicted_BB: 0.4720 -> 1.0000 (boost 0.5280, better)
Biggest Deboostpredicted_AB: 4.5000 -> 3.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_blend11110101predicted_AB: 4.5000 -> 10.0439 (boost 5.5439, 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_snapshot55050predicted_R: 1.9170 -> 2.0301 (boost 0.1131, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling72534predicted_HR: 0.5349 -> 1.0000 (boost 0.4651, better)predicted_BB: 1.4835 -> 1.0000 (deboost -0.4835, worse)AB rounded to 10 (raw=10.04), rates preserved: AVG=0.280 HR/AB=0.053
5bvp_blend00000--Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.545)
6consistency_constraints00000--Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context32121predicted_SLG: 0.4865 -> 0.6000 (boost 0.1135, better)predicted_OBP: 0.3726 -> 0.3640 (deboost -0.0086, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference60615-predicted_AB: 10.0000 -> 3.0000 (deboost -7.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final31212predicted_OBP: 0.3640 -> 0.3726 (boost 0.0086, better)predicted_SLG: 0.6000 -> 0.4865 (deboost -0.1135, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "669127",
  "player_name": "Shea Langeliers",
  "position": "C",
  "team": "OAK",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.226,
        "predicted_3B": 0.0,
        "predicted_AB": 4.5,
        "predicted_AVG": 0.245,
        "predicted_BB": 0.472,
        "predicted_H": 1.1,
        "predicted_HR": 0.19,
        "predicted_OBP": 0.362,
        "predicted_R": 0.794,
        "predicted_RBI": 0.53,
        "predicted_SLG": 0.449,
        "predicted_SO": 0.915
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.4676,
        "predicted_3B": 0.0009,
        "predicted_AB": 10.0439,
        "predicted_AVG": 0.2602,
        "predicted_BB": 1.4676,
        "predicted_H": 2.7186,
        "predicted_HBP": 0.345,
        "predicted_HR": 0.5167,
        "predicted_OBP": 0.3743,
        "predicted_R": 1.917,
        "predicted_RBI": 1.25,
        "predicted_SLG": 0.4665,
        "predicted_SO": 2.362
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.226,
          "after": 0.4676,
          "delta": 0.2416,
          "percent_delta": 1.069,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.5,
          "after": 10.0439,
          "delta": 5.5439,
          "percent_delta": 1.232,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.245,
          "after": 0.2602,
          "delta": 0.0152,
          "percent_delta": 0.062,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.472,
          "after": 1.4676,
          "delta": 0.9956,
          "percent_delta": 2.1093,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.1,
          "after": 2.7186,
          "delta": 1.6186,
          "percent_delta": 1.4715,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.19,
          "after": 0.5167,
          "delta": 0.3267,
          "percent_delta": 1.7195,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.362,
          "after": 0.3743,
          "delta": 0.0123,
          "percent_delta": 0.034,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.794,
          "after": 1.917,
          "delta": 1.123,
          "percent_delta": 1.4144,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.53,
          "after": 1.25,
          "delta": 0.72,
          "percent_delta": 1.3585,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.449,
          "after": 0.4665,
          "delta": 0.0175,
          "percent_delta": 0.039,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.915,
          "after": 2.362,
          "delta": 1.447,
          "percent_delta": 1.5814,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 11,
        "boosted_metrics": 11,
        "deboosted_metrics": 0,
        "better_metrics": 10,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.5,
          "after": 10.0439,
          "delta": 5.5439,
          "percent_delta": 1.232,
          "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": 2,
        "last_10": 3,
        "season": 44
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.4676,
        "predicted_3B": 0.0009,
        "predicted_AB": 10.0439,
        "predicted_AVG": 0.28,
        "predicted_BB": 1.4835,
        "predicted_H": 2.8118,
        "predicted_HBP": 0.345,
        "predicted_HR": 0.5349,
        "predicted_OBP": 0.3726,
        "predicted_R": 2.0301,
        "predicted_RBI": 1.3237,
        "predicted_SLG": 0.4865,
        "predicted_SO": 2.3365
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.4676,
          "after": 0.4676,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 10.0439,
          "after": 10.0439,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2602,
          "after": 0.28,
          "delta": 0.0198,
          "percent_delta": 0.0761,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.4676,
          "after": 1.4835,
          "delta": 0.0159,
          "percent_delta": 0.0108,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.7186,
          "after": 2.8118,
          "delta": 0.0932,
          "percent_delta": 0.0343,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.345,
          "after": 0.345,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.5167,
          "after": 0.5349,
          "delta": 0.0182,
          "percent_delta": 0.0352,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3743,
          "after": 0.3726,
          "delta": -0.0017,
          "percent_delta": -0.0045,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.917,
          "after": 2.0301,
          "delta": 0.1131,
          "percent_delta": 0.059,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.25,
          "after": 1.3237,
          "delta": 0.0737,
          "percent_delta": 0.059,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4665,
          "after": 0.4865,
          "delta": 0.02,
          "percent_delta": 0.0429,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.362,
          "after": 2.3365,
          "delta": -0.0255,
          "percent_delta": -0.0108,
          "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": 1.917,
          "after": 2.0301,
          "delta": 0.1131,
          "percent_delta": 0.059,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 10 (raw=10.04), rates preserved: AVG=0.280 HR/AB=0.053",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 10.0,
        "predicted_BB": 1.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.4676,
          "after": 0.0,
          "delta": -0.4676,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 10.0439,
          "after": 10.0,
          "delta": -0.0439,
          "percent_delta": -0.0044,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.4835,
          "after": 1.0,
          "delta": -0.4835,
          "percent_delta": -0.3259,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.8118,
          "after": 3.0,
          "delta": 0.1882,
          "percent_delta": 0.0669,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.345,
          "after": 0.0,
          "delta": -0.345,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.5349,
          "after": 1.0,
          "delta": 0.4651,
          "percent_delta": 0.8695,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.3237,
          "after": 1.0,
          "delta": -0.3237,
          "percent_delta": -0.2445,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.3365,
          "after": 2.0,
          "delta": -0.3365,
          "percent_delta": -0.144,
          "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_HR",
          "before": 0.5349,
          "after": 1.0,
          "delta": 0.4651,
          "percent_delta": 0.8695,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.4835,
          "after": 1.0,
          "delta": -0.4835,
          "percent_delta": -0.3259,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.545)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 10.0,
        "predicted_BB": 1.0,
        "predicted_H": 3.0,
        "predicted_HR": 1.0,
        "predicted_RBI": 1.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": 10.0,
          "after": 10.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": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.8927,
        "bvp": 0.1073
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 10.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 2.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": 10.0,
          "after": 10.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": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 2.0301,
          "after": 2.0,
          "delta": -0.0301,
          "percent_delta": -0.0148,
          "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_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 10.0,
        "predicted_AVG": 0.3,
        "predicted_BB": 1.0,
        "predicted_H": 3.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.364,
        "predicted_R": 2.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.6,
        "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": 10.0,
          "after": 10.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.28,
          "after": 0.3,
          "delta": 0.02,
          "percent_delta": 0.0714,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3726,
          "after": 0.364,
          "delta": -0.0086,
          "percent_delta": -0.0231,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 2.0,
          "after": 2.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.4865,
          "after": 0.6,
          "delta": 0.1135,
          "percent_delta": 0.2333,
          "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.4865,
          "after": 0.6,
          "delta": 0.1135,
          "percent_delta": 0.2333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3726,
          "after": 0.364,
          "delta": -0.0086,
          "percent_delta": -0.0231,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 10.0,
          "after": 3.0,
          "delta": -7.0,
          "percent_delta": -0.7,
          "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": 0.0,
          "delta": -3.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": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.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": 6,
        "boosted_metrics": 0,
        "deboosted_metrics": 6,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 10.0,
          "after": 3.0,
          "delta": -7.0,
          "percent_delta": -0.7,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.28,
        "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.3726,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4865,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.3,
          "after": 0.28,
          "delta": -0.02,
          "percent_delta": -0.0668,
          "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.364,
          "after": 0.3726,
          "delta": 0.0086,
          "percent_delta": 0.0237,
          "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.6,
          "after": 0.4865,
          "delta": -0.1135,
          "percent_delta": -0.1892,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.364,
          "after": 0.3726,
          "delta": 0.0086,
          "percent_delta": 0.0237,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.6,
          "after": 0.4865,
          "delta": -0.1135,
          "percent_delta": -0.1892,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.226,
        "after": 0.0,
        "delta": -0.226,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.5,
        "after": 3.0,
        "delta": -1.5,
        "percent_delta": -0.3333,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.245,
        "after": 0.28,
        "delta": 0.035,
        "percent_delta": 0.1429,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.472,
        "after": 1.0,
        "delta": 0.528,
        "percent_delta": 1.1186,
        "direction": "boost",
        "projection_effect": "better",
        "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.362,
        "after": 0.3726,
        "delta": 0.0106,
        "percent_delta": 0.0293,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.794,
        "after": 0.0,
        "delta": -0.794,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.53,
        "after": 0.0,
        "delta": -0.53,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.449,
        "after": 0.4865,
        "delta": 0.0375,
        "percent_delta": 0.0835,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.915,
        "after": 1.0,
        "delta": 0.085,
        "percent_delta": 0.0929,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 5,
      "deboosted_metrics": 6,
      "better_metrics": 4,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.472,
        "after": 1.0,
        "delta": 0.528,
        "percent_delta": 1.1186,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.5,
        "after": 3.0,
        "delta": -1.5,
        "percent_delta": -0.3333,
        "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.226-
predicted_3B0.000-
predicted_AB4.500-
predicted_AVG0.245-
predicted_BB0.472-
predicted_H1.100-
predicted_HR0.190-
predicted_OBP0.362-
predicted_R0.794-
predicted_RBI0.530-
predicted_SLG0.449-
predicted_SO0.915-
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.4680.242
predicted_3B0.0010.001
predicted_AB10.0445.544
predicted_AVG0.2600.015
predicted_BB1.4680.996
predicted_H2.7191.619
predicted_HBP0.345-
predicted_HR0.5170.327
predicted_OBP0.3740.012
predicted_R1.9171.123
predicted_RBI1.2500.720
predicted_SLG0.4670.018
predicted_SO2.3621.447
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.4680.000
predicted_3B0.0010.000
predicted_AB10.0440.000
predicted_AVG0.2800.020
predicted_BB1.4840.016
predicted_H2.8120.093
predicted_HBP0.3450.000
predicted_HR0.5350.018
predicted_OBP0.373-0.002
predicted_R2.0300.113
predicted_RBI1.3240.074
predicted_SLG0.4860.020
predicted_SO2.337-0.026
4. ab_floor_and_scaling

AB rounded to 10 (raw=10.04), rates preserved: AVG=0.280 HR/AB=0.053

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB10.000-
BB1.000-
H3.000-
HBP0.000-
HR1.000-
RBI1.000-
SB0.000-
SO2.000-
5. bvp_blend

Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.545)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB10.0000.000
BB1.0000.000
H3.0000.000
HR1.0000.000
RBI1.0000.000
SO2.0000.000
6. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB10.0000.000
BB1.0000.000
CS0.000-
H3.0000.000
HBP0.0000.000
HR1.0000.000
R2.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
7. 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.468
predicted_3B0.000-0.001
predicted_AB10.000-0.044
predicted_AVG0.3000.020
predicted_BB1.000-0.484
predicted_H3.0000.188
predicted_HR1.0000.465
predicted_OBP0.364-0.009
predicted_R2.000-0.030
predicted_RBI1.000-0.324
predicted_SLG0.6000.113
predicted_SO2.000-0.337
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-7.000
BB1.0000.000
CS0.0000.000
H0.000-3.000
HBP0.0000.000
HR0.000-1.000
PA4.000-
R0.000-2.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: 199
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.202-19.0000.0000.0000.0000.0000.0005.0008.0008.0000.00000.34480.00000.00000.00000.00000.42100.4210
last_100.203-39.0003.0000.0000.0000.0000.0007.00015.00012.0000.07690.35710.07690.07690.00000.00000.38460.3077
season0.6044-830.000275.00045.0000.00055.000126.000158.00094.000182.0000.33130.40110.58430.33130.06630.15180.11330.2193
Weighted Prediction From Real Data
MetricValue
predicted_2B0.7740
predicted_3B0.0020
predicted_AB17.0740
predicted_AVG0.2794
predicted_BB2.7300
predicted_H4.7710
predicted_HBP0.3450
predicted_HR0.9310
predicted_OBP0.3900
predicted_R3.3410
predicted_RBI2.1630
predicted_SLG0.4886
predicted_SO4.1970
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.22600.77400.4676model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB4.500017.074010.0439model_form_blend
predicted_AVG0.24500.27940.2602model_form_blend
predicted_BB0.47202.73001.4676model_form_blend
predicted_H1.10004.77102.7186model_form_blend
predicted_HBP-0.34500.3450form_only
predicted_HR0.19000.93100.5167model_form_blend
predicted_OBP0.36200.39000.3743model_form_blend
predicted_R0.79403.34101.9170model_form_blend
predicted_RBI0.53002.16301.2500model_form_blend
predicted_SLG0.44900.48860.4665model_form_blend
predicted_SO0.91504.19702.3620model_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 date199
Season rows before report date199
Report year2026
Profile rows used199
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.331

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_AB3
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP2
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
allPositionsPlayedC
gameID20260520_OAK@LAA
game_typefull
mlbID669127
playerID669127
playerNameShea Langeliers
posC
startedTrue
startingPositionC
teamOAK
teamID20
game_date2026-05-20
sl_k_percent20.7
sl_bb_percent9.6
sl_woba0.425
sl_xwoba0.413
sl_xba0.313
sl_xslg0.593
sl_sweet_spot_percent38.0
sl_barrel_batted_rate15.3
sl_hard_hit_percent47.4
sl_exit_velocity_avg92.4
sl_launch_angle_avg20.0
sl_whiff_percent25.7
sl_swing_percent51.0
Nick Kurtz (701762) · BATTER · 1B · Team OAK
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 218
All-history rows before 20260521: 218
System season_avg: 0.2860
Data season_avg (2026 season-to-date): 0.2857
Diff (system - data): 0.0003
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.2250.0001.000Hitting_2B0.2250.000-0.2250.000
predicted_3B0.0230.0000.000Hitting_3B0.0230.000-0.0230.000
predicted_AB3.8703.0009.000Hitting_AB3.6613.000-0.6610.000
predicted_AVG0.2500.3330.333Hitting_AVG0.2860.3330.0480.000
predicted_BB0.9681.0002.000Hitting_BB0.9682.0000.032-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0180.000-0.0180.000
predicted_H0.9701.0003.000Hitting_H1.0461.000-0.0460.000
predicted_HR0.1701.0000.000Hitting_HR0.1740.0000.8261.000
predicted_OBP0.4010.5000.455Hitting_OBP0.4400.6000.060-0.100
predicted_R0.7021.0002.000Hitting_R0.7022.0000.298-1.000
predicted_RBI0.8501.0003.000Hitting_RBI0.7431.0000.2570.000
predicted_SLG0.4631.3330.444Hitting_SLG0.5030.3330.8311.000
predicted_SO1.3211.0003.000Hitting_SO1.3211.000-0.3210.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics9
Boosted Metrics6
Deboosted Metrics3
Better Metrics7
Worse Metrics2
Biggest Boostpredicted_HR: 0.1700 -> 1.0000 (boost 0.8300, better)
Biggest Deboostpredicted_AB: 3.8700 -> 3.0000 (deboost -0.8700, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend11110101predicted_AB: 3.8700 -> 9.0826 (boost 5.2126, 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_snapshot66060predicted_RBI: 2.5229 -> 2.6718 (boost 0.1489, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling84435predicted_RBI: 2.6718 -> 3.0000 (boost 0.3282, better)predicted_HR: 0.3813 -> 0.0000 (deboost -0.3813, worse)AB rounded to 9 (raw=9.08), rates preserved: AVG=0.315 HR/AB=0.042
5bvp_blend00000--Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.200)
6consistency_constraints00000--Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context32121predicted_AVG: 0.3155 -> 0.3330 (boost 0.0175, better)predicted_SLG: 0.5269 -> 0.4440 (deboost -0.0829, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference81726predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 9.0000 -> 3.0000 (deboost -6.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final31212predicted_SLG: 0.4440 -> 0.5269 (boost 0.0829, better)predicted_AVG: 0.3330 -> 0.3155 (deboost -0.0175, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "701762",
  "player_name": "Nick Kurtz",
  "position": "1B",
  "team": "OAK",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.225,
        "predicted_3B": 0.023,
        "predicted_AB": 3.87,
        "predicted_AVG": 0.25,
        "predicted_BB": 0.968,
        "predicted_H": 0.97,
        "predicted_HR": 0.17,
        "predicted_OBP": 0.401,
        "predicted_R": 0.702,
        "predicted_RBI": 0.85,
        "predicted_SLG": 0.463,
        "predicted_SO": 1.321
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.6794,
        "predicted_3B": 0.0486,
        "predicted_AB": 9.0826,
        "predicted_AVG": 0.2818,
        "predicted_BB": 2.118,
        "predicted_H": 2.7701,
        "predicted_HBP": 0.147,
        "predicted_HR": 0.3683,
        "predicted_OBP": 0.4243,
        "predicted_R": 1.9099,
        "predicted_RBI": 2.5229,
        "predicted_SLG": 0.4929,
        "predicted_SO": 2.906
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.225,
          "after": 0.6794,
          "delta": 0.4544,
          "percent_delta": 2.0196,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.023,
          "after": 0.0486,
          "delta": 0.0256,
          "percent_delta": 1.113,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.87,
          "after": 9.0826,
          "delta": 5.2126,
          "percent_delta": 1.3469,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2818,
          "delta": 0.0318,
          "percent_delta": 0.1272,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.968,
          "after": 2.118,
          "delta": 1.15,
          "percent_delta": 1.188,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.97,
          "after": 2.7701,
          "delta": 1.8001,
          "percent_delta": 1.8558,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.17,
          "after": 0.3683,
          "delta": 0.1983,
          "percent_delta": 1.1665,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.401,
          "after": 0.4243,
          "delta": 0.0233,
          "percent_delta": 0.0581,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.702,
          "after": 1.9099,
          "delta": 1.2079,
          "percent_delta": 1.7207,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.85,
          "after": 2.5229,
          "delta": 1.6729,
          "percent_delta": 1.9681,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.463,
          "after": 0.4929,
          "delta": 0.0299,
          "percent_delta": 0.0646,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.321,
          "after": 2.906,
          "delta": 1.585,
          "percent_delta": 1.1998,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 11,
        "boosted_metrics": 11,
        "deboosted_metrics": 0,
        "better_metrics": 10,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.87,
          "after": 9.0826,
          "delta": 5.2126,
          "percent_delta": 1.3469,
          "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": 2,
        "last_10": 3,
        "season": 48
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.6794,
        "predicted_3B": 0.0486,
        "predicted_AB": 9.0826,
        "predicted_AVG": 0.3155,
        "predicted_BB": 2.1409,
        "predicted_H": 2.8651,
        "predicted_HBP": 0.147,
        "predicted_HR": 0.3813,
        "predicted_OBP": 0.446,
        "predicted_R": 2.0226,
        "predicted_RBI": 2.6718,
        "predicted_SLG": 0.5269,
        "predicted_SO": 2.8746
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.6794,
          "after": 0.6794,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0486,
          "after": 0.0486,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.0826,
          "after": 9.0826,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2818,
          "after": 0.3155,
          "delta": 0.0337,
          "percent_delta": 0.1196,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 2.118,
          "after": 2.1409,
          "delta": 0.0229,
          "percent_delta": 0.0108,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.7701,
          "after": 2.8651,
          "delta": 0.095,
          "percent_delta": 0.0343,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.147,
          "after": 0.147,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.3683,
          "after": 0.3813,
          "delta": 0.013,
          "percent_delta": 0.0353,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.4243,
          "after": 0.446,
          "delta": 0.0217,
          "percent_delta": 0.0511,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.9099,
          "after": 2.0226,
          "delta": 0.1127,
          "percent_delta": 0.059,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 2.5229,
          "after": 2.6718,
          "delta": 0.1489,
          "percent_delta": 0.059,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4929,
          "after": 0.5269,
          "delta": 0.034,
          "percent_delta": 0.069,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.906,
          "after": 2.8746,
          "delta": -0.0314,
          "percent_delta": -0.0108,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 6,
        "deboosted_metrics": 0,
        "better_metrics": 6,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 2.5229,
          "after": 2.6718,
          "delta": 0.1489,
          "percent_delta": 0.059,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 9 (raw=9.08), rates preserved: AVG=0.315 HR/AB=0.042",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 2.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 3.0,
        "predicted_SB": 0.0,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.6794,
          "after": 1.0,
          "delta": 0.3206,
          "percent_delta": 0.4719,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0486,
          "after": 0.0,
          "delta": -0.0486,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.0826,
          "after": 9.0,
          "delta": -0.0826,
          "percent_delta": -0.0091,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 2.1409,
          "after": 2.0,
          "delta": -0.1409,
          "percent_delta": -0.0658,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.8651,
          "after": 3.0,
          "delta": 0.1349,
          "percent_delta": 0.0471,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.147,
          "after": 0.0,
          "delta": -0.147,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.3813,
          "after": 0.0,
          "delta": -0.3813,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 2.6718,
          "after": 3.0,
          "delta": 0.3282,
          "percent_delta": 0.1228,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.8746,
          "after": 3.0,
          "delta": 0.1254,
          "percent_delta": 0.0436,
          "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": 2.6718,
          "after": 3.0,
          "delta": 0.3282,
          "percent_delta": 0.1228,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.3813,
          "after": 0.0,
          "delta": -0.3813,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.200)",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 2.0,
        "predicted_H": 3.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 3.0,
        "predicted_SO": 3.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": 9.0,
          "after": 9.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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_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_RBI",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9,
        "bvp": 0.1
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 2.0,
        "predicted_CS": 0.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 2.0,
        "predicted_RBI": 3.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 3.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": 9.0,
          "after": 9.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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_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_R",
          "before": 2.0226,
          "after": 2.0,
          "delta": -0.0226,
          "percent_delta": -0.0112,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_AVG": 0.333,
        "predicted_BB": 2.0,
        "predicted_H": 3.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.455,
        "predicted_R": 2.0,
        "predicted_RBI": 3.0,
        "predicted_SLG": 0.444,
        "predicted_SO": 3.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": 9.0,
          "after": 9.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3155,
          "after": 0.333,
          "delta": 0.0175,
          "percent_delta": 0.0555,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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_OBP",
          "before": 0.446,
          "after": 0.455,
          "delta": 0.009,
          "percent_delta": 0.0202,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5269,
          "after": 0.444,
          "delta": -0.0829,
          "percent_delta": -0.1573,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.3155,
          "after": 0.333,
          "delta": 0.0175,
          "percent_delta": 0.0555,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.5269,
          "after": 0.444,
          "delta": -0.0829,
          "percent_delta": -0.1573,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 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": 9.0,
          "after": 3.0,
          "delta": -6.0,
          "percent_delta": -0.6667,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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": 3.0,
          "after": 1.0,
          "delta": -2.0,
          "percent_delta": -0.6667,
          "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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 3.0,
          "after": 1.0,
          "delta": -2.0,
          "percent_delta": -0.6667,
          "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": 3.0,
          "after": 1.0,
          "delta": -2.0,
          "percent_delta": -0.6667,
          "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_HR",
          "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": 9.0,
          "after": 3.0,
          "delta": -6.0,
          "percent_delta": -0.6667,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.3155,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_FB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.446,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.5269,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.333,
          "after": 0.3155,
          "delta": -0.0175,
          "percent_delta": -0.0527,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.455,
          "after": 0.446,
          "delta": -0.009,
          "percent_delta": -0.0197,
          "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.444,
          "after": 0.5269,
          "delta": 0.0829,
          "percent_delta": 0.1867,
          "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.444,
          "after": 0.5269,
          "delta": 0.0829,
          "percent_delta": 0.1867,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.333,
          "after": 0.3155,
          "delta": -0.0175,
          "percent_delta": -0.0527,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.225,
        "after": 0.0,
        "delta": -0.225,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.023,
        "after": 0.0,
        "delta": -0.023,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.87,
        "after": 3.0,
        "delta": -0.87,
        "percent_delta": -0.2248,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.25,
        "after": 0.3155,
        "delta": 0.0655,
        "percent_delta": 0.262,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.968,
        "after": 1.0,
        "delta": 0.032,
        "percent_delta": 0.0331,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 0.97,
        "after": 1.0,
        "delta": 0.03,
        "percent_delta": 0.0309,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.17,
        "after": 1.0,
        "delta": 0.83,
        "percent_delta": 4.8824,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.401,
        "after": 0.446,
        "delta": 0.045,
        "percent_delta": 0.1122,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.702,
        "after": 1.0,
        "delta": 0.298,
        "percent_delta": 0.4245,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.85,
        "after": 1.0,
        "delta": 0.15,
        "percent_delta": 0.1765,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.463,
        "after": 0.5269,
        "delta": 0.0639,
        "percent_delta": 0.138,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.321,
        "after": 1.0,
        "delta": -0.321,
        "percent_delta": -0.243,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 6,
      "deboosted_metrics": 3,
      "better_metrics": 7,
      "worse_metrics": 2,
      "biggest_boost": {
        "metric": "predicted_HR",
        "before": 0.17,
        "after": 1.0,
        "delta": 0.83,
        "percent_delta": 4.8824,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 3.87,
        "after": 3.0,
        "delta": -0.87,
        "percent_delta": -0.2248,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

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.225-
predicted_3B0.023-
predicted_AB3.870-
predicted_AVG0.250-
predicted_BB0.968-
predicted_H0.970-
predicted_HR0.170-
predicted_OBP0.401-
predicted_R0.702-
predicted_RBI0.850-
predicted_SLG0.463-
predicted_SO1.321-
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.6790.454
predicted_3B0.0490.026
predicted_AB9.0835.213
predicted_AVG0.2820.032
predicted_BB2.1181.150
predicted_H2.7701.800
predicted_HBP0.147-
predicted_HR0.3680.198
predicted_OBP0.4240.023
predicted_R1.9101.208
predicted_RBI2.5231.673
predicted_SLG0.4930.030
predicted_SO2.9061.585
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.6790.000
predicted_3B0.0490.000
predicted_AB9.0830.000
predicted_AVG0.3160.034
predicted_BB2.1410.023
predicted_H2.8650.095
predicted_HBP0.1470.000
predicted_HR0.3810.013
predicted_OBP0.4460.022
predicted_R2.0230.113
predicted_RBI2.6720.149
predicted_SLG0.5270.034
predicted_SO2.875-0.031
4. ab_floor_and_scaling

AB rounded to 9 (raw=9.08), rates preserved: AVG=0.315 HR/AB=0.042

MetricValueDelta vs Prev Step
2B1.000-
3B0.000-
AB9.000-
BB2.000-
H3.000-
HBP0.000-
HR0.000-
RBI3.000-
SB0.000-
SO3.000-
5. bvp_blend

Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.200)

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB9.0000.000
BB2.0000.000
H3.0000.000
HR0.0000.000
RBI3.0000.000
SO3.0000.000
6. consistency_constraints

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

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB9.0000.000
BB2.0000.000
CS0.000-
H3.0000.000
HBP0.0000.000
HR0.0000.000
R2.000-
RBI3.0000.000
SB0.0000.000
SF0.000-
SO3.0000.000
7. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B1.0000.321
predicted_3B0.000-0.049
predicted_AB9.000-0.083
predicted_AVG0.3330.018
predicted_BB2.000-0.141
predicted_H3.0000.135
predicted_HR0.000-0.381
predicted_OBP0.4550.009
predicted_R2.000-0.023
predicted_RBI3.0000.328
predicted_SLG0.444-0.083
predicted_SO3.0000.125
8. 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-6.000
BB1.000-1.000
CS0.0000.000
H1.000-2.000
HBP0.0000.000
HR1.0001.000
PA4.000-
R1.000-1.000
RBI1.000-2.000
SB0.0000.000
SF0.0000.000
SO1.000-2.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 218
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-23.00013.0004.0000.0000.00021.00010.0002.0001.0000.56520.60000.73910.56520.00000.91300.08700.0435
last_100.203-48.00020.0009.0000.0000.00026.00012.0002.0009.0000.41670.44000.60420.41670.00000.54170.04170.1875
season0.6048-798.000228.00049.0005.00038.000162.000153.000211.000288.0000.28570.44010.50250.28570.04760.20300.26440.3609
Weighted Prediction From Real Data
MetricValue
predicted_2B1.2540
predicted_3B0.0810
predicted_AB15.6730
predicted_AVG0.3219
predicted_BB3.5720
predicted_H5.0460
predicted_HBP0.1470
predicted_HR0.6190
predicted_OBP0.4538
predicted_R3.4370
predicted_RBI4.6380
predicted_SLG0.5308
predicted_SO4.9100
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.22501.25400.6794model_form_blend
predicted_3B0.02300.08100.0486model_form_blend
predicted_AB3.870015.67309.0826model_form_blend
predicted_AVG0.25000.32190.2818model_form_blend
predicted_BB0.96803.57202.1180model_form_blend
predicted_H0.97005.04602.7701model_form_blend
predicted_HBP-0.14700.1470form_only
predicted_HR0.17000.61900.3683model_form_blend
predicted_OBP0.40100.45380.4243model_form_blend
predicted_R0.70203.43701.9099model_form_blend
predicted_RBI0.85004.63802.5229model_form_blend
predicted_SLG0.46300.53080.4929model_form_blend
predicted_SO1.32104.91002.9060model_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 date218
Season rows before report date218
Report year2026
Profile rows used218
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

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

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_BB2
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB1
Hitting_R2
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB1
Hitting_battingOrder3
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed1B
gameID20260520_OAK@LAA
game_typefull
mlbID701762
playerID701762
playerNameNick Kurtz
pos1B
startedTrue
startingPosition1B
teamOAK
teamID20
game_date2026-05-20
sl_k_percent29.2
sl_bb_percent20.4
sl_woba0.405
sl_xwoba0.393
sl_xba0.254
sl_xslg0.493
sl_sweet_spot_percent40.2
sl_barrel_batted_rate16.8
sl_hard_hit_percent58.9
sl_exit_velocity_avg95.0
sl_launch_angle_avg14.7
sl_whiff_percent35.4
sl_swing_percent39.6
Carlos Cortes (666126) · BATTER · RF · Team OAK
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 121
All-history rows before 20260521: 121
System season_avg: 0.3670
Data season_avg (2026 season-to-date): 0.3670
Diff (system - data): 0.0000
System opponent_avg: 0.4620

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2070.0000.000Hitting_2B0.2070.000-0.2070.000
predicted_3B0.0330.0000.000Hitting_3B0.0330.000-0.0330.000
predicted_AB3.3554.0006.000Hitting_AB3.3553.0000.6451.000
predicted_AVG0.2630.0000.333Hitting_AVG0.3670.333-0.367-0.333
predicted_BB0.3880.0001.000Hitting_BB0.3881.000-0.388-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.3500.0002.000Hitting_H1.2311.000-1.231-1.000
predicted_HR0.0500.0000.000Hitting_HR0.1490.000-0.1490.000
predicted_OBP0.3590.0000.429Hitting_OBP0.4340.600-0.434-0.600
predicted_R0.4130.0001.000Hitting_R0.4130.000-0.4130.000
predicted_RBI0.1800.0001.000Hitting_RBI0.5700.000-0.5700.000
predicted_SLG0.4380.0000.333Hitting_SLG0.5810.333-0.581-0.333
predicted_SO0.3802.0001.000Hitting_SO0.3801.0001.6201.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.3800 -> 2.0000 (boost 1.6200, worse)
Biggest Deboostpredicted_R: 0.4130 -> 0.0000 (deboost -0.4130, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend11110101predicted_AB: 3.3550 -> 6.0856 (boost 2.7306, 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_snapshot42222predicted_H: 1.7665 -> 1.8271 (boost 0.0606, better)predicted_SLG: 0.4905 -> 0.4695 (deboost -0.0210, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling93627predicted_SO: 0.7123 -> 1.0000 (boost 0.2877, worse)predicted_2B: 0.3617 -> 0.0000 (deboost -0.3617, worse)AB rounded to 6 (raw=6.09), rates preserved: AVG=0.300 HR/AB=0.031
5consistency_constraints11010predicted_R: 0.7096 -> 1.0000 (boost 0.2904, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context32121predicted_AVG: 0.3002 -> 0.3330 (boost 0.0328, better)predicted_SLG: 0.4695 -> 0.3330 (deboost -0.1365, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference61506predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse)predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final31212predicted_SLG: 0.3330 -> 0.4695 (boost 0.1365, better)predicted_AVG: 0.3330 -> 0.3002 (deboost -0.0328, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "666126",
  "player_name": "Carlos Cortes",
  "position": "RF",
  "team": "OAK",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.207,
        "predicted_3B": 0.033,
        "predicted_AB": 3.355,
        "predicted_AVG": 0.263,
        "predicted_BB": 0.388,
        "predicted_H": 0.35,
        "predicted_HR": 0.05,
        "predicted_OBP": 0.359,
        "predicted_R": 0.413,
        "predicted_RBI": 0.18,
        "predicted_SLG": 0.438,
        "predicted_SO": 0.38
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.3617,
        "predicted_3B": 0.052,
        "predicted_AB": 6.0856,
        "predicted_AVG": 0.3114,
        "predicted_BB": 1.2548,
        "predicted_H": 1.7665,
        "predicted_HBP": 0.189,
        "predicted_HR": 0.1818,
        "predicted_OBP": 0.4083,
        "predicted_R": 0.6701,
        "predicted_RBI": 0.7219,
        "predicted_SLG": 0.4905,
        "predicted_SO": 0.7201
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.207,
          "after": 0.3617,
          "delta": 0.1547,
          "percent_delta": 0.7473,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.033,
          "after": 0.052,
          "delta": 0.019,
          "percent_delta": 0.5758,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.355,
          "after": 6.0856,
          "delta": 2.7306,
          "percent_delta": 0.8139,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.263,
          "after": 0.3114,
          "delta": 0.0484,
          "percent_delta": 0.184,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.388,
          "after": 1.2548,
          "delta": 0.8668,
          "percent_delta": 2.234,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.35,
          "after": 1.7665,
          "delta": 1.4165,
          "percent_delta": 4.0471,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.05,
          "after": 0.1818,
          "delta": 0.1318,
          "percent_delta": 2.636,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.359,
          "after": 0.4083,
          "delta": 0.0493,
          "percent_delta": 0.1373,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.413,
          "after": 0.6701,
          "delta": 0.2571,
          "percent_delta": 0.6225,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.18,
          "after": 0.7219,
          "delta": 0.5419,
          "percent_delta": 3.0106,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.438,
          "after": 0.4905,
          "delta": 0.0525,
          "percent_delta": 0.1199,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.38,
          "after": 0.7201,
          "delta": 0.3401,
          "percent_delta": 0.895,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 11,
        "boosted_metrics": 11,
        "deboosted_metrics": 0,
        "better_metrics": 10,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.355,
          "after": 6.0856,
          "delta": 2.7306,
          "percent_delta": 0.8139,
          "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": 2,
        "last_10": 3,
        "season": 38
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.3617,
        "predicted_3B": 0.052,
        "predicted_AB": 6.0856,
        "predicted_AVG": 0.3002,
        "predicted_BB": 1.2684,
        "predicted_H": 1.8271,
        "predicted_HBP": 0.189,
        "predicted_HR": 0.1882,
        "predicted_OBP": 0.4209,
        "predicted_R": 0.7096,
        "predicted_RBI": 0.7645,
        "predicted_SLG": 0.4695,
        "predicted_SO": 0.7123
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.3617,
          "after": 0.3617,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.052,
          "after": 0.052,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.0856,
          "after": 6.0856,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3114,
          "after": 0.3002,
          "delta": -0.0112,
          "percent_delta": -0.036,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.2548,
          "after": 1.2684,
          "delta": 0.0136,
          "percent_delta": 0.0108,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.7665,
          "after": 1.8271,
          "delta": 0.0606,
          "percent_delta": 0.0343,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.189,
          "after": 0.189,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1818,
          "after": 0.1882,
          "delta": 0.0064,
          "percent_delta": 0.0352,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.4083,
          "after": 0.4209,
          "delta": 0.0126,
          "percent_delta": 0.0309,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6701,
          "after": 0.7096,
          "delta": 0.0395,
          "percent_delta": 0.0589,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7219,
          "after": 0.7645,
          "delta": 0.0426,
          "percent_delta": 0.059,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4905,
          "after": 0.4695,
          "delta": -0.021,
          "percent_delta": -0.0428,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7201,
          "after": 0.7123,
          "delta": -0.0078,
          "percent_delta": -0.0108,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 1.7665,
          "after": 1.8271,
          "delta": 0.0606,
          "percent_delta": 0.0343,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4905,
          "after": 0.4695,
          "delta": -0.021,
          "percent_delta": -0.0428,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 6 (raw=6.09), rates preserved: AVG=0.300 HR/AB=0.031",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.3617,
          "after": 0.0,
          "delta": -0.3617,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.052,
          "after": 0.0,
          "delta": -0.052,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 6.0856,
          "after": 6.0,
          "delta": -0.0856,
          "percent_delta": -0.0141,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.2684,
          "after": 1.0,
          "delta": -0.2684,
          "percent_delta": -0.2116,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.8271,
          "after": 2.0,
          "delta": 0.1729,
          "percent_delta": 0.0946,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.189,
          "after": 0.0,
          "delta": -0.189,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1882,
          "after": 0.0,
          "delta": -0.1882,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7645,
          "after": 1.0,
          "delta": 0.2355,
          "percent_delta": 0.308,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7123,
          "after": 1.0,
          "delta": 0.2877,
          "percent_delta": 0.4039,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 3,
        "deboosted_metrics": 6,
        "better_metrics": 2,
        "worse_metrics": 7,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.7123,
          "after": 1.0,
          "delta": 0.2877,
          "percent_delta": 0.4039,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.3617,
          "after": 0.0,
          "delta": -0.3617,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 6.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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.7096,
          "after": 1.0,
          "delta": 0.2904,
          "percent_delta": 0.4092,
          "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.7096,
          "after": 1.0,
          "delta": 0.2904,
          "percent_delta": 0.4092,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_AVG": 0.333,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.429,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.333,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3002,
          "after": 0.333,
          "delta": 0.0328,
          "percent_delta": 0.1093,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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.4209,
          "after": 0.429,
          "delta": 0.0081,
          "percent_delta": 0.0192,
          "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.4695,
          "after": 0.333,
          "delta": -0.1365,
          "percent_delta": -0.2907,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.3002,
          "after": 0.333,
          "delta": 0.0328,
          "percent_delta": 0.1093,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4695,
          "after": 0.333,
          "delta": -0.1365,
          "percent_delta": -0.2907,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 4.0,
          "delta": -2.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.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": 1,
        "deboosted_metrics": 5,
        "better_metrics": 0,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 4.0,
          "delta": -2.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.3002,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.4209,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4695,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.333,
          "after": 0.3002,
          "delta": -0.0328,
          "percent_delta": -0.0984,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.429,
          "after": 0.4209,
          "delta": -0.0081,
          "percent_delta": -0.0188,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.333,
          "after": 0.4695,
          "delta": 0.1365,
          "percent_delta": 0.41,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.333,
          "after": 0.4695,
          "delta": 0.1365,
          "percent_delta": 0.41,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.333,
          "after": 0.3002,
          "delta": -0.0328,
          "percent_delta": -0.0984,
          "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.033,
        "after": 0.0,
        "delta": -0.033,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.355,
        "after": 4.0,
        "delta": 0.645,
        "percent_delta": 0.1923,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.263,
        "after": 0.3002,
        "delta": 0.0372,
        "percent_delta": 0.1414,
        "direction": "boost",
        "projection_effect": "better",
        "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.35,
        "after": 0.0,
        "delta": -0.35,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.05,
        "after": 0.0,
        "delta": -0.05,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.359,
        "after": 0.4209,
        "delta": 0.0619,
        "percent_delta": 0.1724,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.413,
        "after": 0.0,
        "delta": -0.413,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.18,
        "after": 0.0,
        "delta": -0.18,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.438,
        "after": 0.4695,
        "delta": 0.0315,
        "percent_delta": 0.0719,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.38,
        "after": 2.0,
        "delta": 1.62,
        "percent_delta": 4.2632,
        "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.38,
        "after": 2.0,
        "delta": 1.62,
        "percent_delta": 4.2632,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.413,
        "after": 0.0,
        "delta": -0.413,
        "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.207-
predicted_3B0.033-
predicted_AB3.355-
predicted_AVG0.263-
predicted_BB0.388-
predicted_H0.350-
predicted_HR0.050-
predicted_OBP0.359-
predicted_R0.413-
predicted_RBI0.180-
predicted_SLG0.438-
predicted_SO0.380-
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.3620.155
predicted_3B0.0520.019
predicted_AB6.0862.731
predicted_AVG0.3110.048
predicted_BB1.2550.867
predicted_H1.7661.417
predicted_HBP0.189-
predicted_HR0.1820.132
predicted_OBP0.4080.049
predicted_R0.6700.257
predicted_RBI0.7220.542
predicted_SLG0.4900.052
predicted_SO0.7200.340
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.3620.000
predicted_3B0.0520.000
predicted_AB6.0860.000
predicted_AVG0.300-0.011
predicted_BB1.2680.014
predicted_H1.8270.061
predicted_HBP0.1890.000
predicted_HR0.1880.006
predicted_OBP0.4210.013
predicted_R0.7100.039
predicted_RBI0.7640.043
predicted_SLG0.469-0.021
predicted_SO0.712-0.008
4. ab_floor_and_scaling

AB rounded to 6 (raw=6.09), rates preserved: AVG=0.300 HR/AB=0.031

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB6.000-
BB1.000-
H2.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB6.0000.000
BB1.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
6. 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.362
predicted_3B0.000-0.052
predicted_AB6.000-0.086
predicted_AVG0.3330.033
predicted_BB1.000-0.268
predicted_H2.0000.173
predicted_HR0.000-0.188
predicted_OBP0.4290.008
predicted_R1.0000.290
predicted_RBI1.0000.236
predicted_SLG0.333-0.136
predicted_SO1.0000.288
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 121
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-11.0005.0000.0000.0000.0000.0000.00013.0001.0000.45450.76000.45450.45460.00000.00001.18180.0909
last_100.203-29.00014.0004.0000.0000.0004.0000.00016.0005.0000.48280.67390.62070.48280.00000.13790.55170.1724
season0.6038-406.000149.00025.0004.00018.00069.00050.00047.00046.0000.36700.43380.58130.36700.04430.16990.11580.1133
Weighted Prediction From Real Data
MetricValue
predicted_2B0.5650
predicted_3B0.0770
predicted_AB9.6740
predicted_AVG0.3750
predicted_BB2.3940
predicted_H3.6280
predicted_HBP0.1890
predicted_HR0.3550
predicted_OBP0.4731
predicted_R1.0080
predicted_RBI1.4340
predicted_SLG0.5595
predicted_SO1.1670
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.20700.56500.3617model_form_blend
predicted_3B0.03300.07700.0520model_form_blend
predicted_AB3.35509.67406.0856model_form_blend
predicted_AVG0.26300.37500.3114model_form_blend
predicted_BB0.38802.39401.2548model_form_blend
predicted_H0.35003.62801.7665model_form_blend
predicted_HBP-0.18900.1890form_only
predicted_HR0.05000.35500.1818model_form_blend
predicted_OBP0.35900.47310.4083model_form_blend
predicted_R0.41301.00800.6701model_form_blend
predicted_RBI0.18001.43400.7219model_form_blend
predicted_SLG0.43800.55950.4905model_form_blend
predicted_SO0.38001.16700.7201model_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 date121
Season rows before report date121
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
SO2
SF0
HBP0
season_avg0.367

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_HBP1
Hitting_HR0
Hitting_IBB0
Hitting_R0
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
allPositionsPlayedRF
gameID20260520_OAK@LAA
game_typefull
mlbID666126
playerID666126
playerNameCarlos Cortes
posRF
startedTrue
startingPositionRF
teamOAK
teamID20
game_date2026-05-20
sl_k_percent10.0
sl_bb_percent10.0
sl_woba0.425
sl_xwoba0.394
sl_xba0.33
sl_xslg0.502
sl_sweet_spot_percent35.8
sl_barrel_batted_rate9.7
sl_hard_hit_percent43.2
sl_exit_velocity_avg91.0
sl_launch_angle_avg6.3
sl_whiff_percent20.0
sl_swing_percent44.1
Brent Rooker (667670) · BATTER · DH · Team OAK
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 138
All-history rows before 20260521: 138
System season_avg: 0.2100
Data season_avg (2026 season-to-date): 0.2101
Diff (system - data): -0.0001
System opponent_avg: 0.4620

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0650.0000.000Hitting_2B0.0650.000-0.0650.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.0104.0009.000Hitting_AB3.8625.0000.138-1.000
predicted_AVG0.2190.2500.222Hitting_AVG0.2100.2000.0400.050
predicted_BB0.5070.0001.000Hitting_BB0.5070.000-0.5070.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.8801.0002.000Hitting_H0.8121.0000.1880.000
predicted_HR0.2000.0001.000Hitting_HR0.2610.000-0.2610.000
predicted_OBP0.2940.2500.300Hitting_OBP0.2960.200-0.0460.050
predicted_R0.4350.0001.000Hitting_R0.4350.000-0.4350.000
predicted_RBI0.6500.0002.000Hitting_RBI0.8910.000-0.8910.000
predicted_SLG0.4080.2500.556Hitting_SLG0.4300.200-0.1800.050
predicted_SO1.2970.0003.000Hitting_SO1.2971.000-1.297-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectdeboosted
Changed Metrics10
Boosted Metrics4
Deboosted Metrics6
Better Metrics5
Worse Metrics5
Biggest Boostpredicted_H: 0.8800 -> 1.0000 (boost 0.1200, better)
Biggest Deboostpredicted_SO: 1.2970 -> 0.0000 (deboost -1.2970, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend11110101predicted_AB: 4.0100 -> 8.7398 (boost 4.7298, 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_snapshot66060predicted_RBI: 2.1118 -> 2.2364 (boost 0.1246, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling73425predicted_HR: 0.6660 -> 1.0000 (boost 0.3340, better)predicted_RBI: 2.2364 -> 2.0000 (deboost -0.2364, worse)AB rounded to 9 (raw=8.74), rates preserved: AVG=0.241 HR/AB=0.076
5bvp_blend00000--Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.462)
6consistency_constraints10101-predicted_R: 1.2800 -> 1.0000 (deboost -0.2800, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context31212predicted_SLG: 0.4861 -> 0.5560 (boost 0.0699, better)predicted_OBP: 0.3310 -> 0.3000 (deboost -0.0310, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference70716-predicted_AB: 9.0000 -> 4.0000 (deboost -5.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final32121predicted_OBP: 0.3000 -> 0.3310 (boost 0.0310, better)predicted_SLG: 0.5560 -> 0.4861 (deboost -0.0699, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "667670",
  "player_name": "Brent Rooker",
  "position": "DH",
  "team": "OAK",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.065,
        "predicted_3B": 0.0,
        "predicted_AB": 4.01,
        "predicted_AVG": 0.219,
        "predicted_BB": 0.507,
        "predicted_H": 0.88,
        "predicted_HR": 0.2,
        "predicted_OBP": 0.294,
        "predicted_R": 0.435,
        "predicted_RBI": 0.65,
        "predicted_SLG": 0.408,
        "predicted_SO": 1.297
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1383,
        "predicted_3B": 0.0013,
        "predicted_AB": 8.7398,
        "predicted_AVG": 0.2274,
        "predicted_BB": 1.1581,
        "predicted_H": 2.0394,
        "predicted_HBP": 0.006,
        "predicted_HR": 0.6434,
        "predicted_OBP": 0.307,
        "predicted_R": 1.2087,
        "predicted_RBI": 2.1118,
        "predicted_SLG": 0.4481,
        "predicted_SO": 2.7737
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.065,
          "after": 0.1383,
          "delta": 0.0733,
          "percent_delta": 1.1277,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0013,
          "delta": 0.0013,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.01,
          "after": 8.7398,
          "delta": 4.7298,
          "percent_delta": 1.1795,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.219,
          "after": 0.2274,
          "delta": 0.0084,
          "percent_delta": 0.0384,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.507,
          "after": 1.1581,
          "delta": 0.6511,
          "percent_delta": 1.2842,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.88,
          "after": 2.0394,
          "delta": 1.1594,
          "percent_delta": 1.3175,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2,
          "after": 0.6434,
          "delta": 0.4434,
          "percent_delta": 2.217,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.294,
          "after": 0.307,
          "delta": 0.013,
          "percent_delta": 0.0442,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.435,
          "after": 1.2087,
          "delta": 0.7737,
          "percent_delta": 1.7786,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.65,
          "after": 2.1118,
          "delta": 1.4618,
          "percent_delta": 2.2489,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.408,
          "after": 0.4481,
          "delta": 0.0401,
          "percent_delta": 0.0983,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.297,
          "after": 2.7737,
          "delta": 1.4767,
          "percent_delta": 1.1386,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 11,
        "boosted_metrics": 11,
        "deboosted_metrics": 0,
        "better_metrics": 10,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.01,
          "after": 8.7398,
          "delta": 4.7298,
          "percent_delta": 1.1795,
          "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": 2,
        "last_10": 3,
        "season": 33
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1383,
        "predicted_3B": 0.0013,
        "predicted_AB": 8.7398,
        "predicted_AVG": 0.2414,
        "predicted_BB": 1.1706,
        "predicted_H": 2.1094,
        "predicted_HBP": 0.006,
        "predicted_HR": 0.666,
        "predicted_OBP": 0.331,
        "predicted_R": 1.28,
        "predicted_RBI": 2.2364,
        "predicted_SLG": 0.4861,
        "predicted_SO": 2.7437
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1383,
          "after": 0.1383,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0013,
          "after": 0.0013,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.7398,
          "after": 8.7398,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2274,
          "after": 0.2414,
          "delta": 0.014,
          "percent_delta": 0.0616,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.1581,
          "after": 1.1706,
          "delta": 0.0125,
          "percent_delta": 0.0108,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0394,
          "after": 2.1094,
          "delta": 0.07,
          "percent_delta": 0.0343,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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.6434,
          "after": 0.666,
          "delta": 0.0226,
          "percent_delta": 0.0351,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.307,
          "after": 0.331,
          "delta": 0.024,
          "percent_delta": 0.0782,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.2087,
          "after": 1.28,
          "delta": 0.0713,
          "percent_delta": 0.059,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 2.1118,
          "after": 2.2364,
          "delta": 0.1246,
          "percent_delta": 0.059,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4481,
          "after": 0.4861,
          "delta": 0.038,
          "percent_delta": 0.0848,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.7737,
          "after": 2.7437,
          "delta": -0.03,
          "percent_delta": -0.0108,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 6,
        "deboosted_metrics": 0,
        "better_metrics": 6,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 2.1118,
          "after": 2.2364,
          "delta": 0.1246,
          "percent_delta": 0.059,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 9 (raw=8.74), rates preserved: AVG=0.241 HR/AB=0.076",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SO": 3.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.0013,
          "after": 0.0,
          "delta": -0.0013,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.7398,
          "after": 9.0,
          "delta": 0.2602,
          "percent_delta": 0.0298,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.1706,
          "after": 1.0,
          "delta": -0.1706,
          "percent_delta": -0.1457,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.1094,
          "after": 2.0,
          "delta": -0.1094,
          "percent_delta": -0.0519,
          "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.666,
          "after": 1.0,
          "delta": 0.334,
          "percent_delta": 0.5015,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 2.2364,
          "after": 2.0,
          "delta": -0.2364,
          "percent_delta": -0.1057,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.7437,
          "after": 3.0,
          "delta": 0.2563,
          "percent_delta": 0.0934,
          "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_HR",
          "before": 0.666,
          "after": 1.0,
          "delta": 0.334,
          "percent_delta": 0.5015,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 2.2364,
          "after": 2.0,
          "delta": -0.2364,
          "percent_delta": -0.1057,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.462)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 1.0,
        "predicted_RBI": 2.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": 9.0,
          "after": 9.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": 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_RBI",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.8791,
        "bvp": 0.1209
      },
      "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": 9.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": 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": 9.0,
          "after": 9.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": 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_R",
          "before": 1.28,
          "after": 1.0,
          "delta": -0.28,
          "percent_delta": -0.2188,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "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_SO",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.28,
          "after": 1.0,
          "delta": -0.28,
          "percent_delta": -0.2188,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_AVG": 0.222,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.3,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SLG": 0.556,
        "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": 9.0,
          "after": 9.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2414,
          "after": 0.222,
          "delta": -0.0194,
          "percent_delta": -0.0804,
          "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": 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_OBP",
          "before": 0.331,
          "after": 0.3,
          "delta": -0.031,
          "percent_delta": -0.0937,
          "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_SLG",
          "before": 0.4861,
          "after": 0.556,
          "delta": 0.0699,
          "percent_delta": 0.1438,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.4861,
          "after": 0.556,
          "delta": 0.0699,
          "percent_delta": 0.1438,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.331,
          "after": 0.3,
          "delta": -0.031,
          "percent_delta": -0.0937,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 4.0,
          "delta": -5.0,
          "percent_delta": -0.5556,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "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": 2.0,
          "after": 0.0,
          "delta": -2.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": 3.0,
          "after": 0.0,
          "delta": -3.0,
          "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": 9.0,
          "after": 4.0,
          "delta": -5.0,
          "percent_delta": -0.5556,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2414,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_DH": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.331,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4861,
        "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.222,
          "after": 0.2414,
          "delta": 0.0194,
          "percent_delta": 0.0872,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.331,
          "delta": 0.031,
          "percent_delta": 0.1032,
          "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.556,
          "after": 0.4861,
          "delta": -0.0699,
          "percent_delta": -0.1257,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.3,
          "after": 0.331,
          "delta": 0.031,
          "percent_delta": 0.1032,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.556,
          "after": 0.4861,
          "delta": -0.0699,
          "percent_delta": -0.1257,
          "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.065,
        "after": 0.0,
        "delta": -0.065,
        "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.01,
        "after": 4.0,
        "delta": -0.01,
        "percent_delta": -0.0025,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AVG",
        "before": 0.219,
        "after": 0.2414,
        "delta": 0.0224,
        "percent_delta": 0.1023,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.507,
        "after": 0.0,
        "delta": -0.507,
        "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.2,
        "after": 0.0,
        "delta": -0.2,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.294,
        "after": 0.331,
        "delta": 0.037,
        "percent_delta": 0.1259,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.435,
        "after": 0.0,
        "delta": -0.435,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.65,
        "after": 0.0,
        "delta": -0.65,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.408,
        "after": 0.4861,
        "delta": 0.0781,
        "percent_delta": 0.1914,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.297,
        "after": 0.0,
        "delta": -1.297,
        "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.88,
        "after": 1.0,
        "delta": 0.12,
        "percent_delta": 0.1364,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.297,
        "after": 0.0,
        "delta": -1.297,
        "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.065-
predicted_3B0.000-
predicted_AB4.010-
predicted_AVG0.219-
predicted_BB0.507-
predicted_H0.880-
predicted_HR0.200-
predicted_OBP0.294-
predicted_R0.435-
predicted_RBI0.650-
predicted_SLG0.408-
predicted_SO1.297-
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.1380.073
predicted_3B0.0010.001
predicted_AB8.7404.730
predicted_AVG0.2270.008
predicted_BB1.1580.651
predicted_H2.0391.159
predicted_HBP0.006-
predicted_HR0.6430.443
predicted_OBP0.3070.013
predicted_R1.2090.774
predicted_RBI2.1121.462
predicted_SLG0.4480.040
predicted_SO2.7741.477
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1380.000
predicted_3B0.0010.000
predicted_AB8.7400.000
predicted_AVG0.2410.014
predicted_BB1.1710.013
predicted_H2.1090.070
predicted_HBP0.0060.000
predicted_HR0.6660.023
predicted_OBP0.3310.024
predicted_R1.2800.071
predicted_RBI2.2360.125
predicted_SLG0.4860.038
predicted_SO2.744-0.030
4. ab_floor_and_scaling

AB rounded to 9 (raw=8.74), rates preserved: AVG=0.241 HR/AB=0.076

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB9.000-
BB1.000-
H2.000-
HBP0.000-
HR1.000-
RBI2.000-
SB0.000-
SO3.000-
5. bvp_blend

Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.462)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB9.0000.000
BB1.0000.000
H2.0000.000
HR1.0000.000
RBI2.0000.000
SO3.0000.000
6. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB9.0000.000
BB1.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR1.0000.000
R1.000-
RBI2.0000.000
SB0.0000.000
SF0.000-
SO3.0000.000
7. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.138
predicted_3B0.000-0.001
predicted_AB9.0000.260
predicted_AVG0.222-0.019
predicted_BB1.000-0.171
predicted_H2.000-0.109
predicted_HR1.0000.334
predicted_OBP0.300-0.031
predicted_R1.000-0.280
predicted_RBI2.000-0.236
predicted_SLG0.5560.070
predicted_SO3.0000.256
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.000-5.000
BB0.000-1.000
CS0.0000.000
H1.000-1.000
HBP0.0000.000
HR0.000-1.000
PA4.000-
R0.000-1.000
RBI0.000-2.000
SB0.0000.000
SF0.0000.000
SO0.000-3.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: 4.010
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-21.0009.0000.0000.0004.00012.0008.0004.0005.0000.42860.52001.00000.42860.19050.57140.19050.2381
last_100.203-41.00011.0000.0000.0005.00015.00010.0005.00010.0000.26830.34780.63410.26830.12200.36590.12200.2439
season0.6033-533.000112.0009.0000.00036.000123.00060.00070.000179.0000.21010.29640.42960.21010.06750.23080.13130.3358
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2330
predicted_3B0.0030
predicted_AB14.8490
predicted_AVG0.2382
predicted_BB1.9990
predicted_H3.5370
predicted_HBP0.0060
predicted_HR1.2160
predicted_OBP0.3237
predicted_R2.2080
predicted_RBI4.0000
predicted_SLG0.4998
predicted_SO4.6810
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.06500.23300.1383model_form_blend
predicted_3B0.00000.00300.0013model_form_blend
predicted_AB4.010014.84908.7398model_form_blend
predicted_AVG0.21900.23820.2274model_form_blend
predicted_BB0.50701.99901.1581model_form_blend
predicted_H0.88003.53702.0394model_form_blend
predicted_HBP-0.00600.0060form_only
predicted_HR0.20001.21600.6434model_form_blend
predicted_OBP0.29400.32370.3070model_form_blend
predicted_R0.43502.20801.2087model_form_blend
predicted_RBI0.65004.00002.1118model_form_blend
predicted_SLG0.40800.49980.4481model_form_blend
predicted_SO1.29704.68102.7737model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date138
Season rows before report date138
Report year2026
Profile rows 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
H1
2B0
3B0
HR0
R0
RBI0
BB0
SO0
SF0
HBP0
season_avg0.21

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB5
Hitting_AVG0.2
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_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
allPositionsPlayedDH
gameID20260520_OAK@LAA
game_typefull
mlbID667670
playerID667670
playerNameBrent Rooker
posDH
startedTrue
startingPositionDH
teamOAK
teamID20
game_date2026-05-20
sl_k_percent30.7
sl_bb_percent10.9
sl_woba0.298
sl_xwoba0.335
sl_xba0.224
sl_xslg0.465
sl_sweet_spot_percent36.3
sl_barrel_batted_rate16.5
sl_hard_hit_percent46.3
sl_exit_velocity_avg90.5
sl_launch_angle_avg20.8
sl_whiff_percent39.6
sl_swing_percent48.4
Tyler Soderstrom (691016) · BATTER · LF · Team OAK
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 192
All-history rows before 20260521: 192
System season_avg: 0.1990
Data season_avg (2026 season-to-date): 0.1992
Diff (system - data): -0.0002
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.3330.0001.000Hitting_2B0.3330.000-0.3330.000
predicted_3B0.0310.0000.000Hitting_3B0.0310.000-0.0310.000
predicted_AB3.8964.0008.000Hitting_AB3.8965.0000.104-1.000
predicted_AVG0.2110.2500.250Hitting_AVG0.1990.4000.051-0.150
predicted_BB0.4580.0001.000Hitting_BB0.4580.000-0.4580.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.8201.0002.000Hitting_H0.7762.0000.224-1.000
predicted_HR0.1000.0000.000Hitting_HR0.1150.000-0.1150.000
predicted_OBP0.2740.2500.333Hitting_OBP0.2860.400-0.036-0.150
predicted_R0.5470.0001.000Hitting_R0.5470.000-0.5470.000
predicted_RBI0.4700.0001.000Hitting_RBI0.5213.000-0.521-3.000
predicted_SLG0.3530.2500.375Hitting_SLG0.3890.400-0.139-0.150
predicted_SO0.8651.0002.000Hitting_SO0.8652.0000.135-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics9
Boosted Metrics3
Deboosted Metrics6
Better Metrics2
Worse Metrics7
Biggest Boostpredicted_H: 0.8200 -> 1.0000 (boost 0.1800, better)
Biggest Deboostpredicted_R: 0.5470 -> 0.0000 (deboost -0.5470, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend118374predicted_AB: 3.8960 -> 8.2649 (boost 4.3689, better)predicted_AVG: 0.2110 -> 0.1980 (deboost -0.0130, worse)Final model 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_snapshot55050predicted_RBI: 1.1018 -> 1.1668 (boost 0.0650, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling94536predicted_2B: 0.5935 -> 1.0000 (boost 0.4065, better)predicted_AB: 8.2649 -> 8.0000 (deboost -0.2649, worse)AB rounded to 8 (raw=8.26), rates preserved: AVG=0.196 HR/AB=0.025
5bvp_blend00000--Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.250)
6consistency_constraints00000--Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context33030predicted_OBP: 0.2710 -> 0.3330 (boost 0.0620, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference70716-predicted_AB: 8.0000 -> 4.0000 (deboost -4.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final30303-predicted_OBP: 0.3330 -> 0.2710 (deboost -0.0620, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "691016",
  "player_name": "Tyler Soderstrom",
  "position": "LF",
  "team": "OAK",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.333,
        "predicted_3B": 0.031,
        "predicted_AB": 3.896,
        "predicted_AVG": 0.211,
        "predicted_BB": 0.458,
        "predicted_H": 0.82,
        "predicted_HR": 0.1,
        "predicted_OBP": 0.274,
        "predicted_R": 0.547,
        "predicted_RBI": 0.47,
        "predicted_SLG": 0.353,
        "predicted_SO": 0.865
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.5935,
        "predicted_3B": 0.0552,
        "predicted_AB": 8.2649,
        "predicted_AVG": 0.198,
        "predicted_BB": 0.8456,
        "predicted_H": 1.5627,
        "predicted_HBP": 0.061,
        "predicted_HR": 0.1994,
        "predicted_OBP": 0.2648,
        "predicted_R": 0.9839,
        "predicted_RBI": 1.1018,
        "predicted_SLG": 0.3435,
        "predicted_SO": 1.8325
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.333,
          "after": 0.5935,
          "delta": 0.2605,
          "percent_delta": 0.7823,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.031,
          "after": 0.0552,
          "delta": 0.0242,
          "percent_delta": 0.7806,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.896,
          "after": 8.2649,
          "delta": 4.3689,
          "percent_delta": 1.1214,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.211,
          "after": 0.198,
          "delta": -0.013,
          "percent_delta": -0.0616,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.458,
          "after": 0.8456,
          "delta": 0.3876,
          "percent_delta": 0.8463,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.82,
          "after": 1.5627,
          "delta": 0.7427,
          "percent_delta": 0.9057,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1,
          "after": 0.1994,
          "delta": 0.0994,
          "percent_delta": 0.994,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.274,
          "after": 0.2648,
          "delta": -0.0092,
          "percent_delta": -0.0336,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.547,
          "after": 0.9839,
          "delta": 0.4369,
          "percent_delta": 0.7987,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.47,
          "after": 1.1018,
          "delta": 0.6318,
          "percent_delta": 1.3443,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.353,
          "after": 0.3435,
          "delta": -0.0095,
          "percent_delta": -0.0269,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.865,
          "after": 1.8325,
          "delta": 0.9675,
          "percent_delta": 1.1185,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 11,
        "boosted_metrics": 8,
        "deboosted_metrics": 3,
        "better_metrics": 7,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.896,
          "after": 8.2649,
          "delta": 4.3689,
          "percent_delta": 1.1214,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.211,
          "after": 0.198,
          "delta": -0.013,
          "percent_delta": -0.0616,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 3,
        "last_10": 4,
        "season": 46
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.5935,
        "predicted_3B": 0.0552,
        "predicted_AB": 8.2649,
        "predicted_AVG": 0.1956,
        "predicted_BB": 0.8547,
        "predicted_H": 1.6163,
        "predicted_HBP": 0.061,
        "predicted_HR": 0.2064,
        "predicted_OBP": 0.271,
        "predicted_R": 1.042,
        "predicted_RBI": 1.1668,
        "predicted_SLG": 0.3557,
        "predicted_SO": 1.8127
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.5935,
          "after": 0.5935,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0552,
          "after": 0.0552,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.2649,
          "after": 8.2649,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.198,
          "after": 0.1956,
          "delta": -0.0024,
          "percent_delta": -0.0121,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.8456,
          "after": 0.8547,
          "delta": 0.0091,
          "percent_delta": 0.0108,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.5627,
          "after": 1.6163,
          "delta": 0.0536,
          "percent_delta": 0.0343,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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.1994,
          "after": 0.2064,
          "delta": 0.007,
          "percent_delta": 0.0351,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2648,
          "after": 0.271,
          "delta": 0.0062,
          "percent_delta": 0.0234,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.9839,
          "after": 1.042,
          "delta": 0.0581,
          "percent_delta": 0.0591,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.1018,
          "after": 1.1668,
          "delta": 0.065,
          "percent_delta": 0.059,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3435,
          "after": 0.3557,
          "delta": 0.0122,
          "percent_delta": 0.0355,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.8325,
          "after": 1.8127,
          "delta": -0.0198,
          "percent_delta": -0.0108,
          "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_RBI",
          "before": 1.1018,
          "after": 1.1668,
          "delta": 0.065,
          "percent_delta": 0.059,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 8 (raw=8.26), rates preserved: AVG=0.196 HR/AB=0.025",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.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.5935,
          "after": 1.0,
          "delta": 0.4065,
          "percent_delta": 0.6849,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0552,
          "after": 0.0,
          "delta": -0.0552,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 8.2649,
          "after": 8.0,
          "delta": -0.2649,
          "percent_delta": -0.0321,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.8547,
          "after": 1.0,
          "delta": 0.1453,
          "percent_delta": 0.17,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.6163,
          "after": 2.0,
          "delta": 0.3837,
          "percent_delta": 0.2374,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.061,
          "after": 0.0,
          "delta": -0.061,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2064,
          "after": 0.0,
          "delta": -0.2064,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.1668,
          "after": 1.0,
          "delta": -0.1668,
          "percent_delta": -0.143,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.8127,
          "after": 2.0,
          "delta": 0.1873,
          "percent_delta": 0.1033,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 4,
        "deboosted_metrics": 5,
        "better_metrics": 3,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.5935,
          "after": 1.0,
          "delta": 0.4065,
          "percent_delta": 0.6849,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 8.2649,
          "after": 8.0,
          "delta": -0.2649,
          "percent_delta": -0.0321,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.250)",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 8.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": 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_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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.8857,
        "bvp": 0.1143
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.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": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 8.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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.042,
          "after": 1.0,
          "delta": -0.042,
          "percent_delta": -0.0403,
          "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_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.333,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.375,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1956,
          "after": 0.25,
          "delta": 0.0544,
          "percent_delta": 0.2781,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 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_OBP",
          "before": 0.271,
          "after": 0.333,
          "delta": 0.062,
          "percent_delta": 0.2288,
          "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.3557,
          "after": 0.375,
          "delta": 0.0193,
          "percent_delta": 0.0543,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.271,
          "after": 0.333,
          "delta": 0.062,
          "percent_delta": 0.2288,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 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": 8.0,
          "after": 4.0,
          "delta": -4.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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": 7,
        "boosted_metrics": 0,
        "deboosted_metrics": 7,
        "better_metrics": 1,
        "worse_metrics": 6,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 4.0,
          "delta": -4.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.1956,
        "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.271,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3557,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.1956,
          "delta": -0.0544,
          "percent_delta": -0.2178,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.333,
          "after": 0.271,
          "delta": -0.062,
          "percent_delta": -0.1863,
          "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.375,
          "after": 0.3557,
          "delta": -0.0193,
          "percent_delta": -0.0516,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.333,
          "after": 0.271,
          "delta": -0.062,
          "percent_delta": -0.1863,
          "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.333,
        "after": 0.0,
        "delta": -0.333,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.031,
        "after": 0.0,
        "delta": -0.031,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.896,
        "after": 4.0,
        "delta": 0.104,
        "percent_delta": 0.0267,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.211,
        "after": 0.1956,
        "delta": -0.0154,
        "percent_delta": -0.073,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.458,
        "after": 0.0,
        "delta": -0.458,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.82,
        "after": 1.0,
        "delta": 0.18,
        "percent_delta": 0.2195,
        "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.274,
        "after": 0.271,
        "delta": -0.003,
        "percent_delta": -0.0109,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "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.47,
        "after": 0.0,
        "delta": -0.47,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.353,
        "after": 0.3557,
        "delta": 0.0027,
        "percent_delta": 0.0076,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.865,
        "after": 1.0,
        "delta": 0.135,
        "percent_delta": 0.1561,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 3,
      "deboosted_metrics": 6,
      "better_metrics": 2,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.82,
        "after": 1.0,
        "delta": 0.18,
        "percent_delta": 0.2195,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.547,
        "after": 0.0,
        "delta": -0.547,
        "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.333-
predicted_3B0.031-
predicted_AB3.896-
predicted_AVG0.211-
predicted_BB0.458-
predicted_H0.820-
predicted_HR0.100-
predicted_OBP0.274-
predicted_R0.547-
predicted_RBI0.470-
predicted_SLG0.353-
predicted_SO0.865-
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.5940.261
predicted_3B0.0550.024
predicted_AB8.2654.369
predicted_AVG0.198-0.013
predicted_BB0.8460.388
predicted_H1.5630.743
predicted_HBP0.061-
predicted_HR0.1990.099
predicted_OBP0.265-0.009
predicted_R0.9840.437
predicted_RBI1.1020.632
predicted_SLG0.344-0.009
predicted_SO1.8330.968
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.5940.000
predicted_3B0.0550.000
predicted_AB8.2650.000
predicted_AVG0.196-0.002
predicted_BB0.8550.009
predicted_H1.6160.054
predicted_HBP0.0610.000
predicted_HR0.2060.007
predicted_OBP0.2710.006
predicted_R1.0420.058
predicted_RBI1.1670.065
predicted_SLG0.3560.012
predicted_SO1.813-0.020
4. ab_floor_and_scaling

AB rounded to 8 (raw=8.26), rates preserved: AVG=0.196 HR/AB=0.025

MetricValueDelta vs Prev Step
2B1.000-
3B0.000-
AB8.000-
BB1.000-
H2.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO2.000-
5. bvp_blend

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

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB8.0000.000
BB1.0000.000
H2.0000.000
HR0.0000.000
RBI1.0000.000
SO2.0000.000
6. consistency_constraints

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

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB8.0000.000
BB1.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
7. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B1.0000.406
predicted_3B0.000-0.055
predicted_AB8.000-0.265
predicted_AVG0.2500.054
predicted_BB1.0000.145
predicted_H2.0000.384
predicted_HR0.000-0.206
predicted_OBP0.3330.062
predicted_R1.000-0.042
predicted_RBI1.000-0.167
predicted_SLG0.3750.019
predicted_SO2.0000.187
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.000-1.000
3B0.0000.000
AB4.000-4.000
BB0.000-1.000
CS0.0000.000
H1.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.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 192
Reference playing time: 3.896
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.203-17.0002.0000.0000.0000.0003.0000.0000.0004.0000.11760.11760.11760.11770.00000.17650.00000.2353
last_100.204-34.0002.0000.0000.0000.0003.0000.0003.0006.0000.05880.13510.05880.05880.00000.08820.08820.1765
season0.6046-748.000149.00064.0006.00022.000100.000105.00088.000166.0000.19920.28550.38900.19920.02940.13370.11770.2219
Weighted Prediction From Real Data
MetricValue
predicted_2B0.9250
predicted_3B0.0860
predicted_AB13.8260
predicted_AVG0.1814
predicted_BB1.3390
predicted_H2.5080
predicted_HBP0.0610
predicted_HR0.3260
predicted_OBP0.2532
predicted_R1.5400
predicted_RBI1.9060
predicted_SLG0.3315
predicted_SO3.0640
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.33300.92500.5935model_form_blend
predicted_3B0.03100.08600.0552model_form_blend
predicted_AB3.896013.82608.2649model_form_blend
predicted_AVG0.21100.18140.1980model_form_blend
predicted_BB0.45801.33900.8456model_form_blend
predicted_H0.82002.50801.5627model_form_blend
predicted_HBP-0.06100.0610form_only
predicted_HR0.10000.32600.1994model_form_blend
predicted_OBP0.27400.25320.2648model_form_blend
predicted_R0.54701.54000.9839model_form_blend
predicted_RBI0.47001.90601.1018model_form_blend
predicted_SLG0.35300.33150.3435model_form_blend
predicted_SO0.86503.06401.8325model_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 date192
Season rows before report date192
Report year2026
Profile rows used192
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.199

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_R0
Hitting_RBI3
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB2
Hitting_battingOrder5
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedLF
gameID20260520_OAK@LAA
game_typefull
mlbID691016
playerID691016
playerNameTyler Soderstrom
posLF
startedTrue
startingPositionLF
teamOAK
teamID20
game_date2026-05-20
sl_k_percent20.4
sl_bb_percent9.9
sl_woba0.285
sl_xwoba0.319
sl_xba0.234
sl_xslg0.421
sl_sweet_spot_percent30.3
sl_barrel_batted_rate12.2
sl_hard_hit_percent44.7
sl_exit_velocity_avg90.2
sl_launch_angle_avg15.8
sl_whiff_percent24.5
sl_swing_percent47.9
Jeff McNeil (643446) · BATTER · 2B · Team OAK
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 162
All-history rows before 20260521: 162
System season_avg: 0.2930
Data season_avg (2026 season-to-date): 0.2931
Diff (system - data): -0.0001
System opponent_avg: 0.3050

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2170.0000.000Hitting_2B0.2160.000-0.2160.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.4973.0007.000Hitting_AB3.4754.000-0.475-1.000
predicted_AVG0.2520.0000.286Hitting_AVG0.2930.250-0.293-0.250
predicted_BB0.3111.0001.000Hitting_BB0.3091.0000.6910.000
predicted_CS-0.0000.000BaseRunning_CS0.0490.000-0.0490.000
predicted_H0.7700.0002.000Hitting_H1.0191.000-1.019-1.000
predicted_HR0.0800.0000.000Hitting_HR0.0371.000-0.037-1.000
predicted_OBP0.3160.2500.375Hitting_OBP0.3560.400-0.106-0.150
predicted_R0.3790.0001.000Hitting_R0.3771.000-0.377-1.000
predicted_RBI0.3500.0001.000Hitting_RBI0.3581.000-0.358-1.000
predicted_SB-0.0000.000BaseRunning_SB0.0310.000-0.0310.000
predicted_SLG0.3790.0000.286Hitting_SLG0.3871.000-0.387-1.000
predicted_SO0.4910.0001.000Hitting_SO0.4882.000-0.488-2.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics4
Deboosted Metrics7
Better Metrics5
Worse Metrics6
Biggest Boostpredicted_BB: 0.3110 -> 1.0000 (boost 0.6890, better)
Biggest Deboostpredicted_H: 0.7700 -> 0.0000 (deboost -0.7700, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend11110101predicted_AB: 3.4970 -> 7.0200 (boost 3.5230, 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_snapshot55050predicted_H: 2.0085 -> 2.0774 (boost 0.0689, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling72534predicted_BB: 0.5894 -> 1.0000 (boost 0.4106, better)predicted_2B: 0.3703 -> 0.0000 (deboost -0.3703, worse)AB rounded to 7 (raw=7.02), rates preserved: AVG=0.296 HR/AB=0.019
5consistency_constraints10101-predicted_R: 1.0631 -> 1.0000 (deboost -0.0631, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context31212predicted_OBP: 0.3505 -> 0.3750 (boost 0.0245, better)predicted_SLG: 0.4073 -> 0.2860 (deboost -0.1213, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference50514-predicted_AB: 7.0000 -> 3.0000 (deboost -4.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final32121predicted_SLG: 0.2860 -> 0.4073 (boost 0.1213, better)predicted_OBP: 0.3750 -> 0.3505 (deboost -0.0245, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "643446",
  "player_name": "Jeff McNeil",
  "position": "2B",
  "team": "OAK",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.217,
        "predicted_3B": 0.0,
        "predicted_AB": 3.497,
        "predicted_AVG": 0.252,
        "predicted_BB": 0.311,
        "predicted_H": 0.77,
        "predicted_HR": 0.08,
        "predicted_OBP": 0.316,
        "predicted_R": 0.379,
        "predicted_RBI": 0.35,
        "predicted_SLG": 0.379,
        "predicted_SO": 0.491
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.3703,
        "predicted_3B": 0.0009,
        "predicted_AB": 7.02,
        "predicted_AVG": 0.2782,
        "predicted_BB": 0.5831,
        "predicted_H": 2.0085,
        "predicted_HBP": 0.144,
        "predicted_HR": 0.132,
        "predicted_OBP": 0.3384,
        "predicted_R": 1.0039,
        "predicted_RBI": 0.6583,
        "predicted_SLG": 0.3938,
        "predicted_SO": 1.0937
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.217,
          "after": 0.3703,
          "delta": 0.1533,
          "percent_delta": 0.7065,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.497,
          "after": 7.02,
          "delta": 3.523,
          "percent_delta": 1.0074,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.252,
          "after": 0.2782,
          "delta": 0.0262,
          "percent_delta": 0.104,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.311,
          "after": 0.5831,
          "delta": 0.2721,
          "percent_delta": 0.8749,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.77,
          "after": 2.0085,
          "delta": 1.2385,
          "percent_delta": 1.6084,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.08,
          "after": 0.132,
          "delta": 0.052,
          "percent_delta": 0.65,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.316,
          "after": 0.3384,
          "delta": 0.0224,
          "percent_delta": 0.0709,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.379,
          "after": 1.0039,
          "delta": 0.6249,
          "percent_delta": 1.6488,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.35,
          "after": 0.6583,
          "delta": 0.3083,
          "percent_delta": 0.8809,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.379,
          "after": 0.3938,
          "delta": 0.0148,
          "percent_delta": 0.0391,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.491,
          "after": 1.0937,
          "delta": 0.6027,
          "percent_delta": 1.2275,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 11,
        "boosted_metrics": 11,
        "deboosted_metrics": 0,
        "better_metrics": 10,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.497,
          "after": 7.02,
          "delta": 3.523,
          "percent_delta": 1.0074,
          "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": 2,
        "last_10": 4,
        "season": 45
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.3703,
        "predicted_3B": 0.0009,
        "predicted_AB": 7.02,
        "predicted_AVG": 0.2959,
        "predicted_BB": 0.5894,
        "predicted_H": 2.0774,
        "predicted_HBP": 0.144,
        "predicted_HR": 0.1366,
        "predicted_OBP": 0.3505,
        "predicted_R": 1.0631,
        "predicted_RBI": 0.6971,
        "predicted_SLG": 0.4073,
        "predicted_SO": 1.0819
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.3703,
          "after": 0.3703,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.02,
          "after": 7.02,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2782,
          "after": 0.2959,
          "delta": 0.0177,
          "percent_delta": 0.0636,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5831,
          "after": 0.5894,
          "delta": 0.0063,
          "percent_delta": 0.0108,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0085,
          "after": 2.0774,
          "delta": 0.0689,
          "percent_delta": 0.0343,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.144,
          "after": 0.144,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.132,
          "after": 0.1366,
          "delta": 0.0046,
          "percent_delta": 0.0348,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3384,
          "after": 0.3505,
          "delta": 0.0121,
          "percent_delta": 0.0358,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0039,
          "after": 1.0631,
          "delta": 0.0592,
          "percent_delta": 0.059,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6583,
          "after": 0.6971,
          "delta": 0.0388,
          "percent_delta": 0.0589,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3938,
          "after": 0.4073,
          "delta": 0.0135,
          "percent_delta": 0.0343,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0937,
          "after": 1.0819,
          "delta": -0.0118,
          "percent_delta": -0.0108,
          "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": 2.0085,
          "after": 2.0774,
          "delta": 0.0689,
          "percent_delta": 0.0343,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 7 (raw=7.02), rates preserved: AVG=0.296 HR/AB=0.019",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.3703,
          "after": 0.0,
          "delta": -0.3703,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.02,
          "after": 7.0,
          "delta": -0.02,
          "percent_delta": -0.0028,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.5894,
          "after": 1.0,
          "delta": 0.4106,
          "percent_delta": 0.6966,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.0774,
          "after": 2.0,
          "delta": -0.0774,
          "percent_delta": -0.0373,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.144,
          "after": 0.0,
          "delta": -0.144,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1366,
          "after": 0.0,
          "delta": -0.1366,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6971,
          "after": 1.0,
          "delta": 0.3029,
          "percent_delta": 0.4345,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0819,
          "after": 1.0,
          "delta": -0.0819,
          "percent_delta": -0.0757,
          "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.5894,
          "after": 1.0,
          "delta": 0.4106,
          "percent_delta": 0.6966,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.3703,
          "after": 0.0,
          "delta": -0.3703,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.0,
          "after": 7.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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0631,
          "after": 1.0,
          "delta": -0.0631,
          "percent_delta": -0.0594,
          "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": 1.0631,
          "after": 1.0,
          "delta": -0.0631,
          "percent_delta": -0.0594,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.0,
        "predicted_AVG": 0.286,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.375,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.286,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.0,
          "after": 7.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2959,
          "after": 0.286,
          "delta": -0.0099,
          "percent_delta": -0.0335,
          "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": 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.3505,
          "after": 0.375,
          "delta": 0.0245,
          "percent_delta": 0.0699,
          "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.4073,
          "after": 0.286,
          "delta": -0.1213,
          "percent_delta": -0.2978,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.3505,
          "after": 0.375,
          "delta": 0.0245,
          "percent_delta": 0.0699,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4073,
          "after": 0.286,
          "delta": -0.1213,
          "percent_delta": -0.2978,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.0,
          "after": 3.0,
          "delta": -4.0,
          "percent_delta": -0.5714,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 7.0,
          "after": 3.0,
          "delta": -4.0,
          "percent_delta": -0.5714,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2959,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3505,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4073,
        "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.286,
          "after": 0.2959,
          "delta": 0.0099,
          "percent_delta": 0.0347,
          "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.375,
          "after": 0.3505,
          "delta": -0.0245,
          "percent_delta": -0.0654,
          "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.286,
          "after": 0.4073,
          "delta": 0.1213,
          "percent_delta": 0.4242,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.286,
          "after": 0.4073,
          "delta": 0.1213,
          "percent_delta": 0.4242,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.375,
          "after": 0.3505,
          "delta": -0.0245,
          "percent_delta": -0.0654,
          "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.217,
        "after": 0.0,
        "delta": -0.217,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.497,
        "after": 3.0,
        "delta": -0.497,
        "percent_delta": -0.1421,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.252,
        "after": 0.2959,
        "delta": 0.0439,
        "percent_delta": 0.1742,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.311,
        "after": 1.0,
        "delta": 0.689,
        "percent_delta": 2.2154,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.77,
        "after": 0.0,
        "delta": -0.77,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.08,
        "after": 0.0,
        "delta": -0.08,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.316,
        "after": 0.3505,
        "delta": 0.0345,
        "percent_delta": 0.1092,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.379,
        "after": 0.0,
        "delta": -0.379,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.35,
        "after": 0.0,
        "delta": -0.35,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.379,
        "after": 0.4073,
        "delta": 0.0283,
        "percent_delta": 0.0747,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.491,
        "after": 0.0,
        "delta": -0.491,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 4,
      "deboosted_metrics": 7,
      "better_metrics": 5,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.311,
        "after": 1.0,
        "delta": 0.689,
        "percent_delta": 2.2154,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.77,
        "after": 0.0,
        "delta": -0.77,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.217-
predicted_3B0.000-
predicted_AB3.497-
predicted_AVG0.252-
predicted_BB0.311-
predicted_H0.770-
predicted_HR0.080-
predicted_OBP0.316-
predicted_R0.379-
predicted_RBI0.350-
predicted_SLG0.379-
predicted_SO0.491-
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.3700.153
predicted_3B0.0010.001
predicted_AB7.0203.523
predicted_AVG0.2780.026
predicted_BB0.5830.272
predicted_H2.0091.239
predicted_HBP0.144-
predicted_HR0.1320.052
predicted_OBP0.3380.022
predicted_R1.0040.625
predicted_RBI0.6580.308
predicted_SLG0.3940.015
predicted_SO1.0940.603
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.3700.000
predicted_3B0.0010.000
predicted_AB7.0200.000
predicted_AVG0.2960.018
predicted_BB0.5890.006
predicted_H2.0770.069
predicted_HBP0.1440.000
predicted_HR0.1370.005
predicted_OBP0.3500.012
predicted_R1.0630.059
predicted_RBI0.6970.039
predicted_SLG0.4070.014
predicted_SO1.082-0.012
4. ab_floor_and_scaling

AB rounded to 7 (raw=7.02), rates preserved: AVG=0.296 HR/AB=0.019

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB7.000-
BB1.000-
H2.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB7.0000.000
BB1.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
6. 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.370
predicted_3B0.000-0.001
predicted_AB7.000-0.020
predicted_AVG0.286-0.010
predicted_BB1.0000.411
predicted_H2.000-0.077
predicted_HR0.000-0.137
predicted_OBP0.3750.025
predicted_R1.000-0.063
predicted_RBI1.0000.303
predicted_SLG0.286-0.121
predicted_SO1.000-0.082
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-4.000
BB1.0000.000
CS0.0000.000
H0.000-2.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: 161
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-20.0009.0000.0000.0001.0001.0009.0001.0006.0000.45000.47620.60000.45000.05000.05000.05000.3000
last_100.204-38.00013.0000.0000.0001.0001.0009.0002.0006.0000.34210.37500.42110.34210.02630.02630.05260.1579
season0.6045-563.000165.00035.0000.0006.00058.00061.00050.00079.0000.29310.35500.38720.29310.01070.10300.08880.1403
Weighted Prediction From Real Data
MetricValue
predicted_2B0.5680
predicted_3B0.0020
predicted_AB11.5640
predicted_AVG0.3119
predicted_BB0.9340
predicted_H3.6060
predicted_HBP0.1440
predicted_HR0.1990
predicted_OBP0.3673
predicted_R1.8100
predicted_RBI1.0560
predicted_SLG0.4129
predicted_SO1.8710
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.21700.56800.3703model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB3.497011.56407.0200model_form_blend
predicted_AVG0.25200.31190.2782model_form_blend
predicted_BB0.31100.93400.5831model_form_blend
predicted_H0.77003.60602.0085model_form_blend
predicted_HBP-0.14400.1440form_only
predicted_HR0.08000.19900.1320model_form_blend
predicted_OBP0.31600.36730.3384model_form_blend
predicted_R0.37901.81001.0039model_form_blend
predicted_RBI0.35001.05600.6583model_form_blend
predicted_SLG0.37900.41290.3938model_form_blend
predicted_SO0.49101.87101.0937model_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 date162
Season rows before report date162
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.293

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_IBB1
Hitting_R1
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO2
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
allPositionsPlayed2B
gameID20260520_OAK@LAA
game_typefull
mlbID643446
playerID643446
playerNameJeff McNeil
pos2B
startedTrue
startingPosition2B
teamOAK
teamID20
game_date2026-05-20
sl_k_percent13.0
sl_bb_percent7.5
sl_woba0.32
sl_xwoba0.322
sl_xba0.289
sl_xslg0.364
sl_sweet_spot_percent40.8
sl_barrel_batted_rate0.8
sl_hard_hit_percent33.6
sl_exit_velocity_avg86.2
sl_launch_angle_avg12.1
sl_whiff_percent15.9
sl_swing_percent54.0
Zack Gelof (680869) · BATTER · 3B · Team OAK
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 107
All-history rows before 20260521: 107
System season_avg: 0.2710
Data season_avg (2026 season-to-date): 0.2708
Diff (system - data): 0.0002
System opponent_avg: 0.3900

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0680.0000.000Hitting_2B0.0650.000-0.0650.000
predicted_3B0.0490.0000.000Hitting_3B0.0470.000-0.0470.000
predicted_AB3.6214.0007.000Hitting_AB3.4865.0000.514-1.000
predicted_AVG0.2350.2500.286Hitting_AVG0.2710.000-0.0210.250
predicted_BB0.2430.0000.000Hitting_BB0.2340.000-0.2340.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.2801.0002.000Hitting_H0.9440.0000.0561.000
predicted_HR0.0700.0000.000Hitting_HR0.2430.000-0.2430.000
predicted_OBP0.2780.2500.286Hitting_OBP0.3230.000-0.0730.250
predicted_R0.6600.0002.000Hitting_R0.6540.000-0.6540.000
predicted_RBI0.2000.0001.000Hitting_RBI0.5980.000-0.5980.000
predicted_SLG0.4190.2500.286Hitting_SLG0.5250.000-0.2750.250
predicted_SO0.8640.0002.000Hitting_SO0.8321.000-0.832-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_H: 0.2800 -> 1.0000 (boost 0.7200, better)
Biggest Deboostpredicted_SO: 0.8640 -> 0.0000 (deboost -0.8640, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend11110101predicted_AB: 3.6210 -> 7.3332 (boost 3.7122, 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_snapshot63333predicted_R: 1.4330 -> 1.5175 (boost 0.0845, better)predicted_OBP: 0.3081 -> 0.2890 (deboost -0.0191, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling92718predicted_SO: 1.7035 -> 2.0000 (boost 0.2965, worse)predicted_HR: 0.4728 -> 0.0000 (deboost -0.4728, worse)AB rounded to 7 (raw=7.33), rates preserved: AVG=0.246 HR/AB=0.064
5consistency_constraints11010predicted_R: 1.5175 -> 2.0000 (boost 0.4825, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context21111predicted_AVG: 0.2457 -> 0.2860 (boost 0.0403, better)predicted_SLG: 0.4803 -> 0.2860 (deboost -0.1943, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference50514-predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final21111predicted_SLG: 0.2860 -> 0.4803 (boost 0.1943, better)predicted_AVG: 0.2860 -> 0.2457 (deboost -0.0403, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "680869",
  "player_name": "Zack Gelof",
  "position": "3B",
  "team": "OAK",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.068,
        "predicted_3B": 0.049,
        "predicted_AB": 3.621,
        "predicted_AVG": 0.235,
        "predicted_BB": 0.243,
        "predicted_H": 0.28,
        "predicted_HR": 0.07,
        "predicted_OBP": 0.278,
        "predicted_R": 0.66,
        "predicted_RBI": 0.2,
        "predicted_SLG": 0.419,
        "predicted_SO": 0.864
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1333,
        "predicted_3B": 0.0842,
        "predicted_AB": 7.3332,
        "predicted_AVG": 0.2631,
        "predicted_BB": 0.4411,
        "predicted_H": 1.7423,
        "predicted_HBP": 0.17,
        "predicted_HR": 0.4567,
        "predicted_OBP": 0.3081,
        "predicted_R": 1.433,
        "predicted_RBI": 1.2218,
        "predicted_SLG": 0.4868,
        "predicted_SO": 1.7221
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.068,
          "after": 0.1333,
          "delta": 0.0653,
          "percent_delta": 0.9603,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.049,
          "after": 0.0842,
          "delta": 0.0352,
          "percent_delta": 0.7184,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.621,
          "after": 7.3332,
          "delta": 3.7122,
          "percent_delta": 1.0252,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.235,
          "after": 0.2631,
          "delta": 0.0281,
          "percent_delta": 0.1196,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.243,
          "after": 0.4411,
          "delta": 0.1981,
          "percent_delta": 0.8152,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.28,
          "after": 1.7423,
          "delta": 1.4623,
          "percent_delta": 5.2225,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.07,
          "after": 0.4567,
          "delta": 0.3867,
          "percent_delta": 5.5243,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.278,
          "after": 0.3081,
          "delta": 0.0301,
          "percent_delta": 0.1083,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.66,
          "after": 1.433,
          "delta": 0.773,
          "percent_delta": 1.1712,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2,
          "after": 1.2218,
          "delta": 1.0218,
          "percent_delta": 5.109,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.419,
          "after": 0.4868,
          "delta": 0.0678,
          "percent_delta": 0.1618,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.864,
          "after": 1.7221,
          "delta": 0.8581,
          "percent_delta": 0.9932,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 11,
        "boosted_metrics": 11,
        "deboosted_metrics": 0,
        "better_metrics": 10,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.621,
          "after": 7.3332,
          "delta": 3.7122,
          "percent_delta": 1.0252,
          "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": 2,
        "last_10": 3,
        "season": 29
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1333,
        "predicted_3B": 0.0842,
        "predicted_AB": 7.3332,
        "predicted_AVG": 0.2457,
        "predicted_BB": 0.4459,
        "predicted_H": 1.8021,
        "predicted_HBP": 0.17,
        "predicted_HR": 0.4728,
        "predicted_OBP": 0.289,
        "predicted_R": 1.5175,
        "predicted_RBI": 1.2939,
        "predicted_SLG": 0.4803,
        "predicted_SO": 1.7035
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1333,
          "after": 0.1333,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0842,
          "after": 0.0842,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.3332,
          "after": 7.3332,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2631,
          "after": 0.2457,
          "delta": -0.0174,
          "percent_delta": -0.0661,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4411,
          "after": 0.4459,
          "delta": 0.0048,
          "percent_delta": 0.0109,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.7423,
          "after": 1.8021,
          "delta": 0.0598,
          "percent_delta": 0.0343,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.17,
          "after": 0.17,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.4567,
          "after": 0.4728,
          "delta": 0.0161,
          "percent_delta": 0.0353,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3081,
          "after": 0.289,
          "delta": -0.0191,
          "percent_delta": -0.062,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.433,
          "after": 1.5175,
          "delta": 0.0845,
          "percent_delta": 0.059,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.2218,
          "after": 1.2939,
          "delta": 0.0721,
          "percent_delta": 0.059,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4868,
          "after": 0.4803,
          "delta": -0.0065,
          "percent_delta": -0.0134,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.7221,
          "after": 1.7035,
          "delta": -0.0186,
          "percent_delta": -0.0108,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 1.433,
          "after": 1.5175,
          "delta": 0.0845,
          "percent_delta": 0.059,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3081,
          "after": 0.289,
          "delta": -0.0191,
          "percent_delta": -0.062,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 7 (raw=7.33), rates preserved: AVG=0.246 HR/AB=0.064",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.0,
        "predicted_BB": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1333,
          "after": 0.0,
          "delta": -0.1333,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0842,
          "after": 0.0,
          "delta": -0.0842,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 7.3332,
          "after": 7.0,
          "delta": -0.3332,
          "percent_delta": -0.0454,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4459,
          "after": 0.0,
          "delta": -0.4459,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.8021,
          "after": 2.0,
          "delta": 0.1979,
          "percent_delta": 0.1098,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.17,
          "after": 0.0,
          "delta": -0.17,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.4728,
          "after": 0.0,
          "delta": -0.4728,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.2939,
          "after": 1.0,
          "delta": -0.2939,
          "percent_delta": -0.2271,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.7035,
          "after": 2.0,
          "delta": 0.2965,
          "percent_delta": 0.1741,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 2,
        "deboosted_metrics": 7,
        "better_metrics": 1,
        "worse_metrics": 8,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.7035,
          "after": 2.0,
          "delta": 0.2965,
          "percent_delta": 0.1741,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.4728,
          "after": 0.0,
          "delta": -0.4728,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 2.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": 7.0,
          "after": 7.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.5175,
          "after": 2.0,
          "delta": 0.4825,
          "percent_delta": 0.318,
          "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": 1.5175,
          "after": 2.0,
          "delta": 0.4825,
          "percent_delta": 0.318,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.0,
        "predicted_AVG": 0.286,
        "predicted_BB": 0.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.286,
        "predicted_R": 2.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.286,
        "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": 7.0,
          "after": 7.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2457,
          "after": 0.286,
          "delta": 0.0403,
          "percent_delta": 0.164,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.289,
          "after": 0.286,
          "delta": -0.003,
          "percent_delta": -0.0104,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 2.0,
          "after": 2.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.4803,
          "after": 0.286,
          "delta": -0.1943,
          "percent_delta": -0.4045,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.2457,
          "after": 0.286,
          "delta": 0.0403,
          "percent_delta": 0.164,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4803,
          "after": 0.286,
          "delta": -0.1943,
          "percent_delta": -0.4045,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.0,
          "after": 4.0,
          "delta": -3.0,
          "percent_delta": -0.4286,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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": 2.0,
          "after": 0.0,
          "delta": -2.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": 0.0,
          "delta": -2.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 7.0,
          "after": 4.0,
          "delta": -3.0,
          "percent_delta": -0.4286,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2457,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.289,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4803,
        "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.286,
          "after": 0.2457,
          "delta": -0.0403,
          "percent_delta": -0.1408,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.286,
          "after": 0.289,
          "delta": 0.003,
          "percent_delta": 0.0104,
          "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.286,
          "after": 0.4803,
          "delta": 0.1943,
          "percent_delta": 0.6793,
          "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.286,
          "after": 0.4803,
          "delta": 0.1943,
          "percent_delta": 0.6793,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.286,
          "after": 0.2457,
          "delta": -0.0403,
          "percent_delta": -0.1408,
          "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.068,
        "after": 0.0,
        "delta": -0.068,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.049,
        "after": 0.0,
        "delta": -0.049,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.621,
        "after": 4.0,
        "delta": 0.379,
        "percent_delta": 0.1047,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.235,
        "after": 0.2457,
        "delta": 0.0107,
        "percent_delta": 0.0455,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.243,
        "after": 0.0,
        "delta": -0.243,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.28,
        "after": 1.0,
        "delta": 0.72,
        "percent_delta": 2.5714,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.07,
        "after": 0.0,
        "delta": -0.07,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.278,
        "after": 0.289,
        "delta": 0.011,
        "percent_delta": 0.0396,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.66,
        "after": 0.0,
        "delta": -0.66,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.2,
        "after": 0.0,
        "delta": -0.2,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.419,
        "after": 0.4803,
        "delta": 0.0613,
        "percent_delta": 0.1463,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.864,
        "after": 0.0,
        "delta": -0.864,
        "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_H",
        "before": 0.28,
        "after": 1.0,
        "delta": 0.72,
        "percent_delta": 2.5714,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.864,
        "after": 0.0,
        "delta": -0.864,
        "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.068-
predicted_3B0.049-
predicted_AB3.621-
predicted_AVG0.235-
predicted_BB0.243-
predicted_H0.280-
predicted_HR0.070-
predicted_OBP0.278-
predicted_R0.660-
predicted_RBI0.200-
predicted_SLG0.419-
predicted_SO0.864-
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.065
predicted_3B0.0840.035
predicted_AB7.3333.712
predicted_AVG0.2630.028
predicted_BB0.4410.198
predicted_H1.7421.462
predicted_HBP0.170-
predicted_HR0.4570.387
predicted_OBP0.3080.030
predicted_R1.4330.773
predicted_RBI1.2221.022
predicted_SLG0.4870.068
predicted_SO1.7220.858
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.0840.000
predicted_AB7.3330.000
predicted_AVG0.246-0.017
predicted_BB0.4460.005
predicted_H1.8020.060
predicted_HBP0.1700.000
predicted_HR0.4730.016
predicted_OBP0.289-0.019
predicted_R1.5180.085
predicted_RBI1.2940.072
predicted_SLG0.480-0.007
predicted_SO1.704-0.019
4. ab_floor_and_scaling

AB rounded to 7 (raw=7.33), rates preserved: AVG=0.246 HR/AB=0.064

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB7.000-
BB0.000-
H2.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO2.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB7.0000.000
BB0.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R2.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
6. 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.084
predicted_AB7.000-0.333
predicted_AVG0.2860.040
predicted_BB0.000-0.446
predicted_H2.0000.198
predicted_HR0.000-0.473
predicted_OBP0.286-0.003
predicted_R2.0000.482
predicted_RBI1.000-0.294
predicted_SLG0.286-0.194
predicted_SO2.0000.296
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.000-3.000
BB0.0000.000
CS0.0000.000
H1.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-2.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: 103
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-25.00012.0000.0000.0004.00012.0008.0000.0005.0000.48000.48000.96000.48000.16000.48000.00000.2000
last_100.203-42.00019.0000.0000.0005.00015.00014.0000.00010.0000.45240.50000.80950.45240.11910.35710.00000.2381
season0.6029-373.000101.0007.0005.00026.00064.00068.00025.00089.0000.27080.32340.52550.27080.06970.17160.06700.2386
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2200
predicted_3B0.1310
predicted_AB12.2600
predicted_AVG0.3004
predicted_BB0.7040
predicted_H3.6830
predicted_HBP0.1700
predicted_HR0.9700
predicted_OBP0.3481
predicted_R2.4590
predicted_RBI2.5780
predicted_SLG0.5769
predicted_SO2.8610
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.06800.22000.1333model_form_blend
predicted_3B0.04900.13100.0842model_form_blend
predicted_AB3.621012.26007.3332model_form_blend
predicted_AVG0.23500.30040.2631model_form_blend
predicted_BB0.24300.70400.4411model_form_blend
predicted_H0.28003.68301.7423model_form_blend
predicted_HBP-0.17000.1700form_only
predicted_HR0.07000.97000.4567model_form_blend
predicted_OBP0.27800.34810.3081model_form_blend
predicted_R0.66002.45901.4330model_form_blend
predicted_RBI0.20002.57801.2218model_form_blend
predicted_SLG0.41900.57690.4868model_form_blend
predicted_SO0.86402.86101.7221model_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 date107
Season rows before report date107
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
H1
2B0
3B0
HR0
R0
RBI0
BB0
SO0
SF0
HBP0
season_avg0.271

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_GIDP1
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
allPositionsPlayed3B
gameID20260520_OAK@LAA
game_typefull
mlbID680869
playerID680869
playerNameZack Gelof
pos3B
startedTrue
startingPosition3B
teamOAK
teamID20
game_date2026-05-20
sl_k_percent22.5
sl_bb_percent5.9
sl_woba0.361
sl_xwoba0.337
sl_xba0.257
sl_xslg0.474
sl_sweet_spot_percent33.3
sl_barrel_batted_rate11.1
sl_hard_hit_percent45.8
sl_exit_velocity_avg90.8
sl_launch_angle_avg18.4
sl_whiff_percent27.1
sl_swing_percent46.3
Darell Hernaiz (687231) · BATTER · SS · Team OAK
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 95
All-history rows before 20260521: 95
System season_avg: 0.2710
Data season_avg (2026 season-to-date): 0.2708
Diff (system - data): 0.0002
System opponent_avg: 0.2630

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0440.0000.000Hitting_2B0.0420.000-0.0420.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.0783.0006.000Hitting_AB2.9161.0000.0842.000
predicted_AVG0.2670.0000.167Hitting_AVG0.2710.000-0.2710.000
predicted_BB0.4110.0001.000Hitting_BB0.3891.000-0.389-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.2100.0001.000Hitting_H0.7890.000-0.7890.000
predicted_HR0.0300.0000.000Hitting_HR0.0420.000-0.0420.000
predicted_OBP0.3300.0000.286Hitting_OBP0.3590.667-0.359-0.667
predicted_R0.4560.0001.000Hitting_R0.4321.000-0.432-1.000
predicted_RBI0.1100.0001.000Hitting_RBI0.2530.000-0.2530.000
predicted_SLG0.3560.0000.167Hitting_SLG0.3290.000-0.3290.000
predicted_SO0.5112.0001.000Hitting_SO0.4841.0001.5161.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics8
Boosted Metrics1
Deboosted Metrics7
Better Metrics0
Worse Metrics8
Biggest Boostpredicted_SO: 0.5110 -> 2.0000 (boost 1.4890, worse)
Biggest Deboostpredicted_R: 0.4560 -> 0.0000 (deboost -0.4560, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend88071predicted_AB: 3.0780 -> 5.5205 (boost 2.4425, 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_snapshot41313predicted_R: 1.0262 -> 1.0867 (boost 0.0605, better)predicted_SLG: 0.3532 -> 0.2823 (deboost -0.0709, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling84435predicted_RBI: 0.5081 -> 1.0000 (boost 0.4919, better)predicted_H: 1.2658 -> 1.0000 (deboost -0.2658, worse)AB rounded to 6 (raw=5.52), rates preserved: AVG=0.229 HR/AB=0.013
5consistency_constraints10101-predicted_R: 1.0867 -> 1.0000 (deboost -0.0867, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context30303-predicted_SLG: 0.2823 -> 0.1670 (deboost -0.1153, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference61506predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse)predicted_AB: 6.0000 -> 3.0000 (deboost -3.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final33030predicted_SLG: 0.1670 -> 0.2823 (boost 0.1153, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "687231",
  "player_name": "Darell Hernaiz",
  "position": "SS",
  "team": "OAK",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.044,
        "predicted_3B": 0.0,
        "predicted_AB": 3.078,
        "predicted_AVG": 0.267,
        "predicted_BB": 0.411,
        "predicted_H": 0.21,
        "predicted_HR": 0.03,
        "predicted_OBP": 0.33,
        "predicted_R": 0.456,
        "predicted_RBI": 0.11,
        "predicted_SLG": 0.356,
        "predicted_SO": 0.511
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0805,
        "predicted_3B": 0.0013,
        "predicted_AB": 5.5205,
        "predicted_AVG": 0.2785,
        "predicted_BB": 0.7948,
        "predicted_H": 1.2238,
        "predicted_HBP": 0.105,
        "predicted_HR": 0.0674,
        "predicted_OBP": 0.3545,
        "predicted_R": 1.0262,
        "predicted_RBI": 0.4798,
        "predicted_SLG": 0.3532,
        "predicted_SO": 0.8468
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.044,
          "after": 0.0805,
          "delta": 0.0365,
          "percent_delta": 0.8295,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0013,
          "delta": 0.0013,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.078,
          "after": 5.5205,
          "delta": 2.4425,
          "percent_delta": 0.7935,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.267,
          "after": 0.2785,
          "delta": 0.0115,
          "percent_delta": 0.0431,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.411,
          "after": 0.7948,
          "delta": 0.3838,
          "percent_delta": 0.9338,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.21,
          "after": 1.2238,
          "delta": 1.0138,
          "percent_delta": 4.8276,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.03,
          "after": 0.0674,
          "delta": 0.0374,
          "percent_delta": 1.2467,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.33,
          "after": 0.3545,
          "delta": 0.0245,
          "percent_delta": 0.0742,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.456,
          "after": 1.0262,
          "delta": 0.5702,
          "percent_delta": 1.2504,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.11,
          "after": 0.4798,
          "delta": 0.3698,
          "percent_delta": 3.3618,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.356,
          "after": 0.3532,
          "delta": -0.0028,
          "percent_delta": -0.0079,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.511,
          "after": 0.8468,
          "delta": 0.3358,
          "percent_delta": 0.6571,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 8,
        "deboosted_metrics": 0,
        "better_metrics": 7,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.078,
          "after": 5.5205,
          "delta": 2.4425,
          "percent_delta": 0.7935,
          "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": 2,
        "last_10": 4,
        "season": 29
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0805,
        "predicted_3B": 0.0013,
        "predicted_AB": 5.5205,
        "predicted_AVG": 0.2293,
        "predicted_BB": 0.8034,
        "predicted_H": 1.2658,
        "predicted_HBP": 0.105,
        "predicted_HR": 0.0698,
        "predicted_OBP": 0.3272,
        "predicted_R": 1.0867,
        "predicted_RBI": 0.5081,
        "predicted_SLG": 0.2823,
        "predicted_SO": 0.8377
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0805,
          "after": 0.0805,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0013,
          "after": 0.0013,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.5205,
          "after": 5.5205,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2785,
          "after": 0.2293,
          "delta": -0.0492,
          "percent_delta": -0.1767,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.7948,
          "after": 0.8034,
          "delta": 0.0086,
          "percent_delta": 0.0108,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.2238,
          "after": 1.2658,
          "delta": 0.042,
          "percent_delta": 0.0343,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.105,
          "after": 0.105,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0674,
          "after": 0.0698,
          "delta": 0.0024,
          "percent_delta": 0.0356,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3545,
          "after": 0.3272,
          "delta": -0.0273,
          "percent_delta": -0.077,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0262,
          "after": 1.0867,
          "delta": 0.0605,
          "percent_delta": 0.059,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4798,
          "after": 0.5081,
          "delta": 0.0283,
          "percent_delta": 0.059,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3532,
          "after": 0.2823,
          "delta": -0.0709,
          "percent_delta": -0.2007,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8468,
          "after": 0.8377,
          "delta": -0.0091,
          "percent_delta": -0.0107,
          "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": 1.0262,
          "after": 1.0867,
          "delta": 0.0605,
          "percent_delta": 0.059,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3532,
          "after": 0.2823,
          "delta": -0.0709,
          "percent_delta": -0.2007,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 6 (raw=5.52), rates preserved: AVG=0.229 HR/AB=0.013",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.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.0805,
          "after": 0.0,
          "delta": -0.0805,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0013,
          "after": 0.0,
          "delta": -0.0013,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.5205,
          "after": 6.0,
          "delta": 0.4795,
          "percent_delta": 0.0869,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.8034,
          "after": 1.0,
          "delta": 0.1966,
          "percent_delta": 0.2447,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.2658,
          "after": 1.0,
          "delta": -0.2658,
          "percent_delta": -0.21,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.105,
          "after": 0.0,
          "delta": -0.105,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0698,
          "after": 0.0,
          "delta": -0.0698,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5081,
          "after": 1.0,
          "delta": 0.4919,
          "percent_delta": 0.9681,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8377,
          "after": 1.0,
          "delta": 0.1623,
          "percent_delta": 0.1937,
          "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.5081,
          "after": 1.0,
          "delta": 0.4919,
          "percent_delta": 0.9681,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.2658,
          "after": 1.0,
          "delta": -0.2658,
          "percent_delta": -0.21,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_BB": 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": 6.0,
          "after": 6.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": 1.0867,
          "after": 1.0,
          "delta": -0.0867,
          "percent_delta": -0.0798,
          "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": 1.0867,
          "after": 1.0,
          "delta": -0.0867,
          "percent_delta": -0.0798,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_AVG": 0.167,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.286,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.167,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2293,
          "after": 0.167,
          "delta": -0.0623,
          "percent_delta": -0.2717,
          "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.3272,
          "after": 0.286,
          "delta": -0.0412,
          "percent_delta": -0.1259,
          "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.2823,
          "after": 0.167,
          "delta": -0.1153,
          "percent_delta": -0.4084,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.2823,
          "after": 0.167,
          "delta": -0.1153,
          "percent_delta": -0.4084,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 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": 6.0,
          "after": 3.0,
          "delta": -3.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "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": 1,
        "deboosted_metrics": 5,
        "better_metrics": 0,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 3.0,
          "delta": -3.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2293,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3272,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2823,
        "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": 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.167,
          "after": 0.2293,
          "delta": 0.0623,
          "percent_delta": 0.373,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.286,
          "after": 0.3272,
          "delta": 0.0412,
          "percent_delta": 0.144,
          "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.167,
          "after": 0.2823,
          "delta": 0.1153,
          "percent_delta": 0.6902,
          "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.167,
          "after": 0.2823,
          "delta": 0.1153,
          "percent_delta": 0.6902,
          "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.044,
        "after": 0.0,
        "delta": -0.044,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.078,
        "after": 3.0,
        "delta": -0.078,
        "percent_delta": -0.0253,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.267,
        "after": 0.2293,
        "delta": -0.0377,
        "percent_delta": -0.1412,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.411,
        "after": 0.0,
        "delta": -0.411,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.21,
        "after": 0.0,
        "delta": -0.21,
        "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.33,
        "after": 0.3272,
        "delta": -0.0028,
        "percent_delta": -0.0085,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.456,
        "after": 0.0,
        "delta": -0.456,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.11,
        "after": 0.0,
        "delta": -0.11,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.356,
        "after": 0.2823,
        "delta": -0.0737,
        "percent_delta": -0.207,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.511,
        "after": 2.0,
        "delta": 1.489,
        "percent_delta": 2.9139,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 8,
      "boosted_metrics": 1,
      "deboosted_metrics": 7,
      "better_metrics": 0,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.511,
        "after": 2.0,
        "delta": 1.489,
        "percent_delta": 2.9139,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.456,
        "after": 0.0,
        "delta": -0.456,
        "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.044-
predicted_3B0.000-
predicted_AB3.078-
predicted_AVG0.267-
predicted_BB0.411-
predicted_H0.210-
predicted_HR0.030-
predicted_OBP0.330-
predicted_R0.456-
predicted_RBI0.110-
predicted_SLG0.356-
predicted_SO0.511-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.0810.037
predicted_3B0.0010.001
predicted_AB5.5212.443
predicted_AVG0.2790.012
predicted_BB0.7950.384
predicted_H1.2241.014
predicted_HBP0.105-
predicted_HR0.0670.037
predicted_OBP0.3540.024
predicted_R1.0260.570
predicted_RBI0.4800.370
predicted_SLG0.353-0.003
predicted_SO0.8470.336
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.0810.000
predicted_3B0.0010.000
predicted_AB5.5210.000
predicted_AVG0.229-0.049
predicted_BB0.8030.009
predicted_H1.2660.042
predicted_HBP0.1050.000
predicted_HR0.0700.002
predicted_OBP0.327-0.027
predicted_R1.0870.060
predicted_RBI0.5080.028
predicted_SLG0.282-0.071
predicted_SO0.838-0.009
4. ab_floor_and_scaling

AB rounded to 6 (raw=5.52), rates preserved: AVG=0.229 HR/AB=0.013

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB6.000-
BB1.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB6.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
6. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.081
predicted_3B0.000-0.001
predicted_AB6.0000.479
predicted_AVG0.167-0.062
predicted_BB1.0000.197
predicted_H1.000-0.266
predicted_HR0.000-0.070
predicted_OBP0.286-0.041
predicted_R1.000-0.087
predicted_RBI1.0000.492
predicted_SLG0.167-0.115
predicted_SO1.0000.162
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 90
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-17.0008.0000.0000.0000.0004.0009.0005.0001.0000.47060.60870.47060.47060.00000.23530.29410.0588
last_100.204-33.00011.0000.0000.0000.0005.00012.0006.0001.0000.33330.45000.33330.33330.00000.15150.18180.0303
season0.6029-277.00075.0004.0000.0004.00024.00041.00037.00046.0000.27080.35870.32850.27080.01440.08660.13360.1661
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1300
predicted_3B0.0030
predicted_AB8.8310
predicted_AVG0.2942
predicted_BB1.3150
predicted_H2.5980
predicted_HBP0.1050
predicted_HR0.1180
predicted_OBP0.3877
predicted_R1.7990
predicted_RBI0.9810
predicted_SLG0.3495
predicted_SO1.3020
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.04400.13000.0805model_form_blend
predicted_3B0.00000.00300.0013model_form_blend
predicted_AB3.07808.83105.5205model_form_blend
predicted_AVG0.26700.29420.2785model_form_blend
predicted_BB0.41101.31500.7948model_form_blend
predicted_H0.21002.59801.2238model_form_blend
predicted_HBP-0.10500.1050form_only
predicted_HR0.03000.11800.0674model_form_blend
predicted_OBP0.33000.38770.3545model_form_blend
predicted_R0.45601.79901.0262model_form_blend
predicted_RBI0.11000.98100.4798model_form_blend
predicted_SLG0.35600.34950.3532model_form_blend
predicted_SO0.51101.30200.8468model_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 date95
Season rows before report date95
Report year2026
Profile rows used90
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA3
AB3
H0
2B0
3B0
HR0
R0
RBI0
BB0
SO2
SF0
HBP0
season_avg0.271

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_HBP1
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
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
gameID20260520_OAK@LAA
game_typefull
mlbID687231
playerID687231
playerNameDarell Hernaiz
pos3B
startedTrue
startingPositionSS
teamOAK
teamID20
game_date2026-05-20
sl_k_percent15.7
sl_bb_percent10.1
sl_woba0.308
sl_xwoba0.263
sl_xba0.217
sl_xslg0.272
sl_sweet_spot_percent28.8
sl_barrel_batted_rate1.5
sl_hard_hit_percent22.7
sl_exit_velocity_avg83.9
sl_launch_angle_avg17.2
sl_whiff_percent19.3
sl_swing_percent52.1
Lawrence Butler (671732) · BATTER · CF · Team OAK
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 154
All-history rows before 20260521: 154
System season_avg: 0.1880
Data season_avg (2026 season-to-date): 0.1883
Diff (system - data): -0.0003
System opponent_avg: 0.3120

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0990.0000.000Hitting_2B0.0970.000-0.0970.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.3883.0006.000Hitting_AB3.3441.000-0.3442.000
predicted_AVG0.2270.0000.167Hitting_AVG0.1880.000-0.1880.000
predicted_BB0.5000.0001.000Hitting_BB0.4940.000-0.4940.000
predicted_CS-0.0000.000BaseRunning_CS0.0520.000-0.0520.000
predicted_H0.5800.0001.000Hitting_H0.6300.000-0.6300.000
predicted_HR0.0700.0000.000Hitting_HR0.0840.000-0.0840.000
predicted_OBP0.2750.0000.286Hitting_OBP0.2930.000-0.2930.000
predicted_R0.4540.0001.000Hitting_R0.4480.000-0.4480.000
predicted_RBI0.2900.0001.000Hitting_RBI0.3570.000-0.3570.000
predicted_SLG0.2950.0000.167Hitting_SLG0.2930.000-0.2930.000
predicted_SO1.0201.0002.000Hitting_SO1.0061.000-0.0060.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics0
Deboosted Metrics10
Better Metrics0
Worse Metrics10
Biggest Boost-
Biggest Deboostpredicted_H: 0.5800 -> 0.0000 (deboost -0.5800, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend107364predicted_AB: 3.3880 -> 5.9662 (boost 2.5782, better)predicted_AVG: 0.2270 -> 0.2003 (deboost -0.0267, worse)Final model 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_AVG: 0.2003 -> 0.1732 (deboost -0.0271, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling53223predicted_RBI: 0.6104 -> 1.0000 (boost 0.3896, better)predicted_2B: 0.1500 -> 0.0000 (deboost -0.1500, worse)AB rounded to 6 (raw=5.97), rates preserved: AVG=0.173 HR/AB=0.021
5bvp_blend00000--Sample-size BvP blend (BvP AB=16.0, weight=0.139, BvP AVG=0.312)
6consistency_constraints11010predicted_R: 0.7328 -> 1.0000 (boost 0.2672, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context31212predicted_OBP: 0.2662 -> 0.2860 (boost 0.0198, better)predicted_SLG: 0.2608 -> 0.1670 (deboost -0.0938, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference60615-predicted_AB: 6.0000 -> 3.0000 (deboost -3.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final32121predicted_SLG: 0.1670 -> 0.2608 (boost 0.0938, better)predicted_OBP: 0.2860 -> 0.2662 (deboost -0.0198, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "671732",
  "player_name": "Lawrence Butler",
  "position": "CF",
  "team": "OAK",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.099,
        "predicted_3B": 0.0,
        "predicted_AB": 3.388,
        "predicted_AVG": 0.227,
        "predicted_BB": 0.5,
        "predicted_H": 0.58,
        "predicted_HR": 0.07,
        "predicted_OBP": 0.275,
        "predicted_R": 0.454,
        "predicted_RBI": 0.29,
        "predicted_SLG": 0.295,
        "predicted_SO": 1.02
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.15,
        "predicted_3B": 0.0009,
        "predicted_AB": 5.9662,
        "predicted_AVG": 0.2003,
        "predicted_BB": 0.7476,
        "predicted_H": 0.9993,
        "predicted_HBP": 0.004,
        "predicted_HR": 0.1193,
        "predicted_OBP": 0.2633,
        "predicted_R": 0.692,
        "predicted_RBI": 0.5764,
        "predicted_SLG": 0.2746,
        "predicted_SO": 1.9332
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.099,
          "after": 0.15,
          "delta": 0.051,
          "percent_delta": 0.5152,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.388,
          "after": 5.9662,
          "delta": 2.5782,
          "percent_delta": 0.761,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.227,
          "after": 0.2003,
          "delta": -0.0267,
          "percent_delta": -0.1176,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5,
          "after": 0.7476,
          "delta": 0.2476,
          "percent_delta": 0.4952,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.58,
          "after": 0.9993,
          "delta": 0.4193,
          "percent_delta": 0.7229,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.07,
          "after": 0.1193,
          "delta": 0.0493,
          "percent_delta": 0.7043,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.275,
          "after": 0.2633,
          "delta": -0.0117,
          "percent_delta": -0.0425,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.454,
          "after": 0.692,
          "delta": 0.238,
          "percent_delta": 0.5242,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.29,
          "after": 0.5764,
          "delta": 0.2864,
          "percent_delta": 0.9876,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.295,
          "after": 0.2746,
          "delta": -0.0204,
          "percent_delta": -0.0692,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.02,
          "after": 1.9332,
          "delta": 0.9132,
          "percent_delta": 0.8953,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 10,
        "boosted_metrics": 7,
        "deboosted_metrics": 3,
        "better_metrics": 6,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.388,
          "after": 5.9662,
          "delta": 2.5782,
          "percent_delta": 0.761,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.227,
          "after": 0.2003,
          "delta": -0.0267,
          "percent_delta": -0.1176,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 4,
        "last_10": 5,
        "season": 44
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.15,
        "predicted_3B": 0.0009,
        "predicted_AB": 5.9662,
        "predicted_AVG": 0.1732,
        "predicted_BB": 0.7557,
        "predicted_H": 1.0336,
        "predicted_HBP": 0.004,
        "predicted_HR": 0.1235,
        "predicted_OBP": 0.2662,
        "predicted_R": 0.7328,
        "predicted_RBI": 0.6104,
        "predicted_SLG": 0.2608,
        "predicted_SO": 1.9123
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.15,
          "after": 0.15,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.9662,
          "after": 5.9662,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2003,
          "after": 0.1732,
          "delta": -0.0271,
          "percent_delta": -0.1353,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.7476,
          "after": 0.7557,
          "delta": 0.0081,
          "percent_delta": 0.0108,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9993,
          "after": 1.0336,
          "delta": 0.0343,
          "percent_delta": 0.0343,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.004,
          "after": 0.004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1193,
          "after": 0.1235,
          "delta": 0.0042,
          "percent_delta": 0.0352,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2633,
          "after": 0.2662,
          "delta": 0.0029,
          "percent_delta": 0.011,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.692,
          "after": 0.7328,
          "delta": 0.0408,
          "percent_delta": 0.059,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5764,
          "after": 0.6104,
          "delta": 0.034,
          "percent_delta": 0.059,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2746,
          "after": 0.2608,
          "delta": -0.0138,
          "percent_delta": -0.0503,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.9332,
          "after": 1.9123,
          "delta": -0.0209,
          "percent_delta": -0.0108,
          "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.2003,
          "after": 0.1732,
          "delta": -0.0271,
          "percent_delta": -0.1353,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 6 (raw=5.97), rates preserved: AVG=0.173 HR/AB=0.021",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.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.15,
          "after": 0.0,
          "delta": -0.15,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.9662,
          "after": 6.0,
          "delta": 0.0338,
          "percent_delta": 0.0057,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.7557,
          "after": 1.0,
          "delta": 0.2443,
          "percent_delta": 0.3233,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0336,
          "after": 1.0,
          "delta": -0.0336,
          "percent_delta": -0.0325,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.004,
          "after": 0.0,
          "delta": -0.004,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1235,
          "after": 0.0,
          "delta": -0.1235,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6104,
          "after": 1.0,
          "delta": 0.3896,
          "percent_delta": 0.6383,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.9123,
          "after": 2.0,
          "delta": 0.0877,
          "percent_delta": 0.0459,
          "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_RBI",
          "before": 0.6104,
          "after": 1.0,
          "delta": 0.3896,
          "percent_delta": 0.6383,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.15,
          "after": 0.0,
          "delta": -0.15,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=16.0, weight=0.139, BvP AVG=0.312)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.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": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.8609,
        "bvp": 0.1391
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.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": 6.0,
          "after": 6.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.7328,
          "after": 1.0,
          "delta": 0.2672,
          "percent_delta": 0.3646,
          "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.7328,
          "after": 1.0,
          "delta": 0.2672,
          "percent_delta": 0.3646,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_AVG": 0.167,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.286,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.167,
        "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": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1732,
          "after": 0.167,
          "delta": -0.0062,
          "percent_delta": -0.0358,
          "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.2662,
          "after": 0.286,
          "delta": 0.0198,
          "percent_delta": 0.0744,
          "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.2608,
          "after": 0.167,
          "delta": -0.0938,
          "percent_delta": -0.3597,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.2662,
          "after": 0.286,
          "delta": 0.0198,
          "percent_delta": 0.0744,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.2608,
          "after": 0.167,
          "delta": -0.0938,
          "percent_delta": -0.3597,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 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": 6.0,
          "after": 3.0,
          "delta": -3.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "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": 6,
        "boosted_metrics": 0,
        "deboosted_metrics": 6,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 3.0,
          "delta": -3.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.1732,
        "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.2662,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2608,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.167,
          "after": 0.1732,
          "delta": 0.0062,
          "percent_delta": 0.0374,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.286,
          "after": 0.2662,
          "delta": -0.0198,
          "percent_delta": -0.0693,
          "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.167,
          "after": 0.2608,
          "delta": 0.0938,
          "percent_delta": 0.5616,
          "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.167,
          "after": 0.2608,
          "delta": 0.0938,
          "percent_delta": 0.5616,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.286,
          "after": 0.2662,
          "delta": -0.0198,
          "percent_delta": -0.0693,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.099,
        "after": 0.0,
        "delta": -0.099,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.388,
        "after": 3.0,
        "delta": -0.388,
        "percent_delta": -0.1145,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.227,
        "after": 0.1732,
        "delta": -0.0538,
        "percent_delta": -0.237,
        "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": 0.58,
        "after": 0.0,
        "delta": -0.58,
        "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.275,
        "after": 0.2662,
        "delta": -0.0088,
        "percent_delta": -0.032,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.454,
        "after": 0.0,
        "delta": -0.454,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.29,
        "after": 0.0,
        "delta": -0.29,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.295,
        "after": 0.2608,
        "delta": -0.0342,
        "percent_delta": -0.1159,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.02,
        "after": 1.0,
        "delta": -0.02,
        "percent_delta": -0.0196,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 0,
      "deboosted_metrics": 10,
      "better_metrics": 0,
      "worse_metrics": 10,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.58,
        "after": 0.0,
        "delta": -0.58,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

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.099-
predicted_3B0.000-
predicted_AB3.388-
predicted_AVG0.227-
predicted_BB0.500-
predicted_H0.580-
predicted_HR0.070-
predicted_OBP0.275-
predicted_R0.454-
predicted_RBI0.290-
predicted_SLG0.295-
predicted_SO1.020-
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.051
predicted_3B0.0010.001
predicted_AB5.9662.578
predicted_AVG0.200-0.027
predicted_BB0.7480.248
predicted_H0.9990.419
predicted_HBP0.004-
predicted_HR0.1190.049
predicted_OBP0.263-0.012
predicted_R0.6920.238
predicted_RBI0.5760.286
predicted_SLG0.275-0.020
predicted_SO1.9330.913
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_AB5.9660.000
predicted_AVG0.173-0.027
predicted_BB0.7560.008
predicted_H1.0340.034
predicted_HBP0.0040.000
predicted_HR0.1230.004
predicted_OBP0.2660.003
predicted_R0.7330.041
predicted_RBI0.6100.034
predicted_SLG0.261-0.014
predicted_SO1.912-0.021
4. ab_floor_and_scaling

AB rounded to 6 (raw=5.97), rates preserved: AVG=0.173 HR/AB=0.021

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB6.000-
BB1.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO2.000-
5. bvp_blend

Sample-size BvP blend (BvP AB=16.0, weight=0.139, BvP AVG=0.312)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB6.0000.000
BB1.0000.000
H1.0000.000
HR0.0000.000
RBI1.0000.000
SO2.0000.000
6. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB6.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. 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_AB6.0000.034
predicted_AVG0.167-0.006
predicted_BB1.0000.244
predicted_H1.000-0.034
predicted_HR0.000-0.123
predicted_OBP0.2860.020
predicted_R1.0000.267
predicted_RBI1.0000.390
predicted_SLG0.167-0.094
predicted_SO2.0000.088
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 152
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.204-11.0001.0000.0000.0000.0001.0000.0000.0005.0000.09090.09090.09090.09090.00000.09090.00000.4546
last_100.205-25.0001.0000.0000.0000.0001.0003.0003.00012.0000.04000.14290.04000.04000.00000.04000.12000.4800
season0.6044-515.00097.00015.0000.00013.00055.00069.00076.000155.0000.18830.29270.29320.18830.02520.10680.14760.3010
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2160
predicted_3B0.0020
predicted_AB9.3030
predicted_AVG0.1657
predicted_BB1.0680
predicted_H1.5420
predicted_HBP0.0040
predicted_HR0.1830
predicted_OBP0.2482
predicted_R1.0000
predicted_RBI0.9470
predicted_SLG0.2482
predicted_SO3.1150
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.09900.21600.1500model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB3.38809.30305.9662model_form_blend
predicted_AVG0.22700.16570.2003model_form_blend
predicted_BB0.50001.06800.7476model_form_blend
predicted_H0.58001.54200.9993model_form_blend
predicted_HBP-0.00400.0040form_only
predicted_HR0.07000.18300.1193model_form_blend
predicted_OBP0.27500.24820.2633model_form_blend
predicted_R0.45401.00000.6920model_form_blend
predicted_RBI0.29000.94700.5764model_form_blend
predicted_SLG0.29500.24820.2746model_form_blend
predicted_SO1.02003.11501.9332model_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 date154
Season rows before report date154
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
PA3
AB3
H0
2B0
3B0
HR0
R0
RBI0
BB0
SO1
SF0
HBP0
season_avg0.188

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB1
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder9
Hitting_substitutionOrder1
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedPH-RF
gameID20260520_OAK@LAA
game_typeph
mlbID671732
noteStruck out for Hernaiz in the 9th.
playerID671732
playerNameLawrence Butler
posRF
startedFalse
startingPositionPH
teamOAK
teamID20
game_date2026-05-20
sl_k_percent27.5
sl_bb_percent12.1
sl_woba0.253
sl_xwoba0.3
sl_xba0.228
sl_xslg0.345
sl_sweet_spot_percent30.0
sl_barrel_batted_rate6.8
sl_hard_hit_percent45.6
sl_exit_velocity_avg90.3
sl_launch_angle_avg8.4
sl_whiff_percent29.8
sl_swing_percent45.1
Luis Severino (622663) · PITCHER · Starter · Team OAK
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 10
All-history rows before 20260521: 10

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB2.0002.0002.000Pitching_BB3.1002.000-1.1000.000
predicted_ER3.0003.0003.000Pitching_ER2.7005.0000.300-2.000
predicted_H6.0006.0006.000Pitching_H5.50010.0000.500-4.000
predicted_IP5.0005.0005.000Pitching_InningsPitched5.3506.000-0.350-1.000
predicted_SO4.0004.0004.000Pitching_SO5.4007.000-1.400-3.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectworse
Changed Metrics2
Boosted Metrics1
Deboosted Metrics1
Better Metrics0
Worse Metrics2
Biggest Boostpredicted_H: 5.0000 -> 6.0000 (boost 1.0000, worse)
Biggest Deboostpredicted_IP: 5.6667 -> 5.0000 (deboost -0.6667, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2starter_usage_guardrail10101-predicted_IP: 5.6667 -> 5.0000 (deboost -0.6667, worse)Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
3starter_quality_floor11001predicted_H: 5.0000 -> 6.0000 (boost 1.0000, worse)-Weak starter floor restored expected damage from recent form instead of assigning it to zero-inning bullpen rows.
4current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "622663",
  "player_name": "Luis Severino",
  "position": "Starter",
  "team": "OAK",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 2.0,
        "predicted_ER": 3.0,
        "predicted_H": 5.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.6667,
        "predicted_SO": 4.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "starter_usage_guardrail",
      "description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
      "stats": {
        "predicted_BB": 2.0,
        "predicted_ER": 3.0,
        "predicted_H": 5.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.0,
        "predicted_SO": 4.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 5.6667,
          "after": 5.0,
          "delta": -0.6667,
          "percent_delta": -0.1176,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 5.6667,
          "after": 5.0,
          "delta": -0.6667,
          "percent_delta": -0.1176,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 3,
      "step": "starter_quality_floor",
      "description": "Weak starter floor restored expected damage from recent form instead of assigning it to zero-inning bullpen rows.",
      "stats": {
        "predicted_BB": 2.0,
        "predicted_ER": 3.0,
        "predicted_H": 6.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.0,
        "predicted_SO": 4.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 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": 6.0,
          "delta": 1.0,
          "percent_delta": 0.2,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 5.0,
          "after": 6.0,
          "delta": 1.0,
          "percent_delta": 0.2,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 2.0,
        "predicted_ER": 3.0,
        "predicted_H": 6.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.0,
        "predicted_R": 3.0,
        "predicted_SO": 4.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 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": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 3.0,
        "after": 3.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 5.0,
        "after": 6.0,
        "delta": 1.0,
        "percent_delta": 0.2,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 5.6667,
        "after": 5.0,
        "delta": -0.6667,
        "percent_delta": -0.1177,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 4.0,
        "after": 4.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 2,
      "boosted_metrics": 1,
      "deboosted_metrics": 1,
      "better_metrics": 0,
      "worse_metrics": 2,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 5.0,
        "after": 6.0,
        "delta": 1.0,
        "percent_delta": 0.2,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 5.6667,
        "after": 5.0,
        "delta": -0.6667,
        "percent_delta": -0.1177,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB2.000-
predicted_ER3.000-
predicted_H5.000-
predicted_HR0.000-
predicted_IP5.667-
predicted_SO4.000-
2. starter_usage_guardrail

Starter workload capped by recent innings, season ERA/WHIP, and team-form context.

MetricValueDelta vs Prev Step
predicted_BB2.0000.000
predicted_ER3.0000.000
predicted_H5.0000.000
predicted_HR0.0000.000
predicted_IP5.000-0.667
predicted_SO4.0000.000
3. starter_quality_floor

Weak starter floor restored expected damage from recent form instead of assigning it to zero-inning bullpen rows.

MetricValueDelta vs Prev Step
predicted_BB2.0000.000
predicted_ER3.0000.000
predicted_H6.0001.000
predicted_HR0.0000.000
predicted_IP5.0000.000
predicted_SO4.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 10
Reference playing time: 5.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45530.00010.00033.00011.00027.0003.0003.00001.46670.33331.10000.36670.90000.1000
last_100.351054.20027.00055.00031.00054.0007.0004.44511.57320.49391.00610.56710.98780.1280
season0.201054.20027.00055.00031.00054.0007.0004.44511.57320.49391.00610.56710.98780.1280
Weighted Prediction From Real Data
MetricValue
predicted_BB2.4390
predicted_ER2.4260
predicted_ERA3.8344
predicted_H5.8070
predicted_HR0.6740
predicted_IP5.2000
predicted_SO5.3680
predicted_WHIP1.4480
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB2.00002.43902.2235model_form_blend
predicted_ER3.00002.42602.7077model_form_blend
predicted_ERA-3.83443.8344form_only
predicted_H5.00005.80705.4109model_form_blend
predicted_HR0.00000.67400.3432model_form_blend
predicted_IP5.20005.20005.2000model_form_blend
predicted_SO4.00005.36804.6966model_form_blend
predicted_WHIP-1.44801.4480form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP5.0
H6
R3
ER3
BB2
SO4
HR0
BF23
Pitches97

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB2
Pitching_Balk0
Pitching_Batters Faced30
Pitching_ER5
Pitching_ERA4.45
Pitching_Flyouts2
Pitching_Groundouts8
Pitching_H10
Pitching_HBP0
Pitching_HR2
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched6.0
Pitching_Pitches96
Pitching_R5
Pitching_SO7
Pitching_Strikes69
Pitching_Wild Pitch0
Pitching_decisionL
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260516_SF@OAK
game_typefull
mlbID622663
playerID622663
playerNameLuis Severino
posP
startedTrue
startingPositionP
teamOAK
teamID20
game_date2026-05-16
game_pk825007.0
sl_k_percent22.4
sl_bb_percent12.9
sl_woba0.361
sl_xwoba0.333
sl_sweet_spot_percent35.7
sl_barrel_batted_rate9.1
sl_hard_hit_percent39.6
sl_whiff_percent22.2
sl_swing_percent46.6
sv_pitch_count96.0
sv_outs_recorded_est17.0
sv_release_speed93.165625
sv_release_spin_rate2251.6354166666665
sv_effective_speed94.03854166666667
sv_launch_speed79.62857142857143
sv_launch_angle18.928571428571427
sv_woba_value14.9
sv_woba_denom30.0
sv_delta_run_exp5.081
sv_delta_home_win_exp-0.2009999999999999
sl_avg_best_speed78.344780132
sl_avg_hyper_speed93.739355
Joel Kuhnel (669270) · PITCHER · Middle Reliever · Team OAK
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 18
All-history rows before 20260521: 18

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.2220.000-0.2220.000
predicted_ER0.0000.0000.000Pitching_ER0.2780.000-0.2780.000
predicted_H0.0000.0000.000Pitching_H0.7780.000-0.7780.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.8001.0000.2000.000
predicted_SO1.0001.0001.000Pitching_SO0.5562.0000.444-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics1
Boosted Metrics0
Deboosted Metrics1
Better Metrics1
Worse Metrics0
Biggest Boost-
Biggest Deboostpredicted_H: 1.0000 -> 0.0000 (deboost -1.0000, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final10110-predicted_H: 1.0000 -> 0.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": "669270",
  "player_name": "Joel Kuhnel",
  "position": "Middle Reliever",
  "team": "OAK",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "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": 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": 1,
        "worse_metrics": 0,
        "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": "better",
          "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": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "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": 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": 1,
      "worse_metrics": 0,
      "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": "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_BB0.000-
predicted_ER0.000-
predicted_H1.000-
predicted_HR0.000-
predicted_IP1.000-
predicted_SO1.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 18
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.0002.0004.0000.0005.0001.0004.50001.00000.50001.00000.00001.25000.2500
last_100.351010.0003.0006.0004.0007.0001.0002.70001.00000.30000.60000.40000.70000.1000
season0.201817.2005.00014.0004.00010.0001.0002.54721.01890.28300.79240.22640.56600.0566
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2790
predicted_ER0.4090
predicted_ERA3.9261
predicted_H0.8360
predicted_HR0.1330
predicted_IP1.0000
predicted_SO0.8810
predicted_WHIP1.1882
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.27900.1120model_form_blend
predicted_ER0.00000.40900.1642model_form_blend
predicted_ERA-3.92613.9261form_only
predicted_H1.00000.83600.9342model_form_blend
predicted_HR0.00000.13300.0534model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00000.88100.9522model_form_blend
predicted_WHIP-1.18821.1882form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

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_ER0
Pitching_ERA2.55
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H0
Pitching_HBP1
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches15
Pitching_R0
Pitching_SO2
Pitching_Strikes11
Pitching_Wild Pitch0
Pitching_pitchingOrder6
allPositionsPlayedP
gameID20260519_OAK@LAA
game_typefull
mlbID669270
playerID669270
playerNameJoel Kuhnel
posP
startedFalse
startingPositionP
teamOAK
teamID20
game_date2026-05-19
game_pk824033.0
sl_k_percent14.1
sl_bb_percent5.6
sl_woba0.271
sl_xwoba0.318
sl_sweet_spot_percent25.5
sl_barrel_batted_rate1.8
sl_hard_hit_percent41.8
sl_whiff_percent22.2
sl_swing_percent48.8
sv_pitch_count15.0
sv_outs_recorded_est3.0
sv_release_speed91.89333333333336
sv_release_spin_rate2370.5333333333333
sv_effective_speed92.24
sv_launch_speed83.7
sv_launch_angle-9.25
sv_woba_value1.6
sv_woba_denom5.0
sv_delta_run_exp-0.121
sv_delta_home_win_exp-0.001
sl_avg_best_speed79.143614286
sl_avg_hyper_speed94.243126
Scott Barlow (605130) · PITCHER · Middle Reliever · Team OAK
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 23
All-history rows before 20260521: 23

Metric-by-Metric Comparison

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

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 22
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.0004.0000.0004.0000.0001.92860.85710.21430.85710.00000.85710.0000
last_100.351010.0003.0004.0002.0009.0000.0002.70000.60000.30000.40000.20000.90000.0000
season0.202223.1004.0009.0007.00021.0001.0001.54290.68570.17140.38570.30000.90000.0429
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2580
predicted_ER0.3580
predicted_ERA3.2216
predicted_H0.7790
predicted_HR0.0720
predicted_IP1.0000
predicted_SO0.9170
predicted_WHIP1.0366
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.25800.1111model_form_blend
predicted_ER0.00000.35800.1541model_form_blend
predicted_ERA-3.22163.2216form_only
predicted_H0.00000.77900.3353model_form_blend
predicted_HR0.00000.07200.0310model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00000.91700.9643model_form_blend
predicted_WHIP-1.03661.0366form_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 date23
Season rows before report date23
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
IP1.0
H0
R0
ER0
BB0
SO1
HR0
BF3
Pitches15

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_ERA3.09
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H0
Pitching_HBP1
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches18
Pitching_R0
Pitching_SO1
Pitching_Strikes9
Pitching_Wild Pitch0
Pitching_decisionW
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260520_OAK@LAA
game_typefull
mlbID605130
playerID605130
playerNameScott Barlow
posP
startedFalse
startingPositionP
teamOAK
teamID20
game_date2026-05-20
sl_k_percent21.7
sl_bb_percent10.9
sl_woba0.254
sl_xwoba0.287
sl_sweet_spot_percent31.0
sl_barrel_batted_rate5.2
sl_hard_hit_percent31.0
sl_whiff_percent35.8
sl_swing_percent44.2
sl_avg_best_speed76.412246552
sl_avg_hyper_speed92.678107586
Hogan Harris (663687) · PITCHER · Middle Reliever · Team OAK
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 26
All-history rows before 20260521: 26

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.7312.000-0.731-2.000
predicted_ER0.0000.0000.000Pitching_ER0.3080.000-0.3080.000
predicted_H0.0000.0000.000Pitching_H0.8080.000-0.8080.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.7081.0000.2920.000
predicted_SO1.0001.0001.000Pitching_SO1.0001.0000.0000.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics1
Boosted Metrics1
Deboosted Metrics0
Better Metrics1
Worse Metrics0
Biggest Boostpredicted_IP: 0.3333 -> 1.0000 (boost 0.6667, better)
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final11010predicted_IP: 0.3333 -> 1.0000 (boost 0.6667, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "663687",
  "player_name": "Hogan Harris",
  "position": "Middle Reliever",
  "team": "OAK",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 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": 1.0,
        "predicted_R": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 0.3333,
          "after": 1.0,
          "delta": 0.6667,
          "percent_delta": 2.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.3333,
          "after": 1.0,
          "delta": 0.6667,
          "percent_delta": 2.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": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "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": 1.0,
        "delta": 0.6667,
        "percent_delta": 2.0003,
        "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.3333,
        "after": 1.0,
        "delta": 0.6667,
        "percent_delta": 2.0003,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": null,
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER0.000-
predicted_H0.000-
predicted_HR0.000-
predicted_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: 26
Reference playing time: 0.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4554.1002.0004.0002.0006.0000.0004.15381.38460.46150.92310.46151.38460.0000
last_100.35107.2004.00011.0006.00010.0001.0004.69572.21740.52171.43480.78261.30430.1304
season0.202624.0008.00021.00019.00026.0002.0003.00001.66670.33330.87500.79171.08330.0833
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3040
predicted_ER0.2790
predicted_ERA4.1773
predicted_H0.6100
predicted_HR0.0580
predicted_IP0.2000
predicted_SO0.6730
predicted_WHIP1.5197
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.30400.1318model_form_blend
predicted_ER0.00000.27900.1209model_form_blend
predicted_ERA-4.17734.1773form_only
predicted_H0.00000.61000.2644model_form_blend
predicted_HR0.00000.05800.0251model_form_blend
predicted_IP0.10000.20000.1000model_form_blend
predicted_SO1.00000.67300.8583model_form_blend
predicted_WHIP-1.51971.5197form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB2
Pitching_Balk0
Pitching_Batters Faced5
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_Pitches14
Pitching_R0
Pitching_SO1
Pitching_Strikes8
Pitching_Wild Pitch0
Pitching_decisionS
Pitching_pitchingOrder5
allPositionsPlayedP
gameID20260520_OAK@LAA
game_typefull
mlbID663687
playerID663687
playerNameHogan Harris
posP
startedFalse
startingPositionP
teamOAK
teamID20
game_date2026-05-20
sl_k_percent22.9
sl_bb_percent15.6
sl_woba0.329
sl_xwoba0.309
sl_sweet_spot_percent26.2
sl_barrel_batted_rate4.6
sl_hard_hit_percent26.2
sl_whiff_percent25.3
sl_swing_percent43.4
sl_avg_best_speed73.787535938
sl_avg_hyper_speed92.0782325

Home Team: LAA

Home Pitcher Deep Analysis

FieldValue
PitcherJosé Soriano
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.0963
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.1984
Avg Velo93.2255
Avg Spin2094.7768
HB Inches0
IVB Inches0
Release Extension0
Pre IP6
Pre ER0
Pre H2
Pre BB3
Pre SO6
Season ERA2.4134
Season WHIP1.0726
Role Avg IP5.9670
Recent Avg IP5.4000
Last Start IP5.1000
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "LAA",
    "games": 57,
    "wins": 22,
    "losses": 35,
    "win_pct": 0.386,
    "runs_scored": 233.0,
    "runs_allowed": 300.0,
    "run_differential": -67.0,
    "run_differential_per_game": -1.1754,
    "avg_runs_scored": 4.0877,
    "avg_runs_allowed": 5.2632,
    "offense_index": 0.9149,
    "defense_index": 0.8489,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 2,
      "losses": 8,
      "win_pct": 0.2,
      "avg_runs_scored": 2.8,
      "avg_runs_allowed": 6.7,
      "run_differential": -39.0
    },
    "available": true,
    "quality_score": -0.3466
  },
  "opponent": {
    "team": "OAK",
    "games": 54,
    "wins": 27,
    "losses": 27,
    "win_pct": 0.5,
    "runs_scored": 251.0,
    "runs_allowed": 254.0,
    "run_differential": -3.0,
    "run_differential_per_game": -0.0556,
    "avg_runs_scored": 4.6481,
    "avg_runs_allowed": 4.7037,
    "offense_index": 1.0403,
    "defense_index": 0.9499,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 4.6,
      "run_differential": 0.0
    },
    "available": true,
    "quality_score": -0.0418
  },
  "edges": {
    "quality_edge": -0.3048,
    "offense_edge": -0.0851,
    "opponent_offense_edge": 0.0403,
    "defense_strength": -0.1511,
    "opponent_defense_weakness": 0.0501,
    "recent_win_pct_edge": -0.2
  },
  "player_factors": {
    "ip": 0.9817,
    "run_prevention": 1.0368,
    "strikeout": 0.9876
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "667755",
    "profile": {
      "available": true,
      "pitcher_id": "667755",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 212.0,
        "k_percent": 28.0,
        "bb_percent": 10.9,
        "woba": 0.25,
        "xwoba": 0.317,
        "sweet_spot_percent": 35.9,
        "barrel_batted_rate": 9.0,
        "hard_hit_percent": 34.5,
        "avg_best_speed": 77.4886,
        "avg_hyper_speed": 93.2844,
        "whiff_percent": 33.8,
        "swing_percent": 45.6
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": 0.2049,
        "command_and_miss": 0.6707,
        "regression_edge": -1.9143,
        "xwoba_edge": -0.1429,
        "barrel_edge": -0.4,
        "hard_hit_edge": 0.6,
        "whiff_edge": 1.1571,
        "bb_edge": -0.375,
        "pitch_design_score": 0.1984
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "667755",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 94,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 94,
          "pitch_usage": 0.0,
          "release_speed": 93.2255355662551,
          "release_spin_rate": 2094.7767691423996,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 94,
            "pitch_usage": 0.0,
            "release_speed": 93.2255355662551,
            "release_spin_rate": 2094.7767691423996,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.2255,
          "release_spin_rate": 2094.7768,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.1984,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.4168,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.0963,
      "sample_weight": 0.848,
      "run_prevention_factor": 0.9918,
      "strikeout_factor": 1.0649,
      "walk_factor": 1.0254,
      "homer_factor": 1.0104,
      "woba_minus_xwoba": -0.067,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "667755",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 2.0,
        "factor": 0.993,
        "adjusted": 2
      },
      "predicted_H": {
        "original": 5.0,
        "factor": 0.993,
        "adjusted": 5
      },
      "predicted_BB": {
        "original": 3.0,
        "factor": 1.0215,
        "adjusted": 3
      },
      "predicted_HR": {
        "original": 1.0,
        "factor": 1.0088,
        "adjusted": 1
      },
      "predicted_SO": {
        "original": 6.0,
        "factor": 1.055,
        "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": 59.2,
    "ER": 16,
    "H": 38,
    "BB": 26,
    "SO": 67,
    "HR": 5,
    "ERA": 2.41340782122905,
    "WHIP": 1.0726256983240223,
    "K9": 10.106145251396647,
    "HR9": 0.7541899441340781,
    "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-05-16T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "667755",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 94,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 94,
    "pitch_usage": 0.0,
    "release_speed": 93.2255355662551,
    "release_spin_rate": 2094.7767691423996,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 94,
      "pitch_usage": 0.0,
      "release_speed": 93.2255355662551,
      "release_spin_rate": 2094.7767691423996,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.2255,
    "release_spin_rate": 2094.7768,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1984,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.4168,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.5625,
    "last_10": 0.43749999999999994
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6667,
    "prior_weight": 0.3333
  },
  "role": "pitcher",
  "player_id": "667755",
  "report_date": "20260521_O",
  "season_year": 2026,
  "rows_used": 10,
  "reference_playing_time": 6.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 27.0,
        "ER": 15.0,
        "R": 15.0,
        "H": 27.0,
        "BB": 13.0,
        "SO": 28.0,
        "HR": 4.0,
        "BF": 119.0,
        "Pitches": 464.0
      },
      "per_game": {
        "IP": 5.1,
        "ER": 3.0,
        "R": 3.0,
        "H": 5.4,
        "BB": 2.6,
        "SO": 5.6,
        "HR": 0.8,
        "BF": 23.8,
        "Pitches": 92.8
      },
      "rates": {
        "ERA": 5.0,
        "WHIP": 1.4815,
        "ER_per_IP": 0.55556,
        "H_per_IP": 1.0,
        "BB_per_IP": 0.48148,
        "SO_per_IP": 1.03704,
        "HR_per_IP": 0.14815
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 59.2,
        "ER": 16.0,
        "R": 16.0,
        "H": 38.0,
        "BB": 26.0,
        "SO": 67.0,
        "HR": 5.0,
        "BF": 239.0,
        "Pitches": 947.0
      },
      "per_game": {
        "IP": 6.0,
        "ER": 1.6,
        "R": 1.6,
        "H": 3.8,
        "BB": 2.6,
        "SO": 6.7,
        "HR": 0.5,
        "BF": 23.9,
        "Pitches": 94.7
      },
      "rates": {
        "ERA": 2.4134,
        "WHIP": 1.0726,
        "ER_per_IP": 0.26816,
        "H_per_IP": 0.63687,
        "BB_per_IP": 0.43575,
        "SO_per_IP": 1.12291,
        "HR_per_IP": 0.0838
      }
    },
    "season": {
      "games": 10,
      "totals": {
        "IP": 59.2,
        "ER": 16.0,
        "R": 16.0,
        "H": 38.0,
        "BB": 26.0,
        "SO": 67.0,
        "HR": 5.0,
        "BF": 239.0,
        "Pitches": 947.0
      },
      "per_game": {
        "IP": 6.0,
        "ER": 1.6,
        "R": 1.6,
        "H": 3.8,
        "BB": 2.6,
        "SO": 6.7,
        "HR": 0.5,
        "BF": 23.9,
        "Pitches": 94.7
      },
      "rates": {
        "ERA": 2.4134,
        "WHIP": 1.0726,
        "ER_per_IP": 0.26816,
        "H_per_IP": 0.63687,
        "BB_per_IP": 0.43575,
        "SO_per_IP": 1.12291,
        "HR_per_IP": 0.0838
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 5.2,
    "predicted_ER": 2.55,
    "predicted_H": 5.028,
    "predicted_BB": 2.49,
    "predicted_SO": 5.943,
    "predicted_HR": 0.71,
    "predicted_ERA": 3.9918,
    "predicted_WHIP": 1.3075
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4908,
  "form_weight": 0.5092,
  "form_reliability": 0.6667,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6667,
    "prior_weight": 0.3333
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 6.0,
      "form": 5.2,
      "final": 5.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 2.55,
      "final": 1.2984,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 5.028,
      "final": 3.5418,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 3.0,
      "form": 2.49,
      "final": 2.7403,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 3.0,
      "form": 5.943,
      "final": 4.4985,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.71,
      "final": 0.3615,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.9918,
      "final": 3.9918,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.3075,
      "final": 1.3075,
      "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
PitcherSam Bachman
RoleMiddle Reliever
Projection Source-
Savant Quality Score0.4405
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.1442
Avg Velo92.2585
Avg Spin2480.0517
HB Inches0
IVB Inches0
Release Extension0
Pre IP1.1000
Pre ER0
Pre H0
Pre BB0
Pre SO0
Season ERA2.6250
Season WHIP0.9583
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "LAA",
    "games": 57,
    "wins": 22,
    "losses": 35,
    "win_pct": 0.386,
    "runs_scored": 233.0,
    "runs_allowed": 300.0,
    "run_differential": -67.0,
    "run_differential_per_game": -1.1754,
    "avg_runs_scored": 4.0877,
    "avg_runs_allowed": 5.2632,
    "offense_index": 0.9149,
    "defense_index": 0.8489,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 2,
      "losses": 8,
      "win_pct": 0.2,
      "avg_runs_scored": 2.8,
      "avg_runs_allowed": 6.7,
      "run_differential": -39.0
    },
    "available": true,
    "quality_score": -0.3466
  },
  "opponent": {
    "team": "OAK",
    "games": 54,
    "wins": 27,
    "losses": 27,
    "win_pct": 0.5,
    "runs_scored": 251.0,
    "runs_allowed": 254.0,
    "run_differential": -3.0,
    "run_differential_per_game": -0.0556,
    "avg_runs_scored": 4.6481,
    "avg_runs_allowed": 4.7037,
    "offense_index": 1.0403,
    "defense_index": 0.9499,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 4.6,
      "run_differential": 0.0
    },
    "available": true,
    "quality_score": -0.0418
  },
  "edges": {
    "quality_edge": -0.3048,
    "offense_edge": -0.0851,
    "opponent_offense_edge": 0.0403,
    "defense_strength": -0.1511,
    "opponent_defense_weakness": 0.0501,
    "recent_win_pct_edge": -0.2
  },
  "player_factors": {
    "ip": 0.9817,
    "run_prevention": 1.0368,
    "strikeout": 0.9876
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "696147",
    "profile": {
      "available": true,
      "pitcher_id": "696147",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 85.0,
        "k_percent": 27.6,
        "bb_percent": 11.5,
        "woba": 0.241,
        "xwoba": 0.244,
        "sweet_spot_percent": 24.5,
        "barrel_batted_rate": 5.9,
        "hard_hit_percent": 28.3,
        "avg_best_speed": 74.9457,
        "avg_hyper_speed": 92.3188,
        "whiff_percent": 32.2,
        "swing_percent": 42.6
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": 1.4944,
        "command_and_miss": 0.535,
        "regression_edge": -0.0857,
        "xwoba_edge": 1.9429,
        "barrel_edge": 0.2889,
        "hard_hit_edge": 1.4857,
        "whiff_edge": 0.9286,
        "bb_edge": -0.525,
        "pitch_design_score": 0.1442
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "696147",
        "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": 92.25853562680689,
          "release_spin_rate": 2480.051703394083,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 92.25853562680689,
            "release_spin_rate": 2480.051703394083,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.2585,
          "release_spin_rate": 2480.0517,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.1442,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.03,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.4405,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9626,
      "strikeout_factor": 1.0293,
      "walk_factor": 1.0189,
      "homer_factor": 0.9366,
      "woba_minus_xwoba": -0.003,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "696147",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9832,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9832,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0085,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9715,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0132,
        "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.2,
    "ER": 3,
    "H": 7,
    "BB": 2,
    "SO": 14,
    "HR": 2,
    "ERA": 1.9756097560975607,
    "WHIP": 0.6585365853658536,
    "K9": 9.21951219512195,
    "HR9": 1.3170731707317072,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-05-20T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "696147",
  "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": 92.25853562680689,
    "release_spin_rate": 2480.051703394083,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 92.25853562680689,
      "release_spin_rate": 2480.051703394083,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.2585,
    "release_spin_rate": 2480.0517,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1442,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.03,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.755,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4874,
    "prior_weight": 0.5126
  },
  "role": "pitcher",
  "player_id": "696147",
  "report_date": "20260521_O",
  "season_year": 2026,
  "rows_used": 17,
  "reference_playing_time": 1.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 7.0,
        "ER": 1.0,
        "R": 1.0,
        "H": 3.0,
        "BB": 0.0,
        "SO": 7.0,
        "HR": 1.0,
        "BF": 24.0,
        "Pitches": 83.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.6,
        "BB": 0.0,
        "SO": 1.4,
        "HR": 0.2,
        "BF": 4.8,
        "Pitches": 16.6
      },
      "rates": {
        "ERA": 1.2857,
        "WHIP": 0.4286,
        "ER_per_IP": 0.14286,
        "H_per_IP": 0.42857,
        "BB_per_IP": 0.0,
        "SO_per_IP": 1.0,
        "HR_per_IP": 0.14286
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 13.2,
        "ER": 3.0,
        "R": 3.0,
        "H": 7.0,
        "BB": 2.0,
        "SO": 14.0,
        "HR": 2.0,
        "BF": 49.0,
        "Pitches": 178.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.3,
        "R": 0.3,
        "H": 0.7,
        "BB": 0.2,
        "SO": 1.4,
        "HR": 0.2,
        "BF": 4.9,
        "Pitches": 17.8
      },
      "rates": {
        "ERA": 1.9756,
        "WHIP": 0.6585,
        "ER_per_IP": 0.21951,
        "H_per_IP": 0.5122,
        "BB_per_IP": 0.14634,
        "SO_per_IP": 1.02439,
        "HR_per_IP": 0.14634
      }
    },
    "season": {
      "games": 17,
      "totals": {
        "IP": 24.0,
        "ER": 7.0,
        "R": 7.0,
        "H": 13.0,
        "BB": 10.0,
        "SO": 25.0,
        "HR": 2.0,
        "BF": 92.0,
        "Pitches": 350.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.4118,
        "R": 0.4118,
        "H": 0.7647,
        "BB": 0.5882,
        "SO": 1.4706,
        "HR": 0.1176,
        "BF": 5.4118,
        "Pitches": 20.5882
      },
      "rates": {
        "ERA": 2.625,
        "WHIP": 0.9583,
        "ER_per_IP": 0.29167,
        "H_per_IP": 0.54167,
        "BB_per_IP": 0.41667,
        "SO_per_IP": 1.04167,
        "HR_per_IP": 0.08333
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 1.1,
    "predicted_ER": 0.452,
    "predicted_H": 0.956,
    "predicted_BB": 0.345,
    "predicted_SO": 1.311,
    "predicted_HR": 0.175,
    "predicted_ERA": 3.0477,
    "predicted_WHIP": 0.975
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5666,
  "form_weight": 0.4334,
  "form_reliability": 0.4874,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.755,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4874,
    "prior_weight": 0.5126
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.1,
      "form": 1.1,
      "final": 1.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.452,
      "final": 0.1959,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.956,
      "final": 0.4144,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.345,
      "final": 0.1495,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 3.0,
      "form": 1.311,
      "final": 2.2679,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.175,
      "final": 0.0758,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.0477,
      "final": 3.0477,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.975,
      "final": 0.975,
      "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
PitcherRyan Zeferjahn
RoleMiddle Reliever
Projection Source-
Savant Quality Score0.4193
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.0552
Avg Velo90.6696
Avg Spin2430.9687
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO1
Season ERA4.8358
Season WHIP1.2090
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "LAA",
    "games": 57,
    "wins": 22,
    "losses": 35,
    "win_pct": 0.386,
    "runs_scored": 233.0,
    "runs_allowed": 300.0,
    "run_differential": -67.0,
    "run_differential_per_game": -1.1754,
    "avg_runs_scored": 4.0877,
    "avg_runs_allowed": 5.2632,
    "offense_index": 0.9149,
    "defense_index": 0.8489,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 2,
      "losses": 8,
      "win_pct": 0.2,
      "avg_runs_scored": 2.8,
      "avg_runs_allowed": 6.7,
      "run_differential": -39.0
    },
    "available": true,
    "quality_score": -0.3466
  },
  "opponent": {
    "team": "OAK",
    "games": 54,
    "wins": 27,
    "losses": 27,
    "win_pct": 0.5,
    "runs_scored": 251.0,
    "runs_allowed": 254.0,
    "run_differential": -3.0,
    "run_differential_per_game": -0.0556,
    "avg_runs_scored": 4.6481,
    "avg_runs_allowed": 4.7037,
    "offense_index": 1.0403,
    "defense_index": 0.9499,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 4.6,
      "run_differential": 0.0
    },
    "available": true,
    "quality_score": -0.0418
  },
  "edges": {
    "quality_edge": -0.3048,
    "offense_edge": -0.0851,
    "opponent_offense_edge": 0.0403,
    "defense_strength": -0.1511,
    "opponent_defense_weakness": 0.0501,
    "recent_win_pct_edge": -0.2
  },
  "player_factors": {
    "ip": 0.9817,
    "run_prevention": 1.0368,
    "strikeout": 0.9876
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "666171",
    "profile": {
      "available": true,
      "pitcher_id": "666171",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 93.0,
        "k_percent": 30.5,
        "bb_percent": 12.6,
        "woba": 0.267,
        "xwoba": 0.249,
        "sweet_spot_percent": 26.0,
        "barrel_batted_rate": 2.0,
        "hard_hit_percent": 32.0,
        "avg_best_speed": 79.4145,
        "avg_hyper_speed": 92.8361,
        "whiff_percent": 31.7,
        "swing_percent": 40.7
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": 1.2665,
        "command_and_miss": 0.6414,
        "regression_edge": 0.5143,
        "xwoba_edge": 1.8,
        "barrel_edge": 1.1556,
        "hard_hit_edge": 0.9571,
        "whiff_edge": 0.8571,
        "bb_edge": -0.8,
        "pitch_design_score": 0.0552
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "666171",
        "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": 90.66964140261815,
          "release_spin_rate": 2430.9687383389814,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 90.66964140261815,
            "release_spin_rate": 2430.9687383389814,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.6696,
          "release_spin_rate": 2430.9687,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.0552,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.3945,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.4193,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9644,
      "strikeout_factor": 1.0355,
      "walk_factor": 1.0288,
      "homer_factor": 0.9169,
      "woba_minus_xwoba": 0.018,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "666171",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 0.984,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.984,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.013,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9626,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.016,
        "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.0,
    "ER": 5,
    "H": 5,
    "BB": 7,
    "SO": 16,
    "HR": 0,
    "ERA": 3.75,
    "WHIP": 1.0,
    "K9": 12.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-05-20T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "666171",
  "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": 90.66964140261815,
    "release_spin_rate": 2430.9687383389814,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 90.66964140261815,
      "release_spin_rate": 2430.9687383389814,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.6696,
    "release_spin_rate": 2430.9687,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.0552,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.3945,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.424,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4695,
    "prior_weight": 0.5305
  },
  "role": "pitcher",
  "player_id": "666171",
  "report_date": "20260521_O",
  "season_year": 2026,
  "rows_used": 17,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.0,
        "ER": 2.0,
        "R": 2.0,
        "H": 3.0,
        "BB": 4.0,
        "SO": 7.0,
        "HR": 0.0,
        "BF": 22.0,
        "Pitches": 102.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.4,
        "R": 0.4,
        "H": 0.6,
        "BB": 0.8,
        "SO": 1.4,
        "HR": 0.0,
        "BF": 4.4,
        "Pitches": 20.4
      },
      "rates": {
        "ERA": 4.5,
        "WHIP": 1.75,
        "ER_per_IP": 0.5,
        "H_per_IP": 0.75,
        "BB_per_IP": 1.0,
        "SO_per_IP": 1.75,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 12.0,
        "ER": 5.0,
        "R": 5.0,
        "H": 5.0,
        "BB": 7.0,
        "SO": 16.0,
        "HR": 0.0,
        "BF": 52.0,
        "Pitches": 215.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.5,
        "R": 0.5,
        "H": 0.5,
        "BB": 0.7,
        "SO": 1.6,
        "HR": 0.0,
        "BF": 5.2,
        "Pitches": 21.5
      },
      "rates": {
        "ERA": 3.75,
        "WHIP": 1.0,
        "ER_per_IP": 0.41667,
        "H_per_IP": 0.41667,
        "BB_per_IP": 0.58333,
        "SO_per_IP": 1.33333,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 17,
      "totals": {
        "IP": 22.1,
        "ER": 12.0,
        "R": 13.0,
        "H": 14.0,
        "BB": 13.0,
        "SO": 29.0,
        "HR": 0.0,
        "BF": 99.0,
        "Pitches": 421.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.7059,
        "R": 0.7647,
        "H": 0.8235,
        "BB": 0.7647,
        "SO": 1.7059,
        "HR": 0.0,
        "BF": 5.8235,
        "Pitches": 24.7647
      },
      "rates": {
        "ERA": 4.8358,
        "WHIP": 1.209,
        "ER_per_IP": 0.53731,
        "H_per_IP": 0.62687,
        "BB_per_IP": 0.58209,
        "SO_per_IP": 1.29851,
        "HR_per_IP": 0.0
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.482,
    "predicted_H": 0.797,
    "predicted_BB": 0.57,
    "predicted_SO": 1.234,
    "predicted_HR": 0.07,
    "predicted_ERA": 4.2697,
    "predicted_WHIP": 1.3465
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5741,
  "form_weight": 0.4259,
  "form_reliability": 0.4695,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.424,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4695,
    "prior_weight": 0.5305
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.482,
      "final": 0.2053,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.797,
      "final": 0.3394,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.57,
      "final": 0.2427,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.234,
      "final": 1.0997,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.07,
      "final": 0.0298,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.2697,
      "final": 4.2697,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.3465,
      "final": 1.3465,
      "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
PitcherKirby Yates
RoleMiddle Reliever
Projection Source-
Savant Quality Score0.2141
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.1526
Avg Velo86.9594
Avg Spin1913.0278
HB Inches0
IVB Inches0
Release Extension0
Pre IP0.2000
Pre ER1
Pre H2
Pre BB0
Pre SO1
Season ERA6.2308
Season WHIP1.3846
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "LAA",
    "games": 57,
    "wins": 22,
    "losses": 35,
    "win_pct": 0.386,
    "runs_scored": 233.0,
    "runs_allowed": 300.0,
    "run_differential": -67.0,
    "run_differential_per_game": -1.1754,
    "avg_runs_scored": 4.0877,
    "avg_runs_allowed": 5.2632,
    "offense_index": 0.9149,
    "defense_index": 0.8489,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 2,
      "losses": 8,
      "win_pct": 0.2,
      "avg_runs_scored": 2.8,
      "avg_runs_allowed": 6.7,
      "run_differential": -39.0
    },
    "available": true,
    "quality_score": -0.3466
  },
  "opponent": {
    "team": "OAK",
    "games": 54,
    "wins": 27,
    "losses": 27,
    "win_pct": 0.5,
    "runs_scored": 251.0,
    "runs_allowed": 254.0,
    "run_differential": -3.0,
    "run_differential_per_game": -0.0556,
    "avg_runs_scored": 4.6481,
    "avg_runs_allowed": 4.7037,
    "offense_index": 1.0403,
    "defense_index": 0.9499,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 4.6,
      "run_differential": 0.0
    },
    "available": true,
    "quality_score": -0.0418
  },
  "edges": {
    "quality_edge": -0.3048,
    "offense_edge": -0.0851,
    "opponent_offense_edge": 0.0403,
    "defense_strength": -0.1511,
    "opponent_defense_weakness": 0.0501,
    "recent_win_pct_edge": -0.2
  },
  "player_factors": {
    "ip": 0.9817,
    "run_prevention": 1.0368,
    "strikeout": 0.9876
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "489446",
    "profile": {
      "available": true,
      "pitcher_id": "489446",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 15.0,
        "k_percent": 40.0,
        "bb_percent": 6.7,
        "woba": 0.252,
        "xwoba": 0.248,
        "sweet_spot_percent": 50.0,
        "barrel_batted_rate": 12.5,
        "hard_hit_percent": 62.5,
        "avg_best_speed": 82.0365,
        "avg_hyper_speed": 98.1036,
        "whiff_percent": 29.0,
        "swing_percent": 46.3
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": 0.1953,
        "command_and_miss": 1.4121,
        "regression_edge": 0.1143,
        "xwoba_edge": 1.8286,
        "barrel_edge": -1.1778,
        "hard_hit_edge": -2.5,
        "whiff_edge": 0.4714,
        "bb_edge": 0.675,
        "pitch_design_score": -0.1526
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "489446",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 16,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 16,
          "pitch_usage": 0.0,
          "release_speed": 86.95939393939393,
          "release_spin_rate": 1913.0278409090906,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 16,
            "pitch_usage": 0.0,
            "release_speed": 86.95939393939393,
            "release_spin_rate": 1913.0278409090906,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 86.9594,
          "release_spin_rate": 1913.0278,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.1526,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -1.0896,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.2141,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9818,
      "strikeout_factor": 1.053,
      "walk_factor": 0.9757,
      "homer_factor": 1.0627,
      "woba_minus_xwoba": 0.004,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "489446",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 0.9918,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9918,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9891,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0282,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 3.0,
        "factor": 1.0238,
        "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": "insufficient_data"
  },
  "pitching": {
    "IP": 4.1,
    "ER": 3,
    "H": 4,
    "BB": 2,
    "SO": 7,
    "HR": 1,
    "ERA": 6.230769230769231,
    "WHIP": 1.3846153846153848,
    "K9": 14.53846153846154,
    "HR9": 2.076923076923077,
    "games_pitched": 5,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 5,
    "error_prone": false
  },
  "games_count": 5,
  "latest_game_date": "2026-05-20T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "489446",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 16,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 16,
    "pitch_usage": 0.0,
    "release_speed": 86.95939393939393,
    "release_spin_rate": 1913.0278409090906,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 16,
      "pitch_usage": 0.0,
      "release_speed": 86.95939393939393,
      "release_spin_rate": 1913.0278409090906,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 86.9594,
    "release_spin_rate": 1913.0278,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.1526,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -1.0896,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 1.0
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 0.858,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.1465,
    "prior_weight": 0.8535
  },
  "role": "pitcher",
  "player_id": "489446",
  "report_date": "20260521_O",
  "season_year": 2026,
  "rows_used": 5,
  "reference_playing_time": 0.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.1,
        "ER": 3.0,
        "R": 3.0,
        "H": 4.0,
        "BB": 2.0,
        "SO": 7.0,
        "HR": 1.0,
        "BF": 20.0,
        "Pitches": 87.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.6,
        "R": 0.6,
        "H": 0.8,
        "BB": 0.4,
        "SO": 1.4,
        "HR": 0.2,
        "BF": 4.0,
        "Pitches": 17.4
      },
      "rates": {
        "ERA": 6.2308,
        "WHIP": 1.3846,
        "ER_per_IP": 0.69231,
        "H_per_IP": 0.92308,
        "BB_per_IP": 0.46154,
        "SO_per_IP": 1.61538,
        "HR_per_IP": 0.23077
      }
    },
    "last_10": {
      "games": 5,
      "totals": {
        "IP": 4.1,
        "ER": 3.0,
        "R": 3.0,
        "H": 4.0,
        "BB": 2.0,
        "SO": 7.0,
        "HR": 1.0,
        "BF": 20.0,
        "Pitches": 87.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.6,
        "R": 0.6,
        "H": 0.8,
        "BB": 0.4,
        "SO": 1.4,
        "HR": 0.2,
        "BF": 4.0,
        "Pitches": 17.4
      },
      "rates": {
        "ERA": 6.2308,
        "WHIP": 1.3846,
        "ER_per_IP": 0.69231,
        "H_per_IP": 0.92308,
        "BB_per_IP": 0.46154,
        "SO_per_IP": 1.61538,
        "HR_per_IP": 0.23077
      }
    },
    "season": {
      "games": 5,
      "totals": {
        "IP": 4.1,
        "ER": 3.0,
        "R": 3.0,
        "H": 4.0,
        "BB": 2.0,
        "SO": 7.0,
        "HR": 1.0,
        "BF": 20.0,
        "Pitches": 87.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.6,
        "R": 0.6,
        "H": 0.8,
        "BB": 0.4,
        "SO": 1.4,
        "HR": 0.2,
        "BF": 4.0,
        "Pitches": 17.4
      },
      "rates": {
        "ERA": 6.2308,
        "WHIP": 1.3846,
        "ER_per_IP": 0.69231,
        "H_per_IP": 0.92308,
        "BB_per_IP": 0.46154,
        "SO_per_IP": 1.61538,
        "HR_per_IP": 0.23077
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 0.2,
    "predicted_ER": 0.36,
    "predicted_H": 0.672,
    "predicted_BB": 0.278,
    "predicted_SO": 0.75,
    "predicted_HR": 0.104,
    "predicted_ERA": 4.5306,
    "predicted_WHIP": 1.3272
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.7106,
  "form_weight": 0.2894,
  "form_reliability": 0.1465,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 0.858,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.1465,
    "prior_weight": 0.8535
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.2,
      "form": 0.2,
      "final": 0.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 0.36,
      "final": 0.8148,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 0.672,
      "final": 1.6157,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.278,
      "final": 0.0805,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.75,
      "final": 0.9277,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.104,
      "final": 0.7407,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.5306,
      "final": 4.5306,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.3272,
      "final": 1.3272,
      "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."
}
Vaughn Grissom (687093) · BATTER · 3B · Team LAA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 101
All-history rows before 20260521: 101
System season_avg: 0.2500
Data season_avg (2026 season-to-date): 0.2500
Diff (system - data): 0.0000
System opponent_avg: 0.1790

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2221.0000.000Hitting_2B0.2180.0000.7821.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.6773.0008.000Hitting_AB3.6043.000-0.6040.000
predicted_AVG0.2290.3330.250Hitting_AVG0.2500.0000.0830.333
predicted_BB0.4140.0001.000Hitting_BB0.4260.000-0.4260.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.7801.0002.000Hitting_H0.9010.0000.0991.000
predicted_HR0.0900.0000.000Hitting_HR0.0790.000-0.0790.000
predicted_OBP0.2990.2500.333Hitting_OBP0.3250.250-0.0750.000
predicted_R0.3231.0001.000Hitting_R0.3170.0000.6831.000
predicted_RBI0.4403.0001.000Hitting_RBI0.5640.0002.4363.000
predicted_SLG0.3540.6670.250Hitting_SLG0.3760.0000.2900.667
predicted_SO0.3330.0001.000Hitting_SO0.3270.000-0.3270.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics9
Boosted Metrics4
Deboosted Metrics5
Better Metrics5
Worse Metrics4
Biggest Boostpredicted_RBI: 0.4400 -> 3.0000 (boost 2.5600, better)
Biggest Deboostpredicted_AB: 3.6770 -> 3.0000 (deboost -0.6770, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend88071predicted_AB: 3.6770 -> 7.5807 (boost 3.9037, 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_snapshot40404-predicted_RBI: 1.2004 -> 1.1500 (deboost -0.0504, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling84435predicted_AB: 7.5807 -> 8.0000 (boost 0.4193, better)predicted_2B: 0.4022 -> 0.0000 (deboost -0.4022, worse)AB rounded to 8 (raw=7.58), rates preserved: AVG=0.226 HR/AB=0.020
5consistency_constraints11010predicted_R: 0.5809 -> 1.0000 (boost 0.4191, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context32121predicted_OBP: 0.2947 -> 0.3330 (boost 0.0383, better)predicted_SLG: 0.3407 -> 0.2500 (deboost -0.0907, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference73433predicted_RBI: 1.0000 -> 3.0000 (boost 2.0000, better)predicted_AB: 8.0000 -> 3.0000 (deboost -5.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final31212predicted_SLG: 0.2500 -> 0.3407 (boost 0.0907, better)predicted_OBP: 0.3330 -> 0.2947 (deboost -0.0383, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "687093",
  "player_name": "Vaughn Grissom",
  "position": "3B",
  "team": "LAA",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.222,
        "predicted_3B": 0.0,
        "predicted_AB": 3.677,
        "predicted_AVG": 0.229,
        "predicted_BB": 0.414,
        "predicted_H": 0.78,
        "predicted_HR": 0.09,
        "predicted_OBP": 0.299,
        "predicted_R": 0.323,
        "predicted_RBI": 0.44,
        "predicted_SLG": 0.354,
        "predicted_SO": 0.333
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.4022,
        "predicted_3B": 0.0013,
        "predicted_AB": 7.5807,
        "predicted_AVG": 0.2333,
        "predicted_BB": 0.7452,
        "predicted_H": 1.7551,
        "predicted_HBP": 0.106,
        "predicted_HR": 0.1575,
        "predicted_OBP": 0.3015,
        "predicted_R": 0.6064,
        "predicted_RBI": 1.2004,
        "predicted_SLG": 0.3513,
        "predicted_SO": 0.6582
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.222,
          "after": 0.4022,
          "delta": 0.1802,
          "percent_delta": 0.8117,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0013,
          "delta": 0.0013,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.677,
          "after": 7.5807,
          "delta": 3.9037,
          "percent_delta": 1.0617,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.229,
          "after": 0.2333,
          "delta": 0.0043,
          "percent_delta": 0.0188,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.414,
          "after": 0.7452,
          "delta": 0.3312,
          "percent_delta": 0.8,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.78,
          "after": 1.7551,
          "delta": 0.9751,
          "percent_delta": 1.2501,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.09,
          "after": 0.1575,
          "delta": 0.0675,
          "percent_delta": 0.75,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.299,
          "after": 0.3015,
          "delta": 0.0025,
          "percent_delta": 0.0084,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.323,
          "after": 0.6064,
          "delta": 0.2834,
          "percent_delta": 0.8774,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.44,
          "after": 1.2004,
          "delta": 0.7604,
          "percent_delta": 1.7282,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.354,
          "after": 0.3513,
          "delta": -0.0027,
          "percent_delta": -0.0076,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.333,
          "after": 0.6582,
          "delta": 0.3252,
          "percent_delta": 0.9766,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 8,
        "deboosted_metrics": 0,
        "better_metrics": 7,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.677,
          "after": 7.5807,
          "delta": 3.9037,
          "percent_delta": 1.0617,
          "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": 2,
        "last_10": 3,
        "season": 27
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.4022,
        "predicted_3B": 0.0013,
        "predicted_AB": 7.5807,
        "predicted_AVG": 0.2263,
        "predicted_BB": 0.7359,
        "predicted_H": 1.7153,
        "predicted_HBP": 0.106,
        "predicted_HR": 0.1543,
        "predicted_OBP": 0.2947,
        "predicted_R": 0.5809,
        "predicted_RBI": 1.15,
        "predicted_SLG": 0.3407,
        "predicted_SO": 0.6664
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.4022,
          "after": 0.4022,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0013,
          "after": 0.0013,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.5807,
          "after": 7.5807,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2333,
          "after": 0.2263,
          "delta": -0.007,
          "percent_delta": -0.03,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.7452,
          "after": 0.7359,
          "delta": -0.0093,
          "percent_delta": -0.0125,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.7551,
          "after": 1.7153,
          "delta": -0.0398,
          "percent_delta": -0.0227,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.106,
          "after": 0.106,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1575,
          "after": 0.1543,
          "delta": -0.0032,
          "percent_delta": -0.0203,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3015,
          "after": 0.2947,
          "delta": -0.0068,
          "percent_delta": -0.0226,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6064,
          "after": 0.5809,
          "delta": -0.0255,
          "percent_delta": -0.0421,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.2004,
          "after": 1.15,
          "delta": -0.0504,
          "percent_delta": -0.042,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3513,
          "after": 0.3407,
          "delta": -0.0106,
          "percent_delta": -0.0302,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6582,
          "after": 0.6664,
          "delta": 0.0082,
          "percent_delta": 0.0125,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.2004,
          "after": 1.15,
          "delta": -0.0504,
          "percent_delta": -0.042,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 8 (raw=7.58), rates preserved: AVG=0.226 HR/AB=0.020",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.4022,
          "after": 0.0,
          "delta": -0.4022,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0013,
          "after": 0.0,
          "delta": -0.0013,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.5807,
          "after": 8.0,
          "delta": 0.4193,
          "percent_delta": 0.0553,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.7359,
          "after": 1.0,
          "delta": 0.2641,
          "percent_delta": 0.3589,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.7153,
          "after": 2.0,
          "delta": 0.2847,
          "percent_delta": 0.166,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.106,
          "after": 0.0,
          "delta": -0.106,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1543,
          "after": 0.0,
          "delta": -0.1543,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.15,
          "after": 1.0,
          "delta": -0.15,
          "percent_delta": -0.1304,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6664,
          "after": 1.0,
          "delta": 0.3336,
          "percent_delta": 0.5006,
          "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_AB",
          "before": 7.5807,
          "after": 8.0,
          "delta": 0.4193,
          "percent_delta": 0.0553,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.4022,
          "after": 0.0,
          "delta": -0.4022,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 8.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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5809,
          "after": 1.0,
          "delta": 0.4191,
          "percent_delta": 0.7215,
          "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.5809,
          "after": 1.0,
          "delta": 0.4191,
          "percent_delta": 0.7215,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.333,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.25,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2263,
          "after": 0.25,
          "delta": 0.0237,
          "percent_delta": 0.1047,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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.2947,
          "after": 0.333,
          "delta": 0.0383,
          "percent_delta": 0.13,
          "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.3407,
          "after": 0.25,
          "delta": -0.0907,
          "percent_delta": -0.2662,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.2947,
          "after": 0.333,
          "delta": 0.0383,
          "percent_delta": 0.13,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3407,
          "after": 0.25,
          "delta": -0.0907,
          "percent_delta": -0.2662,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 3.0,
        "predicted_SB": 0.0,
        "predicted_SF": 1.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": 8.0,
          "after": 3.0,
          "delta": -5.0,
          "percent_delta": -0.625,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "higher",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 3,
        "deboosted_metrics": 4,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 3.0,
          "delta": -5.0,
          "percent_delta": -0.625,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2263,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2947,
        "predicted_R": 1.0,
        "predicted_RBI": 3.0,
        "predicted_SB": 0.0,
        "predicted_SF": 1.0,
        "predicted_SLG": 0.3407,
        "predicted_SO": 0.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2263,
          "delta": -0.0237,
          "percent_delta": -0.0949,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.333,
          "after": 0.2947,
          "delta": -0.0383,
          "percent_delta": -0.1149,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.3407,
          "delta": 0.0907,
          "percent_delta": 0.3629,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.3407,
          "delta": 0.0907,
          "percent_delta": 0.3629,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.333,
          "after": 0.2947,
          "delta": -0.0383,
          "percent_delta": -0.1149,
          "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.222,
        "after": 1.0,
        "delta": 0.778,
        "percent_delta": 3.5045,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.677,
        "after": 3.0,
        "delta": -0.677,
        "percent_delta": -0.1841,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.229,
        "after": 0.2263,
        "delta": -0.0027,
        "percent_delta": -0.0118,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "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": 0.78,
        "after": 1.0,
        "delta": 0.22,
        "percent_delta": 0.2821,
        "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.299,
        "after": 0.2947,
        "delta": -0.0043,
        "percent_delta": -0.0144,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.323,
        "after": 1.0,
        "delta": 0.677,
        "percent_delta": 2.096,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.44,
        "after": 3.0,
        "delta": 2.56,
        "percent_delta": 5.8182,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.354,
        "after": 0.3407,
        "delta": -0.0133,
        "percent_delta": -0.0376,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.333,
        "after": 0.0,
        "delta": -0.333,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 4,
      "deboosted_metrics": 5,
      "better_metrics": 5,
      "worse_metrics": 4,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.44,
        "after": 3.0,
        "delta": 2.56,
        "percent_delta": 5.8182,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 3.677,
        "after": 3.0,
        "delta": -0.677,
        "percent_delta": -0.1841,
        "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.222-
predicted_3B0.000-
predicted_AB3.677-
predicted_AVG0.229-
predicted_BB0.414-
predicted_H0.780-
predicted_HR0.090-
predicted_OBP0.299-
predicted_R0.323-
predicted_RBI0.440-
predicted_SLG0.354-
predicted_SO0.333-
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.4020.180
predicted_3B0.0010.001
predicted_AB7.5813.904
predicted_AVG0.2330.004
predicted_BB0.7450.331
predicted_H1.7550.975
predicted_HBP0.106-
predicted_HR0.1580.068
predicted_OBP0.3010.003
predicted_R0.6060.283
predicted_RBI1.2000.760
predicted_SLG0.351-0.003
predicted_SO0.6580.325
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.4020.000
predicted_3B0.0010.000
predicted_AB7.5810.000
predicted_AVG0.226-0.007
predicted_BB0.736-0.009
predicted_H1.715-0.040
predicted_HBP0.1060.000
predicted_HR0.154-0.003
predicted_OBP0.295-0.007
predicted_R0.581-0.026
predicted_RBI1.150-0.050
predicted_SLG0.341-0.011
predicted_SO0.6660.008
4. ab_floor_and_scaling

AB rounded to 8 (raw=7.58), rates preserved: AVG=0.226 HR/AB=0.020

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB8.000-
BB1.000-
H2.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB8.0000.000
BB1.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
6. 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.402
predicted_3B0.000-0.001
predicted_AB8.0000.419
predicted_AVG0.2500.024
predicted_BB1.0000.264
predicted_H2.0000.285
predicted_HR0.000-0.154
predicted_OBP0.3330.038
predicted_R1.0000.419
predicted_RBI1.000-0.150
predicted_SLG0.250-0.091
predicted_SO1.0000.334
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB3.000-5.000
BB0.000-1.000
CS0.0000.000
H1.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0000.000
RBI3.0002.000
SB0.0000.000
SF1.0001.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: 99
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-23.0004.0000.0000.0000.0008.0000.0000.0000.0000.17390.20830.17390.17390.00000.34780.00000.0000
last_100.203-48.0009.0000.0000.0000.00010.0000.0000.0000.0000.18750.20410.18750.18750.00000.20830.00000.0000
season0.6027-364.00091.00022.0000.0008.00055.00032.00041.00033.0000.25000.32360.37640.25000.02200.15110.11260.0907
Weighted Prediction From Real Data
MetricValue
predicted_2B0.6410
predicted_3B0.0030
predicted_AB12.7530
predicted_AVG0.2389
predicted_BB1.1840
predicted_H3.0470
predicted_HBP0.1060
predicted_HR0.2470
predicted_OBP0.3049
predicted_R0.9820
predicted_RBI2.2080
predicted_SLG0.3478
predicted_SO1.0890
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.22200.64100.4022model_form_blend
predicted_3B0.00000.00300.0013model_form_blend
predicted_AB3.677012.75307.5807model_form_blend
predicted_AVG0.22900.23890.2333model_form_blend
predicted_BB0.41401.18400.7452model_form_blend
predicted_H0.78003.04701.7551model_form_blend
predicted_HBP-0.10600.1060form_only
predicted_HR0.09000.24700.1575model_form_blend
predicted_OBP0.29900.30490.3015model_form_blend
predicted_R0.32300.98200.6064model_form_blend
predicted_RBI0.44002.20801.2004model_form_blend
predicted_SLG0.35400.34780.3513model_form_blend
predicted_SO0.33301.08900.6582model_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 date101
Season rows before report date101
Report year2026
Profile rows used99
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
RBI3
BB0
SO0
SF1
HBP0
season_avg0.25

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_HBP1
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
allPositionsPlayed3B
gameID20260520_OAK@LAA
game_typefull
mlbID687093
playerID687093
playerNameVaughn Grissom
pos2B
startedTrue
startingPosition3B
teamLAA
teamID13
game_date2026-05-20
sl_k_percent10.0
sl_bb_percent11.0
sl_woba0.316
sl_xwoba0.352
sl_xba0.273
sl_xslg0.434
sl_sweet_spot_percent26.9
sl_barrel_batted_rate6.4
sl_hard_hit_percent46.2
sl_exit_velocity_avg91.2
sl_launch_angle_avg11.3
sl_whiff_percent19.5
sl_swing_percent45.2
Mike Trout (545361) · BATTER · DH · Team LAA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 218
All-history rows before 20260521: 218
System season_avg: 0.2430
Data season_avg (2026 season-to-date): 0.2429
Diff (system - data): 0.0001
System opponent_avg: 0.3460

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1510.0000.000Hitting_2B0.1510.000-0.1510.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.8803.0008.000Hitting_AB3.5503.000-0.5500.000
predicted_AVG0.2180.0000.250Hitting_AVG0.2430.000-0.2430.000
predicted_BB0.9681.0002.000Hitting_BB0.9682.0000.032-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.8500.0002.000Hitting_H0.8620.000-0.8620.000
predicted_HR0.2100.0001.000Hitting_HR0.2660.000-0.2660.000
predicted_OBP0.3450.2500.400Hitting_OBP0.4130.400-0.163-0.150
predicted_R0.7480.0002.000Hitting_R0.7481.000-0.748-1.000
predicted_RBI0.4600.0001.000Hitting_RBI0.5640.000-0.5640.000
predicted_SLG0.4300.0000.625Hitting_SLG0.5100.000-0.5100.000
predicted_SO1.0601.0002.000Hitting_SO1.0600.000-0.0601.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_SLG: 0.4300 -> 0.5306 (boost 0.1006, better)
Biggest Deboostpredicted_AB: 3.8800 -> 3.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_blend11110101predicted_AB: 3.8800 -> 8.2496 (boost 4.3696, 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_snapshot42222predicted_SLG: 0.4982 -> 0.5306 (boost 0.0324, better)predicted_R: 1.7497 -> 1.6762 (deboost -0.0735, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling72525predicted_HR: 0.7233 -> 1.0000 (boost 0.2767, better)predicted_RBI: 1.4879 -> 1.0000 (deboost -0.4879, worse)AB rounded to 8 (raw=8.25), rates preserved: AVG=0.230 HR/AB=0.088
5consistency_constraints11010predicted_R: 1.6762 -> 2.0000 (boost 0.3238, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context32121predicted_SLG: 0.5306 -> 0.6250 (boost 0.0944, better)predicted_OBP: 0.4059 -> 0.4000 (deboost -0.0059, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference70716-predicted_AB: 8.0000 -> 3.0000 (deboost -5.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final31212predicted_OBP: 0.4000 -> 0.4059 (boost 0.0059, better)predicted_SLG: 0.6250 -> 0.5306 (deboost -0.0944, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "545361",
  "player_name": "Mike Trout",
  "position": "DH",
  "team": "LAA",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.151,
        "predicted_3B": 0.0,
        "predicted_AB": 3.88,
        "predicted_AVG": 0.218,
        "predicted_BB": 0.968,
        "predicted_H": 0.85,
        "predicted_HR": 0.21,
        "predicted_OBP": 0.345,
        "predicted_R": 0.748,
        "predicted_RBI": 0.46,
        "predicted_SLG": 0.43,
        "predicted_SO": 1.06
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.3117,
        "predicted_3B": 0.0009,
        "predicted_AB": 8.2496,
        "predicted_AVG": 0.2279,
        "predicted_BB": 2.4804,
        "predicted_H": 1.9378,
        "predicted_HBP": 0.195,
        "predicted_HR": 0.7384,
        "predicted_OBP": 0.3808,
        "predicted_R": 1.7497,
        "predicted_RBI": 1.5531,
        "predicted_SLG": 0.4982,
        "predicted_SO": 2.0224
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.151,
          "after": 0.3117,
          "delta": 0.1607,
          "percent_delta": 1.0642,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.88,
          "after": 8.2496,
          "delta": 4.3696,
          "percent_delta": 1.1262,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.218,
          "after": 0.2279,
          "delta": 0.0099,
          "percent_delta": 0.0454,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.968,
          "after": 2.4804,
          "delta": 1.5124,
          "percent_delta": 1.5624,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.85,
          "after": 1.9378,
          "delta": 1.0878,
          "percent_delta": 1.2798,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.21,
          "after": 0.7384,
          "delta": 0.5284,
          "percent_delta": 2.5162,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.345,
          "after": 0.3808,
          "delta": 0.0358,
          "percent_delta": 0.1038,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.748,
          "after": 1.7497,
          "delta": 1.0017,
          "percent_delta": 1.3392,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.46,
          "after": 1.5531,
          "delta": 1.0931,
          "percent_delta": 2.3763,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.43,
          "after": 0.4982,
          "delta": 0.0682,
          "percent_delta": 0.1586,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.06,
          "after": 2.0224,
          "delta": 0.9624,
          "percent_delta": 0.9079,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 11,
        "boosted_metrics": 11,
        "deboosted_metrics": 0,
        "better_metrics": 10,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.88,
          "after": 8.2496,
          "delta": 4.3696,
          "percent_delta": 1.1262,
          "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": 2,
        "last_10": 4,
        "season": 49
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.3117,
        "predicted_3B": 0.0009,
        "predicted_AB": 8.2496,
        "predicted_AVG": 0.2296,
        "predicted_BB": 2.4494,
        "predicted_H": 1.8938,
        "predicted_HBP": 0.195,
        "predicted_HR": 0.7233,
        "predicted_OBP": 0.4059,
        "predicted_R": 1.6762,
        "predicted_RBI": 1.4879,
        "predicted_SLG": 0.5306,
        "predicted_SO": 2.0477
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.3117,
          "after": 0.3117,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.2496,
          "after": 8.2496,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2279,
          "after": 0.2296,
          "delta": 0.0017,
          "percent_delta": 0.0075,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 2.4804,
          "after": 2.4494,
          "delta": -0.031,
          "percent_delta": -0.0125,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.9378,
          "after": 1.8938,
          "delta": -0.044,
          "percent_delta": -0.0227,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.195,
          "after": 0.195,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.7384,
          "after": 0.7233,
          "delta": -0.0151,
          "percent_delta": -0.0204,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3808,
          "after": 0.4059,
          "delta": 0.0251,
          "percent_delta": 0.0659,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.7497,
          "after": 1.6762,
          "delta": -0.0735,
          "percent_delta": -0.042,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.5531,
          "after": 1.4879,
          "delta": -0.0652,
          "percent_delta": -0.042,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4982,
          "after": 0.5306,
          "delta": 0.0324,
          "percent_delta": 0.065,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0224,
          "after": 2.0477,
          "delta": 0.0253,
          "percent_delta": 0.0125,
          "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.4982,
          "after": 0.5306,
          "delta": 0.0324,
          "percent_delta": 0.065,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.7497,
          "after": 1.6762,
          "delta": -0.0735,
          "percent_delta": -0.042,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 8 (raw=8.25), rates preserved: AVG=0.230 HR/AB=0.088",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 2.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.3117,
          "after": 0.0,
          "delta": -0.3117,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.2496,
          "after": 8.0,
          "delta": -0.2496,
          "percent_delta": -0.0303,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 2.4494,
          "after": 2.0,
          "delta": -0.4494,
          "percent_delta": -0.1835,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.8938,
          "after": 2.0,
          "delta": 0.1062,
          "percent_delta": 0.0561,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.195,
          "after": 0.0,
          "delta": -0.195,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.7233,
          "after": 1.0,
          "delta": 0.2767,
          "percent_delta": 0.3826,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.4879,
          "after": 1.0,
          "delta": -0.4879,
          "percent_delta": -0.3279,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0477,
          "after": 2.0,
          "delta": -0.0477,
          "percent_delta": -0.0233,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 2,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_HR",
          "before": 0.7233,
          "after": 1.0,
          "delta": 0.2767,
          "percent_delta": 0.3826,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.4879,
          "after": 1.0,
          "delta": -0.4879,
          "percent_delta": -0.3279,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 2.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 2.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": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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_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_R",
          "before": 1.6762,
          "after": 2.0,
          "delta": 0.3238,
          "percent_delta": 0.1932,
          "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": 1.6762,
          "after": 2.0,
          "delta": 0.3238,
          "percent_delta": 0.1932,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 2.0,
        "predicted_H": 2.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.4,
        "predicted_R": 2.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.625,
        "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": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2296,
          "after": 0.25,
          "delta": 0.0204,
          "percent_delta": 0.0889,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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_OBP",
          "before": 0.4059,
          "after": 0.4,
          "delta": -0.0059,
          "percent_delta": -0.0145,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 2.0,
          "after": 2.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.5306,
          "after": 0.625,
          "delta": 0.0944,
          "percent_delta": 0.1779,
          "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.5306,
          "after": 0.625,
          "delta": 0.0944,
          "percent_delta": 0.1779,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.4059,
          "after": 0.4,
          "delta": -0.0059,
          "percent_delta": -0.0145,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 3.0,
          "delta": -5.0,
          "percent_delta": -0.625,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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": 2.0,
          "after": 0.0,
          "delta": -2.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": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.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": 7,
        "boosted_metrics": 0,
        "deboosted_metrics": 7,
        "better_metrics": 1,
        "worse_metrics": 6,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 3.0,
          "delta": -5.0,
          "percent_delta": -0.625,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2296,
        "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.4059,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.5306,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2296,
          "delta": -0.0204,
          "percent_delta": -0.0817,
          "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.4,
          "after": 0.4059,
          "delta": 0.0059,
          "percent_delta": 0.0149,
          "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.625,
          "after": 0.5306,
          "delta": -0.0944,
          "percent_delta": -0.151,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.4,
          "after": 0.4059,
          "delta": 0.0059,
          "percent_delta": 0.0149,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.625,
          "after": 0.5306,
          "delta": -0.0944,
          "percent_delta": -0.151,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.151,
        "after": 0.0,
        "delta": -0.151,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.88,
        "after": 3.0,
        "delta": -0.88,
        "percent_delta": -0.2268,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.218,
        "after": 0.2296,
        "delta": 0.0116,
        "percent_delta": 0.0532,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.968,
        "after": 1.0,
        "delta": 0.032,
        "percent_delta": 0.0331,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 0.85,
        "after": 0.0,
        "delta": -0.85,
        "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.345,
        "after": 0.4059,
        "delta": 0.0609,
        "percent_delta": 0.1765,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.748,
        "after": 0.0,
        "delta": -0.748,
        "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.43,
        "after": 0.5306,
        "delta": 0.1006,
        "percent_delta": 0.234,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.06,
        "after": 1.0,
        "delta": -0.06,
        "percent_delta": -0.0566,
        "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_SLG",
        "before": 0.43,
        "after": 0.5306,
        "delta": 0.1006,
        "percent_delta": 0.234,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 3.88,
        "after": 3.0,
        "delta": -0.88,
        "percent_delta": -0.2268,
        "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.151-
predicted_3B0.000-
predicted_AB3.880-
predicted_AVG0.218-
predicted_BB0.968-
predicted_H0.850-
predicted_HR0.210-
predicted_OBP0.345-
predicted_R0.748-
predicted_RBI0.460-
predicted_SLG0.430-
predicted_SO1.060-
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.3120.161
predicted_3B0.0010.001
predicted_AB8.2504.370
predicted_AVG0.2280.010
predicted_BB2.4801.512
predicted_H1.9381.088
predicted_HBP0.195-
predicted_HR0.7380.528
predicted_OBP0.3810.036
predicted_R1.7501.002
predicted_RBI1.5531.093
predicted_SLG0.4980.068
predicted_SO2.0220.962
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.3120.000
predicted_3B0.0010.000
predicted_AB8.2500.000
predicted_AVG0.2300.002
predicted_BB2.449-0.031
predicted_H1.894-0.044
predicted_HBP0.1950.000
predicted_HR0.723-0.015
predicted_OBP0.4060.025
predicted_R1.676-0.074
predicted_RBI1.488-0.065
predicted_SLG0.5310.032
predicted_SO2.0480.025
4. ab_floor_and_scaling

AB rounded to 8 (raw=8.25), rates preserved: AVG=0.230 HR/AB=0.088

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB8.000-
BB2.000-
H2.000-
HBP0.000-
HR1.000-
RBI1.000-
SB0.000-
SO2.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB8.0000.000
BB2.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR1.0000.000
R2.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
6. 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.312
predicted_3B0.000-0.001
predicted_AB8.000-0.250
predicted_AVG0.2500.020
predicted_BB2.000-0.449
predicted_H2.0000.106
predicted_HR1.0000.277
predicted_OBP0.400-0.006
predicted_R2.0000.324
predicted_RBI1.000-0.488
predicted_SLG0.6250.094
predicted_SO2.000-0.048
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-5.000
BB1.000-1.000
CS0.0000.000
H0.000-2.000
HBP0.0000.000
HR0.000-1.000
PA4.000-
R0.000-2.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: 218
Reference playing time: 3.880
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-15.0004.0000.0000.0004.0008.0005.00010.0000.0000.26670.56001.06670.26670.26670.53330.66670.0000
last_100.204-31.0006.0001.0000.0005.00010.0006.00012.0000.0000.19350.41860.70970.19350.16130.32260.38710.0000
season0.6049-774.000188.00033.0000.00058.000123.000163.000211.000231.0000.24290.41340.51030.24290.07490.15890.27260.2984
Weighted Prediction From Real Data
MetricValue
predicted_2B0.5150
predicted_3B0.0020
predicted_AB13.7780
predicted_AVG0.2405
predicted_BB4.3940
predicted_H3.3140
predicted_HBP0.1950
predicted_HR1.4070
predicted_OBP0.4260
predicted_R3.0170
predicted_RBI2.9360
predicted_SLG0.5845
predicted_SO3.2400
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15100.51500.3117model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB3.880013.77808.2496model_form_blend
predicted_AVG0.21800.24050.2279model_form_blend
predicted_BB0.96804.39402.4804model_form_blend
predicted_H0.85003.31401.9378model_form_blend
predicted_HBP-0.19500.1950form_only
predicted_HR0.21001.40700.7384model_form_blend
predicted_OBP0.34500.42600.3808model_form_blend
predicted_R0.74803.01701.7497model_form_blend
predicted_RBI0.46002.93601.5531model_form_blend
predicted_SLG0.43000.58450.4982model_form_blend
predicted_SO1.06003.24002.0224model_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 date218
Season rows before report date218
Report year2026
Profile rows used218
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.243

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists1
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.0
Hitting_BB2
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB1
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
allPositionsPlayedCF
gameID20260520_OAK@LAA
game_typefull
mlbID545361
playerID545361
playerNameMike Trout
posCF
startedTrue
startingPositionCF
teamLAA
teamID13
game_date2026-05-20
sl_k_percent24.5
sl_bb_percent19.9
sl_woba0.39
sl_xwoba0.425
sl_xba0.258
sl_xslg0.59
sl_sweet_spot_percent33.3
sl_barrel_batted_rate22.4
sl_hard_hit_percent50.4
sl_exit_velocity_avg91.7
sl_launch_angle_avg20.7
sl_whiff_percent21.7
sl_swing_percent36.7
Zach Neto (687263) · BATTER · SS · Team LAA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 226
All-history rows before 20260521: 226
System season_avg: 0.2250
Data season_avg (2026 season-to-date): 0.2246
Diff (system - data): 0.0004
System opponent_avg: 0.3900

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2210.0001.000Hitting_2B0.2210.000-0.2210.000
predicted_3B0.0220.0000.000Hitting_3B0.0220.000-0.0220.000
predicted_AB4.3704.00010.000Hitting_AB3.9605.0000.040-1.000
predicted_AVG0.2120.5000.200Hitting_AVG0.2250.0000.2750.500
predicted_BB0.6190.0001.000Hitting_BB0.6190.000-0.6190.000
predicted_CS-0.0000.000BaseRunning_CS0.0750.000-0.0750.000
predicted_H0.9302.0002.000Hitting_H0.8890.0001.1112.000
predicted_HR0.1700.0000.000Hitting_HR0.1550.000-0.1550.000
predicted_OBP0.3080.5000.273Hitting_OBP0.3380.0000.1620.500
predicted_R0.6771.0002.000Hitting_R0.6770.0000.3231.000
predicted_RBI0.4500.0001.000Hitting_RBI0.4650.000-0.4650.000
predicted_SLG0.3920.5000.300Hitting_SLG0.4090.0000.0910.500
predicted_SO1.4421.0003.000Hitting_SO1.4422.000-0.442-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectdeboosted
Changed Metrics10
Boosted Metrics4
Deboosted Metrics6
Better Metrics5
Worse Metrics5
Biggest Boostpredicted_H: 0.9300 -> 2.0000 (boost 1.0700, better)
Biggest Deboostpredicted_BB: 0.6190 -> 0.0000 (deboost -0.6190, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend1010091predicted_AB: 4.3700 -> 9.6921 (boost 5.3221, 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_R: 1.6528 -> 1.5834 (deboost -0.0694, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling73443predicted_BB: 1.4645 -> 2.0000 (boost 0.5355, better)predicted_SO: 3.3720 -> 3.0000 (deboost -0.3720, better)AB rounded to 10 (raw=9.69), rates preserved: AVG=0.215 HR/AB=0.038
5bvp_blend10101-predicted_BB: 2.0000 -> 1.0000 (deboost -1.0000, worse)Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.500)
6consistency_constraints11010predicted_R: 1.5834 -> 2.0000 (boost 0.4166, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context30303-predicted_SLG: 0.4064 -> 0.3000 (deboost -0.1064, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference60615-predicted_AB: 10.0000 -> 4.0000 (deboost -6.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final33030predicted_SLG: 0.3000 -> 0.4064 (boost 0.1064, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "687263",
  "player_name": "Zach Neto",
  "position": "SS",
  "team": "LAA",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.221,
        "predicted_3B": 0.022,
        "predicted_AB": 4.37,
        "predicted_AVG": 0.212,
        "predicted_BB": 0.619,
        "predicted_H": 0.93,
        "predicted_HR": 0.17,
        "predicted_OBP": 0.308,
        "predicted_R": 0.677,
        "predicted_RBI": 0.45,
        "predicted_SLG": 0.392,
        "predicted_SO": 1.442
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.6638,
        "predicted_3B": 0.0459,
        "predicted_AB": 9.6921,
        "predicted_AVG": 0.2167,
        "predicted_BB": 1.483,
        "predicted_H": 2.1338,
        "predicted_HBP": 0.338,
        "predicted_HR": 0.3737,
        "predicted_OBP": 0.3214,
        "predicted_R": 1.6528,
        "predicted_RBI": 1.0519,
        "predicted_SLG": 0.4051,
        "predicted_SO": 3.3304
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.221,
          "after": 0.6638,
          "delta": 0.4428,
          "percent_delta": 2.0036,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.022,
          "after": 0.0459,
          "delta": 0.0239,
          "percent_delta": 1.0864,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.37,
          "after": 9.6921,
          "delta": 5.3221,
          "percent_delta": 1.2179,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.212,
          "after": 0.2167,
          "delta": 0.0047,
          "percent_delta": 0.0222,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.619,
          "after": 1.483,
          "delta": 0.864,
          "percent_delta": 1.3958,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.93,
          "after": 2.1338,
          "delta": 1.2038,
          "percent_delta": 1.2944,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.17,
          "after": 0.3737,
          "delta": 0.2037,
          "percent_delta": 1.1982,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.308,
          "after": 0.3214,
          "delta": 0.0134,
          "percent_delta": 0.0435,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.677,
          "after": 1.6528,
          "delta": 0.9758,
          "percent_delta": 1.4414,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.45,
          "after": 1.0519,
          "delta": 0.6019,
          "percent_delta": 1.3376,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.392,
          "after": 0.4051,
          "delta": 0.0131,
          "percent_delta": 0.0334,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.442,
          "after": 3.3304,
          "delta": 1.8884,
          "percent_delta": 1.3096,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 10,
        "boosted_metrics": 10,
        "deboosted_metrics": 0,
        "better_metrics": 9,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.37,
          "after": 9.6921,
          "delta": 5.3221,
          "percent_delta": 1.2179,
          "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": 2,
        "last_10": 3,
        "season": 50
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.6638,
        "predicted_3B": 0.0459,
        "predicted_AB": 9.6921,
        "predicted_AVG": 0.2152,
        "predicted_BB": 1.4645,
        "predicted_H": 2.0854,
        "predicted_HBP": 0.338,
        "predicted_HR": 0.3661,
        "predicted_OBP": 0.3182,
        "predicted_R": 1.5834,
        "predicted_RBI": 1.0077,
        "predicted_SLG": 0.4064,
        "predicted_SO": 3.372
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.6638,
          "after": 0.6638,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0459,
          "after": 0.0459,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.6921,
          "after": 9.6921,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2167,
          "after": 0.2152,
          "delta": -0.0015,
          "percent_delta": -0.0069,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.483,
          "after": 1.4645,
          "delta": -0.0185,
          "percent_delta": -0.0125,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.1338,
          "after": 2.0854,
          "delta": -0.0484,
          "percent_delta": -0.0227,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.338,
          "after": 0.338,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.3737,
          "after": 0.3661,
          "delta": -0.0076,
          "percent_delta": -0.0203,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3214,
          "after": 0.3182,
          "delta": -0.0032,
          "percent_delta": -0.01,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.6528,
          "after": 1.5834,
          "delta": -0.0694,
          "percent_delta": -0.042,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0519,
          "after": 1.0077,
          "delta": -0.0442,
          "percent_delta": -0.042,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4051,
          "after": 0.4064,
          "delta": 0.0013,
          "percent_delta": 0.0032,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 3.3304,
          "after": 3.372,
          "delta": 0.0416,
          "percent_delta": 0.0125,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.6528,
          "after": 1.5834,
          "delta": -0.0694,
          "percent_delta": -0.042,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 10 (raw=9.69), rates preserved: AVG=0.215 HR/AB=0.038",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 10.0,
        "predicted_BB": 2.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.6638,
          "after": 1.0,
          "delta": 0.3362,
          "percent_delta": 0.5065,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0459,
          "after": 0.0,
          "delta": -0.0459,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.6921,
          "after": 10.0,
          "delta": 0.3079,
          "percent_delta": 0.0318,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.4645,
          "after": 2.0,
          "delta": 0.5355,
          "percent_delta": 0.3657,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.0854,
          "after": 2.0,
          "delta": -0.0854,
          "percent_delta": -0.041,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.338,
          "after": 0.0,
          "delta": -0.338,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.3661,
          "after": 0.0,
          "delta": -0.3661,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0077,
          "after": 1.0,
          "delta": -0.0077,
          "percent_delta": -0.0076,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 3.372,
          "after": 3.0,
          "delta": -0.372,
          "percent_delta": -0.1103,
          "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": 1.4645,
          "after": 2.0,
          "delta": 0.5355,
          "percent_delta": 0.3657,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 3.372,
          "after": 3.0,
          "delta": -0.372,
          "percent_delta": -0.1103,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.500)",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 10.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 3.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": 10.0,
          "after": 10.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "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_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": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "model_expectation": 0.9333,
        "bvp": 0.0667
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 10.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 2.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 3.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": 10.0,
          "after": 10.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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.5834,
          "after": 2.0,
          "delta": 0.4166,
          "percent_delta": 0.2631,
          "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": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 1.5834,
          "after": 2.0,
          "delta": 0.4166,
          "percent_delta": 0.2631,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 10.0,
        "predicted_AVG": 0.2,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.273,
        "predicted_R": 2.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.3,
        "predicted_SO": 3.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": 10.0,
          "after": 10.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2152,
          "after": 0.2,
          "delta": -0.0152,
          "percent_delta": -0.0706,
          "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": 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.3182,
          "after": 0.273,
          "delta": -0.0452,
          "percent_delta": -0.142,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 2.0,
          "after": 2.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.4064,
          "after": 0.3,
          "delta": -0.1064,
          "percent_delta": -0.2618,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4064,
          "after": 0.3,
          "delta": -0.1064,
          "percent_delta": -0.2618,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 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": 10.0,
          "after": 4.0,
          "delta": -6.0,
          "percent_delta": -0.6,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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": 3.0,
          "after": 1.0,
          "delta": -2.0,
          "percent_delta": -0.6667,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 0,
        "deboosted_metrics": 6,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 10.0,
          "after": 4.0,
          "delta": -6.0,
          "percent_delta": -0.6,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2152,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3182,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4064,
        "predicted_SO": 1.0,
        "predicted_SS": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2,
          "after": 0.2152,
          "delta": 0.0152,
          "percent_delta": 0.0758,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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.273,
          "after": 0.3182,
          "delta": 0.0452,
          "percent_delta": 0.1655,
          "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.3,
          "after": 0.4064,
          "delta": 0.1064,
          "percent_delta": 0.3548,
          "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.3,
          "after": 0.4064,
          "delta": 0.1064,
          "percent_delta": 0.3548,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.221,
        "after": 0.0,
        "delta": -0.221,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.022,
        "after": 0.0,
        "delta": -0.022,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.37,
        "after": 4.0,
        "delta": -0.37,
        "percent_delta": -0.0847,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.212,
        "after": 0.2152,
        "delta": 0.0032,
        "percent_delta": 0.0151,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.619,
        "after": 0.0,
        "delta": -0.619,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.93,
        "after": 2.0,
        "delta": 1.07,
        "percent_delta": 1.1505,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.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.3182,
        "delta": 0.0102,
        "percent_delta": 0.0331,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.677,
        "after": 1.0,
        "delta": 0.323,
        "percent_delta": 0.4771,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.45,
        "after": 0.0,
        "delta": -0.45,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.392,
        "after": 0.4064,
        "delta": 0.0144,
        "percent_delta": 0.0367,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.442,
        "after": 1.0,
        "delta": -0.442,
        "percent_delta": -0.3065,
        "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.93,
        "after": 2.0,
        "delta": 1.07,
        "percent_delta": 1.1505,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.619,
        "after": 0.0,
        "delta": -0.619,
        "percent_delta": -1.0,
        "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.221-
predicted_3B0.022-
predicted_AB4.370-
predicted_AVG0.212-
predicted_BB0.619-
predicted_H0.930-
predicted_HR0.170-
predicted_OBP0.308-
predicted_R0.677-
predicted_RBI0.450-
predicted_SLG0.392-
predicted_SO1.442-
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.6640.443
predicted_3B0.0460.024
predicted_AB9.6925.322
predicted_AVG0.2170.005
predicted_BB1.4830.864
predicted_H2.1341.204
predicted_HBP0.338-
predicted_HR0.3740.204
predicted_OBP0.3210.013
predicted_R1.6530.976
predicted_RBI1.0520.602
predicted_SLG0.4050.013
predicted_SO3.3301.888
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.6640.000
predicted_3B0.0460.000
predicted_AB9.6920.000
predicted_AVG0.215-0.002
predicted_BB1.464-0.019
predicted_H2.085-0.048
predicted_HBP0.3380.000
predicted_HR0.366-0.008
predicted_OBP0.318-0.003
predicted_R1.583-0.069
predicted_RBI1.008-0.044
predicted_SLG0.4060.001
predicted_SO3.3720.042
4. ab_floor_and_scaling

AB rounded to 10 (raw=9.69), rates preserved: AVG=0.215 HR/AB=0.038

MetricValueDelta vs Prev Step
2B1.000-
3B0.000-
AB10.000-
BB2.000-
H2.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO3.000-
5. bvp_blend

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

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB10.0000.000
BB1.000-1.000
H2.0000.000
HR0.0000.000
RBI1.0000.000
SO3.0000.000
6. consistency_constraints

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

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB10.0000.000
BB1.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R2.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO3.0000.000
7. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B1.0000.336
predicted_3B0.000-0.046
predicted_AB10.0000.308
predicted_AVG0.200-0.015
predicted_BB1.000-0.464
predicted_H2.000-0.085
predicted_HR0.000-0.366
predicted_OBP0.273-0.045
predicted_R2.0000.417
predicted_RBI1.000-0.008
predicted_SLG0.300-0.106
predicted_SO3.000-0.372
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 226
Reference playing time: 4.370
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-21.0004.0004.0000.0000.0000.0004.0004.0006.0000.19050.32000.38100.19050.00000.00000.19050.2857
last_100.203-37.0009.0005.0000.0004.0008.0009.0005.00011.0000.24320.39130.70270.24320.10810.21620.13510.2973
season0.6050-895.000201.00050.0005.00035.000105.000153.000140.000326.0000.22460.33810.40890.22460.03910.11730.15640.3643
Weighted Prediction From Real Data
MetricValue
predicted_2B1.2230
predicted_3B0.0760
predicted_AB16.4130
predicted_AVG0.2226
predicted_BB2.5740
predicted_H3.6540
predicted_HBP0.3380
predicted_HR0.6310
predicted_OBP0.3384
predicted_R2.8850
predicted_RBI1.8120
predicted_SLG0.4217
predicted_SO5.7150
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.22101.22300.6638model_form_blend
predicted_3B0.02200.07600.0459model_form_blend
predicted_AB4.370016.41309.6921model_form_blend
predicted_AVG0.21200.22260.2167model_form_blend
predicted_BB0.61902.57401.4830model_form_blend
predicted_H0.93003.65402.1338model_form_blend
predicted_HBP-0.33800.3380form_only
predicted_HR0.17000.63100.3737model_form_blend
predicted_OBP0.30800.33840.3214model_form_blend
predicted_R0.67702.88501.6528model_form_blend
predicted_RBI0.45001.81201.0519model_form_blend
predicted_SLG0.39200.42170.4051model_form_blend
predicted_SO1.44205.71503.3304model_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 used226
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
SO1
SF0
HBP0
season_avg0.225

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_SO2
Hitting_TB0
Hitting_battingOrder1
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedSS
gameID20260520_OAK@LAA
game_typefull
mlbID687263
playerID687263
playerNameZach Neto
posSS
startedTrue
startingPositionSS
teamLAA
teamID13
game_date2026-05-20
sl_k_percent30.7
sl_bb_percent12.9
sl_woba0.337
sl_xwoba0.328
sl_xba0.216
sl_xslg0.409
sl_sweet_spot_percent35.8
sl_barrel_batted_rate11.4
sl_hard_hit_percent39.8
sl_exit_velocity_avg90.0
sl_launch_angle_avg21.8
sl_whiff_percent29.7
sl_swing_percent49.6
Nolan Schanuel (694384) · BATTER · 1B · Team LAA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 192
All-history rows before 20260521: 192
System season_avg: 0.2530
Data season_avg (2026 season-to-date): 0.2532
Diff (system - data): -0.0002
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.2190.0000.000Hitting_2B0.2191.000-0.219-1.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.2104.0009.000Hitting_AB4.0104.000-0.0100.000
predicted_AVG0.2310.0000.222Hitting_AVG0.2530.250-0.253-0.250
predicted_BB0.2920.0001.000Hitting_BB0.2921.000-0.292-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0210.000-0.0210.000
predicted_H0.9700.0002.000Hitting_H1.0161.000-1.016-1.000
predicted_HR0.0700.0000.000Hitting_HR0.0730.000-0.0730.000
predicted_OBP0.3040.0000.300Hitting_OBP0.3090.400-0.309-0.400
predicted_R0.3750.0001.000Hitting_R0.3750.000-0.3750.000
predicted_RBI0.3500.0001.000Hitting_RBI0.4900.000-0.4900.000
predicted_SLG0.3540.0000.222Hitting_SLG0.3620.500-0.362-0.500
predicted_SO0.7082.0001.000Hitting_SO0.7080.0001.2922.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.7080 -> 2.0000 (boost 1.2920, 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_blend1010091predicted_AB: 4.2100 -> 8.8929 (boost 4.6829, 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.3109 -> 0.2857 (deboost -0.0252, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling83544predicted_BB: 0.5873 -> 1.0000 (boost 0.4127, better)predicted_HBP: 0.6580 -> 0.0000 (deboost -0.6580, worse)AB rounded to 9 (raw=8.89), rates preserved: AVG=0.239 HR/AB=0.015
5consistency_constraints11010predicted_R: 0.9055 -> 1.0000 (boost 0.0945, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context31212predicted_OBP: 0.2857 -> 0.3000 (boost 0.0143, better)predicted_SLG: 0.3355 -> 0.2220 (deboost -0.1135, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference61506predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse)predicted_AB: 9.0000 -> 4.0000 (deboost -5.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final32121predicted_SLG: 0.2220 -> 0.3355 (boost 0.1135, better)predicted_OBP: 0.3000 -> 0.2857 (deboost -0.0143, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "694384",
  "player_name": "Nolan Schanuel",
  "position": "1B",
  "team": "LAA",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.219,
        "predicted_3B": 0.0,
        "predicted_AB": 4.21,
        "predicted_AVG": 0.231,
        "predicted_BB": 0.292,
        "predicted_H": 0.97,
        "predicted_HR": 0.07,
        "predicted_OBP": 0.304,
        "predicted_R": 0.375,
        "predicted_RBI": 0.35,
        "predicted_SLG": 0.354,
        "predicted_SO": 0.708
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.4566,
        "predicted_3B": 0.0009,
        "predicted_AB": 8.8929,
        "predicted_AVG": 0.2389,
        "predicted_BB": 0.5947,
        "predicted_H": 2.1708,
        "predicted_HBP": 0.658,
        "predicted_HR": 0.1373,
        "predicted_OBP": 0.3109,
        "predicted_R": 0.9452,
        "predicted_RBI": 0.834,
        "predicted_SLG": 0.3502,
        "predicted_SO": 1.4516
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.219,
          "after": 0.4566,
          "delta": 0.2376,
          "percent_delta": 1.0849,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.21,
          "after": 8.8929,
          "delta": 4.6829,
          "percent_delta": 1.1123,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.231,
          "after": 0.2389,
          "delta": 0.0079,
          "percent_delta": 0.0342,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.292,
          "after": 0.5947,
          "delta": 0.3027,
          "percent_delta": 1.0366,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.97,
          "after": 2.1708,
          "delta": 1.2008,
          "percent_delta": 1.2379,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.07,
          "after": 0.1373,
          "delta": 0.0673,
          "percent_delta": 0.9614,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.304,
          "after": 0.3109,
          "delta": 0.0069,
          "percent_delta": 0.0227,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.375,
          "after": 0.9452,
          "delta": 0.5702,
          "percent_delta": 1.5205,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.35,
          "after": 0.834,
          "delta": 0.484,
          "percent_delta": 1.3829,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.354,
          "after": 0.3502,
          "delta": -0.0038,
          "percent_delta": -0.0107,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.708,
          "after": 1.4516,
          "delta": 0.7436,
          "percent_delta": 1.0503,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 10,
        "boosted_metrics": 10,
        "deboosted_metrics": 0,
        "better_metrics": 9,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.21,
          "after": 8.8929,
          "delta": 4.6829,
          "percent_delta": 1.1123,
          "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": 2,
        "last_10": 4,
        "season": 46
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.4566,
        "predicted_3B": 0.0009,
        "predicted_AB": 8.8929,
        "predicted_AVG": 0.2386,
        "predicted_BB": 0.5873,
        "predicted_H": 2.1215,
        "predicted_HBP": 0.658,
        "predicted_HR": 0.1345,
        "predicted_OBP": 0.2857,
        "predicted_R": 0.9055,
        "predicted_RBI": 0.799,
        "predicted_SLG": 0.3355,
        "predicted_SO": 1.4697
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.4566,
          "after": 0.4566,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.8929,
          "after": 8.8929,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2389,
          "after": 0.2386,
          "delta": -0.0003,
          "percent_delta": -0.0013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.5947,
          "after": 0.5873,
          "delta": -0.0074,
          "percent_delta": -0.0124,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.1708,
          "after": 2.1215,
          "delta": -0.0493,
          "percent_delta": -0.0227,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.658,
          "after": 0.658,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1373,
          "after": 0.1345,
          "delta": -0.0028,
          "percent_delta": -0.0204,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3109,
          "after": 0.2857,
          "delta": -0.0252,
          "percent_delta": -0.0811,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.9452,
          "after": 0.9055,
          "delta": -0.0397,
          "percent_delta": -0.042,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.834,
          "after": 0.799,
          "delta": -0.035,
          "percent_delta": -0.042,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3502,
          "after": 0.3355,
          "delta": -0.0147,
          "percent_delta": -0.042,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.4516,
          "after": 1.4697,
          "delta": 0.0181,
          "percent_delta": 0.0125,
          "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.3109,
          "after": 0.2857,
          "delta": -0.0252,
          "percent_delta": -0.0811,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 9 (raw=8.89), rates preserved: AVG=0.239 HR/AB=0.015",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.4566,
          "after": 0.0,
          "delta": -0.4566,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.8929,
          "after": 9.0,
          "delta": 0.1071,
          "percent_delta": 0.012,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5873,
          "after": 1.0,
          "delta": 0.4127,
          "percent_delta": 0.7027,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.1215,
          "after": 2.0,
          "delta": -0.1215,
          "percent_delta": -0.0573,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.658,
          "after": 0.0,
          "delta": -0.658,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1345,
          "after": 0.0,
          "delta": -0.1345,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.799,
          "after": 1.0,
          "delta": 0.201,
          "percent_delta": 0.2516,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.4697,
          "after": 1.0,
          "delta": -0.4697,
          "percent_delta": -0.3196,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 3,
        "deboosted_metrics": 5,
        "better_metrics": 4,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.5873,
          "after": 1.0,
          "delta": 0.4127,
          "percent_delta": 0.7027,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HBP",
          "before": 0.658,
          "after": 0.0,
          "delta": -0.658,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 9.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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.9055,
          "after": 1.0,
          "delta": 0.0945,
          "percent_delta": 0.1044,
          "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.9055,
          "after": 1.0,
          "delta": 0.0945,
          "percent_delta": 0.1044,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_AVG": 0.222,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.222,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 9.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2386,
          "after": 0.222,
          "delta": -0.0166,
          "percent_delta": -0.0696,
          "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": 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.2857,
          "after": 0.3,
          "delta": 0.0143,
          "percent_delta": 0.0501,
          "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.3355,
          "after": 0.222,
          "delta": -0.1135,
          "percent_delta": -0.3383,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.2857,
          "after": 0.3,
          "delta": 0.0143,
          "percent_delta": 0.0501,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3355,
          "after": 0.222,
          "delta": -0.1135,
          "percent_delta": -0.3383,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 4.0,
          "delta": -5.0,
          "percent_delta": -0.5556,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.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": 1,
        "deboosted_metrics": 5,
        "better_metrics": 0,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 4.0,
          "delta": -5.0,
          "percent_delta": -0.5556,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2386,
        "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.2857,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3355,
        "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.2386,
          "delta": 0.0166,
          "percent_delta": 0.0746,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.2857,
          "delta": -0.0143,
          "percent_delta": -0.0476,
          "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.222,
          "after": 0.3355,
          "delta": 0.1135,
          "percent_delta": 0.5112,
          "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.222,
          "after": 0.3355,
          "delta": 0.1135,
          "percent_delta": 0.5112,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3,
          "after": 0.2857,
          "delta": -0.0143,
          "percent_delta": -0.0476,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.219,
        "after": 0.0,
        "delta": -0.219,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.21,
        "after": 4.0,
        "delta": -0.21,
        "percent_delta": -0.0499,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.231,
        "after": 0.2386,
        "delta": 0.0076,
        "percent_delta": 0.0329,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.292,
        "after": 0.0,
        "delta": -0.292,
        "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.07,
        "after": 0.0,
        "delta": -0.07,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.304,
        "after": 0.2857,
        "delta": -0.0183,
        "percent_delta": -0.0602,
        "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.35,
        "after": 0.0,
        "delta": -0.35,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.354,
        "after": 0.3355,
        "delta": -0.0185,
        "percent_delta": -0.0523,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.708,
        "after": 2.0,
        "delta": 1.292,
        "percent_delta": 1.8249,
        "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.708,
        "after": 2.0,
        "delta": 1.292,
        "percent_delta": 1.8249,
        "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.219-
predicted_3B0.000-
predicted_AB4.210-
predicted_AVG0.231-
predicted_BB0.292-
predicted_H0.970-
predicted_HR0.070-
predicted_OBP0.304-
predicted_R0.375-
predicted_RBI0.350-
predicted_SLG0.354-
predicted_SO0.708-
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.4570.238
predicted_3B0.0010.001
predicted_AB8.8934.683
predicted_AVG0.2390.008
predicted_BB0.5950.303
predicted_H2.1711.201
predicted_HBP0.658-
predicted_HR0.1370.067
predicted_OBP0.3110.007
predicted_R0.9450.570
predicted_RBI0.8340.484
predicted_SLG0.350-0.004
predicted_SO1.4520.744
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.4570.000
predicted_3B0.0010.000
predicted_AB8.8930.000
predicted_AVG0.239-0.000
predicted_BB0.587-0.007
predicted_H2.122-0.049
predicted_HBP0.6580.000
predicted_HR0.135-0.003
predicted_OBP0.286-0.025
predicted_R0.905-0.040
predicted_RBI0.799-0.035
predicted_SLG0.336-0.015
predicted_SO1.4700.018
4. ab_floor_and_scaling

AB rounded to 9 (raw=8.89), rates preserved: AVG=0.239 HR/AB=0.015

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB9.000-
BB1.000-
H2.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB9.0000.000
BB1.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
6. 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.457
predicted_3B0.000-0.001
predicted_AB9.0000.107
predicted_AVG0.222-0.017
predicted_BB1.0000.413
predicted_H2.000-0.122
predicted_HR0.000-0.135
predicted_OBP0.3000.014
predicted_R1.0000.095
predicted_RBI1.0000.201
predicted_SLG0.222-0.114
predicted_SO1.000-0.470
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 192
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.202-20.0005.0001.0000.0000.0000.0004.0001.0000.0000.25000.40000.30000.25000.00000.00000.05000.0000
last_100.204-37.0008.0001.0000.0000.0000.0006.0001.0007.0000.21620.32560.24320.21620.00000.00000.02700.1892
season0.6046-770.000195.00042.0000.00014.00094.00072.00056.000136.0000.25320.30850.36230.25320.01820.12210.07270.1766
Weighted Prediction From Real Data
MetricValue
predicted_2B0.7590
predicted_3B0.0020
predicted_AB14.8530
predicted_AVG0.2490
predicted_BB0.9800
predicted_H3.6990
predicted_HBP0.6580
predicted_HR0.2230
predicted_OBP0.3197
predicted_R1.6710
predicted_RBI1.4500
predicted_SLG0.3454
predicted_SO2.3980
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.21900.75900.4566model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB4.210014.85308.8929model_form_blend
predicted_AVG0.23100.24900.2389model_form_blend
predicted_BB0.29200.98000.5947model_form_blend
predicted_H0.97003.69902.1708model_form_blend
predicted_HBP-0.65800.6580form_only
predicted_HR0.07000.22300.1373model_form_blend
predicted_OBP0.30400.31970.3109model_form_blend
predicted_R0.37501.67100.9452model_form_blend
predicted_RBI0.35001.45000.8340model_form_blend
predicted_SLG0.35400.34540.3502model_form_blend
predicted_SO0.70802.39801.4516model_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 date192
Season rows before report date192
Report year2026
Profile rows used192
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.253

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB1
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB2
Hitting_battingOrder3
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed1B
gameID20260520_OAK@LAA
game_typefull
mlbID694384
playerID694384
playerNameNolan Schanuel
pos1B
startedTrue
startingPosition1B
teamLAA
teamID13
game_date2026-05-20
sl_k_percent16.8
sl_bb_percent6.3
sl_woba0.298
sl_xwoba0.305
sl_xba0.271
sl_xslg0.361
sl_sweet_spot_percent37.2
sl_barrel_batted_rate2.1
sl_hard_hit_percent31.7
sl_exit_velocity_avg87.0
sl_launch_angle_avg9.9
sl_whiff_percent18.7
sl_swing_percent46.0
Josh Lowe (666139) · BATTER · LF · Team LAA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 131
All-history rows before 20260521: 131
System season_avg: 0.1820
Data season_avg (2026 season-to-date): 0.1816
Diff (system - data): 0.0004
System opponent_avg: 0.1760

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0470.0000.000Hitting_2B0.0460.000-0.0460.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.3393.0006.000Hitting_AB3.2374.000-0.237-1.000
predicted_AVG0.2470.0000.167Hitting_AVG0.1820.250-0.182-0.250
predicted_BB0.1810.0000.000Hitting_BB0.1760.000-0.1760.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.6800.0001.000Hitting_H0.5881.000-0.588-1.000
predicted_HR0.1100.0000.000Hitting_HR0.1371.000-0.137-1.000
predicted_OBP0.2810.0000.167Hitting_OBP0.2280.250-0.228-0.250
predicted_R0.2440.0000.000Hitting_R0.2371.000-0.237-1.000
predicted_RBI0.4100.0001.000Hitting_RBI0.3822.000-0.382-2.000
predicted_SLG0.3910.0000.167Hitting_SLG0.3231.000-0.323-1.000
predicted_SO1.0241.0002.000Hitting_SO0.9922.0000.008-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics9
Boosted Metrics0
Deboosted Metrics9
Better Metrics0
Worse Metrics9
Biggest Boost-
Biggest Deboostpredicted_H: 0.6800 -> 0.0000 (deboost -0.6800, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend118374predicted_AB: 3.3390 -> 5.7083 (boost 2.3693, better)predicted_AVG: 0.2470 -> 0.2266 (deboost -0.0204, worse)Final model 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.3854 -> 0.3505 (deboost -0.0349, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling83526predicted_AB: 5.7083 -> 6.0000 (boost 0.2917, better)predicted_BB: 0.2637 -> 0.0000 (deboost -0.2637, worse)AB rounded to 6 (raw=5.71), rates preserved: AVG=0.196 HR/AB=0.041
5consistency_constraints10101-predicted_R: 0.4001 -> 0.0000 (deboost -0.4001, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context30303-predicted_SLG: 0.3505 -> 0.1670 (deboost -0.1835, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference40413-predicted_AB: 6.0000 -> 3.0000 (deboost -3.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final33030predicted_SLG: 0.1670 -> 0.3505 (boost 0.1835, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "666139",
  "player_name": "Josh Lowe",
  "position": "LF",
  "team": "LAA",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.047,
        "predicted_3B": 0.0,
        "predicted_AB": 3.339,
        "predicted_AVG": 0.247,
        "predicted_BB": 0.181,
        "predicted_H": 0.68,
        "predicted_HR": 0.11,
        "predicted_OBP": 0.281,
        "predicted_R": 0.244,
        "predicted_RBI": 0.41,
        "predicted_SLG": 0.391,
        "predicted_SO": 1.024
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1813,
        "predicted_3B": 0.0009,
        "predicted_AB": 5.7083,
        "predicted_AVG": 0.2266,
        "predicted_BB": 0.267,
        "predicted_H": 1.1474,
        "predicted_HBP": 0.063,
        "predicted_HR": 0.237,
        "predicted_OBP": 0.2617,
        "predicted_R": 0.4176,
        "predicted_RBI": 0.8959,
        "predicted_SLG": 0.3854,
        "predicted_SO": 1.7095
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.047,
          "after": 0.1813,
          "delta": 0.1343,
          "percent_delta": 2.8574,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.339,
          "after": 5.7083,
          "delta": 2.3693,
          "percent_delta": 0.7096,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.247,
          "after": 0.2266,
          "delta": -0.0204,
          "percent_delta": -0.0826,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.181,
          "after": 0.267,
          "delta": 0.086,
          "percent_delta": 0.4751,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.68,
          "after": 1.1474,
          "delta": 0.4674,
          "percent_delta": 0.6874,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.11,
          "after": 0.237,
          "delta": 0.127,
          "percent_delta": 1.1545,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.281,
          "after": 0.2617,
          "delta": -0.0193,
          "percent_delta": -0.0687,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.244,
          "after": 0.4176,
          "delta": 0.1736,
          "percent_delta": 0.7115,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.41,
          "after": 0.8959,
          "delta": 0.4859,
          "percent_delta": 1.1851,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.391,
          "after": 0.3854,
          "delta": -0.0056,
          "percent_delta": -0.0143,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.024,
          "after": 1.7095,
          "delta": 0.6855,
          "percent_delta": 0.6694,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 11,
        "boosted_metrics": 8,
        "deboosted_metrics": 3,
        "better_metrics": 7,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.339,
          "after": 5.7083,
          "delta": 2.3693,
          "percent_delta": 0.7096,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.247,
          "after": 0.2266,
          "delta": -0.0204,
          "percent_delta": -0.0826,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 3,
        "last_10": 5,
        "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.1813,
        "predicted_3B": 0.0009,
        "predicted_AB": 5.7083,
        "predicted_AVG": 0.1964,
        "predicted_BB": 0.2637,
        "predicted_H": 1.1214,
        "predicted_HBP": 0.063,
        "predicted_HR": 0.2322,
        "predicted_OBP": 0.2319,
        "predicted_R": 0.4001,
        "predicted_RBI": 0.8583,
        "predicted_SLG": 0.3505,
        "predicted_SO": 1.7309
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1813,
          "after": 0.1813,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.7083,
          "after": 5.7083,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2266,
          "after": 0.1964,
          "delta": -0.0302,
          "percent_delta": -0.1333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.267,
          "after": 0.2637,
          "delta": -0.0033,
          "percent_delta": -0.0124,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.1474,
          "after": 1.1214,
          "delta": -0.026,
          "percent_delta": -0.0227,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.063,
          "after": 0.063,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.237,
          "after": 0.2322,
          "delta": -0.0048,
          "percent_delta": -0.0203,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2617,
          "after": 0.2319,
          "delta": -0.0298,
          "percent_delta": -0.1139,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4176,
          "after": 0.4001,
          "delta": -0.0175,
          "percent_delta": -0.0419,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.8959,
          "after": 0.8583,
          "delta": -0.0376,
          "percent_delta": -0.042,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3854,
          "after": 0.3505,
          "delta": -0.0349,
          "percent_delta": -0.0906,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.7095,
          "after": 1.7309,
          "delta": 0.0214,
          "percent_delta": 0.0125,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.3854,
          "after": 0.3505,
          "delta": -0.0349,
          "percent_delta": -0.0906,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 6 (raw=5.71), rates preserved: AVG=0.196 HR/AB=0.041",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.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.1813,
          "after": 0.0,
          "delta": -0.1813,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.7083,
          "after": 6.0,
          "delta": 0.2917,
          "percent_delta": 0.0511,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2637,
          "after": 0.0,
          "delta": -0.2637,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.1214,
          "after": 1.0,
          "delta": -0.1214,
          "percent_delta": -0.1083,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.063,
          "after": 0.0,
          "delta": -0.063,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2322,
          "after": 0.0,
          "delta": -0.2322,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.8583,
          "after": 1.0,
          "delta": 0.1417,
          "percent_delta": 0.1651,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.7309,
          "after": 2.0,
          "delta": 0.2691,
          "percent_delta": 0.1555,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 3,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 5.7083,
          "after": 6.0,
          "delta": 0.2917,
          "percent_delta": 0.0511,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2637,
          "after": 0.0,
          "delta": -0.2637,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4001,
          "after": 0.0,
          "delta": -0.4001,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 0.4001,
          "after": 0.0,
          "delta": -0.4001,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_AVG": 0.167,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.167,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.167,
        "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": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1964,
          "after": 0.167,
          "delta": -0.0294,
          "percent_delta": -0.1497,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2319,
          "after": 0.167,
          "delta": -0.0649,
          "percent_delta": -0.2799,
          "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.3505,
          "after": 0.167,
          "delta": -0.1835,
          "percent_delta": -0.5235,
          "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.3505,
          "after": 0.167,
          "delta": -0.1835,
          "percent_delta": -0.5235,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 3.0,
          "delta": -3.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 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_AB",
          "before": 6.0,
          "after": 3.0,
          "delta": -3.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.1964,
        "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.2319,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3505,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.167,
          "after": 0.1964,
          "delta": 0.0294,
          "percent_delta": 0.1763,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.167,
          "after": 0.2319,
          "delta": 0.0649,
          "percent_delta": 0.3887,
          "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.167,
          "after": 0.3505,
          "delta": 0.1835,
          "percent_delta": 1.099,
          "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.167,
          "after": 0.3505,
          "delta": 0.1835,
          "percent_delta": 1.099,
          "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.047,
        "after": 0.0,
        "delta": -0.047,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.339,
        "after": 3.0,
        "delta": -0.339,
        "percent_delta": -0.1015,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.247,
        "after": 0.1964,
        "delta": -0.0506,
        "percent_delta": -0.2049,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.181,
        "after": 0.0,
        "delta": -0.181,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.68,
        "after": 0.0,
        "delta": -0.68,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.11,
        "after": 0.0,
        "delta": -0.11,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.281,
        "after": 0.2319,
        "delta": -0.0491,
        "percent_delta": -0.1747,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.244,
        "after": 0.0,
        "delta": -0.244,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.41,
        "after": 0.0,
        "delta": -0.41,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.391,
        "after": 0.3505,
        "delta": -0.0405,
        "percent_delta": -0.1036,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.024,
        "after": 1.0,
        "delta": -0.024,
        "percent_delta": -0.0234,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 0,
      "deboosted_metrics": 9,
      "better_metrics": 0,
      "worse_metrics": 9,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.68,
        "after": 0.0,
        "delta": -0.68,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

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.047-
predicted_3B0.000-
predicted_AB3.339-
predicted_AVG0.247-
predicted_BB0.181-
predicted_H0.680-
predicted_HR0.110-
predicted_OBP0.281-
predicted_R0.244-
predicted_RBI0.410-
predicted_SLG0.391-
predicted_SO1.024-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1810.134
predicted_3B0.0010.001
predicted_AB5.7082.369
predicted_AVG0.227-0.020
predicted_BB0.2670.086
predicted_H1.1470.467
predicted_HBP0.063-
predicted_HR0.2370.127
predicted_OBP0.262-0.019
predicted_R0.4180.174
predicted_RBI0.8960.486
predicted_SLG0.385-0.006
predicted_SO1.7100.685
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1810.000
predicted_3B0.0010.000
predicted_AB5.7080.000
predicted_AVG0.196-0.030
predicted_BB0.264-0.003
predicted_H1.121-0.026
predicted_HBP0.0630.000
predicted_HR0.232-0.005
predicted_OBP0.232-0.030
predicted_R0.400-0.018
predicted_RBI0.858-0.038
predicted_SLG0.350-0.035
predicted_SO1.7310.021
4. ab_floor_and_scaling

AB rounded to 6 (raw=5.71), rates preserved: AVG=0.196 HR/AB=0.041

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB6.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO2.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB6.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-
SO2.0000.000
6. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.181
predicted_3B0.000-0.001
predicted_AB6.0000.292
predicted_AVG0.167-0.029
predicted_BB0.000-0.264
predicted_H1.000-0.121
predicted_HR0.000-0.232
predicted_OBP0.167-0.065
predicted_R0.000-0.400
predicted_RBI1.0000.142
predicted_SLG0.167-0.183
predicted_SO2.0000.269
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 127
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.203-14.0003.0002.0000.0001.0006.0001.0000.0004.0000.21430.21430.57140.21430.07140.42860.00000.2857
last_100.205-25.0007.0002.0000.0001.0006.0001.0000.0007.0000.28000.28000.48000.28000.04000.24000.00000.2800
season0.6040-424.00077.0006.0000.00018.00050.00031.00023.000130.0000.18160.22810.32310.18160.04250.11790.05420.3066
Weighted Prediction From Real Data
MetricValue
predicted_2B0.3580
predicted_3B0.0020
predicted_AB8.8240
predicted_AVG0.1997
predicted_BB0.3800
predicted_H1.7620
predicted_HBP0.0630
predicted_HR0.4040
predicted_OBP0.2364
predicted_R0.6460
predicted_RBI1.5350
predicted_SLG0.3780
predicted_SO2.6110
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.04700.35800.1813model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB3.33908.82405.7083model_form_blend
predicted_AVG0.24700.19970.2266model_form_blend
predicted_BB0.18100.38000.2670model_form_blend
predicted_H0.68001.76201.1474model_form_blend
predicted_HBP-0.06300.0630form_only
predicted_HR0.11000.40400.2370model_form_blend
predicted_OBP0.28100.23640.2617model_form_blend
predicted_R0.24400.64600.4176model_form_blend
predicted_RBI0.41001.53500.8959model_form_blend
predicted_SLG0.39100.37800.3854model_form_blend
predicted_SO1.02402.61101.7095model_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 date131
Season rows before report date131
Report year2026
Profile rows used127
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA3
AB3
H0
2B0
3B0
HR0
R0
RBI0
BB0
SO1
SF0
HBP0
season_avg0.182

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E2
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_HR1
Hitting_IBB0
Hitting_R1
Hitting_RBI2
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB4
Hitting_battingOrder9
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedLF
gameID20260520_OAK@LAA
game_typefull
mlbID666139
playerID666139
playerNameJosh Lowe
posLF
startedTrue
startingPositionLF
teamLAA
teamID13
game_date2026-05-20
sl_k_percent28.6
sl_bb_percent4.8
sl_woba0.235
sl_xwoba0.247
sl_xba0.19
sl_xslg0.327
sl_sweet_spot_percent28.9
sl_barrel_batted_rate7.2
sl_hard_hit_percent32.5
sl_exit_velocity_avg88.0
sl_launch_angle_avg19.1
sl_whiff_percent28.2
sl_swing_percent54.7
Jo Adell (666176) · BATTER · RF · Team LAA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 205
All-history rows before 20260521: 205
System season_avg: 0.2580
Data season_avg (2026 season-to-date): 0.2584
Diff (system - data): -0.0004
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.1270.0000.000Hitting_2B0.1271.000-0.127-1.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.9274.0009.000Hitting_AB3.9274.0000.0730.000
predicted_AVG0.2310.0000.222Hitting_AVG0.2580.500-0.258-0.500
predicted_BB0.1510.0000.000Hitting_BB0.1510.000-0.1510.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.9100.0002.000Hitting_H1.0152.000-1.015-2.000
predicted_HR0.1500.0000.000Hitting_HR0.1321.000-0.132-1.000
predicted_OBP0.2950.0000.222Hitting_OBP0.3050.500-0.305-0.500
predicted_R0.3760.0001.000Hitting_R0.3761.000-0.376-1.000
predicted_RBI0.5500.0001.000Hitting_RBI0.6001.000-0.600-1.000
predicted_SLG0.4240.0000.222Hitting_SLG0.3911.500-0.391-1.500
predicted_SO0.9321.0002.000Hitting_SO0.9320.0000.0681.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics2
Deboosted Metrics9
Better Metrics1
Worse Metrics10
Biggest Boostpredicted_AB: 3.9270 -> 4.0000 (boost 0.0730, better)
Biggest Deboostpredicted_H: 0.9100 -> 0.0000 (deboost -0.9100, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend118374predicted_AB: 3.9270 -> 8.6611 (boost 4.7341, better)predicted_SLG: 0.4240 -> 0.3925 (deboost -0.0315, worse)Final model 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.3925 -> 0.3521 (deboost -0.0404, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling72525predicted_AB: 8.6611 -> 9.0000 (boost 0.3389, better)predicted_HBP: 0.3800 -> 0.0000 (deboost -0.3800, worse)AB rounded to 9 (raw=8.66), rates preserved: AVG=0.217 HR/AB=0.034
5consistency_constraints11010predicted_R: 0.7217 -> 1.0000 (boost 0.2783, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context20202-predicted_SLG: 0.3521 -> 0.2220 (deboost -0.1301, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference50514-predicted_AB: 9.0000 -> 4.0000 (deboost -5.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final22020predicted_SLG: 0.2220 -> 0.3521 (boost 0.1301, 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": "RF",
  "team": "LAA",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.127,
        "predicted_3B": 0.0,
        "predicted_AB": 3.927,
        "predicted_AVG": 0.231,
        "predicted_BB": 0.151,
        "predicted_H": 0.91,
        "predicted_HR": 0.15,
        "predicted_OBP": 0.295,
        "predicted_R": 0.376,
        "predicted_RBI": 0.55,
        "predicted_SLG": 0.424,
        "predicted_SO": 0.932
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2846,
        "predicted_3B": 0.0009,
        "predicted_AB": 8.6611,
        "predicted_AVG": 0.2257,
        "predicted_BB": 0.2914,
        "predicted_H": 1.9248,
        "predicted_HBP": 0.38,
        "predicted_HR": 0.3001,
        "predicted_OBP": 0.2781,
        "predicted_R": 0.7533,
        "predicted_RBI": 1.1333,
        "predicted_SLG": 0.3925,
        "predicted_SO": 1.9935
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.127,
          "after": 0.2846,
          "delta": 0.1576,
          "percent_delta": 1.2409,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.927,
          "after": 8.6611,
          "delta": 4.7341,
          "percent_delta": 1.2055,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.231,
          "after": 0.2257,
          "delta": -0.0053,
          "percent_delta": -0.0229,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.151,
          "after": 0.2914,
          "delta": 0.1404,
          "percent_delta": 0.9298,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.91,
          "after": 1.9248,
          "delta": 1.0148,
          "percent_delta": 1.1152,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.15,
          "after": 0.3001,
          "delta": 0.1501,
          "percent_delta": 1.0007,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.295,
          "after": 0.2781,
          "delta": -0.0169,
          "percent_delta": -0.0573,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.376,
          "after": 0.7533,
          "delta": 0.3773,
          "percent_delta": 1.0035,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.55,
          "after": 1.1333,
          "delta": 0.5833,
          "percent_delta": 1.0605,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.424,
          "after": 0.3925,
          "delta": -0.0315,
          "percent_delta": -0.0743,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.932,
          "after": 1.9935,
          "delta": 1.0615,
          "percent_delta": 1.1389,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 11,
        "boosted_metrics": 8,
        "deboosted_metrics": 3,
        "better_metrics": 7,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.927,
          "after": 8.6611,
          "delta": 4.7341,
          "percent_delta": 1.2055,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.424,
          "after": 0.3925,
          "delta": -0.0315,
          "percent_delta": -0.0743,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 2,
        "last_10": 4,
        "season": 50
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2846,
        "predicted_3B": 0.0009,
        "predicted_AB": 8.6611,
        "predicted_AVG": 0.2172,
        "predicted_BB": 0.2878,
        "predicted_H": 1.8811,
        "predicted_HBP": 0.38,
        "predicted_HR": 0.294,
        "predicted_OBP": 0.2424,
        "predicted_R": 0.7217,
        "predicted_RBI": 1.0857,
        "predicted_SLG": 0.3521,
        "predicted_SO": 2.0184
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2846,
          "after": 0.2846,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.6611,
          "after": 8.6611,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2257,
          "after": 0.2172,
          "delta": -0.0085,
          "percent_delta": -0.0377,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2914,
          "after": 0.2878,
          "delta": -0.0036,
          "percent_delta": -0.0124,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.9248,
          "after": 1.8811,
          "delta": -0.0437,
          "percent_delta": -0.0227,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.38,
          "after": 0.38,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.3001,
          "after": 0.294,
          "delta": -0.0061,
          "percent_delta": -0.0203,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2781,
          "after": 0.2424,
          "delta": -0.0357,
          "percent_delta": -0.1284,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.7533,
          "after": 0.7217,
          "delta": -0.0316,
          "percent_delta": -0.0419,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.1333,
          "after": 1.0857,
          "delta": -0.0476,
          "percent_delta": -0.042,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3925,
          "after": 0.3521,
          "delta": -0.0404,
          "percent_delta": -0.1029,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.9935,
          "after": 2.0184,
          "delta": 0.0249,
          "percent_delta": 0.0125,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.3925,
          "after": 0.3521,
          "delta": -0.0404,
          "percent_delta": -0.1029,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 9 (raw=8.66), rates preserved: AVG=0.217 HR/AB=0.034",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2846,
          "after": 0.0,
          "delta": -0.2846,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.6611,
          "after": 9.0,
          "delta": 0.3389,
          "percent_delta": 0.0391,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2878,
          "after": 0.0,
          "delta": -0.2878,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.8811,
          "after": 2.0,
          "delta": 0.1189,
          "percent_delta": 0.0632,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.38,
          "after": 0.0,
          "delta": -0.38,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.294,
          "after": 0.0,
          "delta": -0.294,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0857,
          "after": 1.0,
          "delta": -0.0857,
          "percent_delta": -0.0789,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0184,
          "after": 2.0,
          "delta": -0.0184,
          "percent_delta": -0.0091,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 2,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 8.6611,
          "after": 9.0,
          "delta": 0.3389,
          "percent_delta": 0.0391,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HBP",
          "before": 0.38,
          "after": 0.0,
          "delta": -0.38,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.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": 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": 9.0,
          "after": 9.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.7217,
          "after": 1.0,
          "delta": 0.2783,
          "percent_delta": 0.3856,
          "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.7217,
          "after": 1.0,
          "delta": 0.2783,
          "percent_delta": 0.3856,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_AVG": 0.222,
        "predicted_BB": 0.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.222,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.222,
        "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": 9.0,
          "after": 9.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2172,
          "after": 0.222,
          "delta": 0.0048,
          "percent_delta": 0.0221,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2424,
          "after": 0.222,
          "delta": -0.0204,
          "percent_delta": -0.0842,
          "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.3521,
          "after": 0.222,
          "delta": -0.1301,
          "percent_delta": -0.3695,
          "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.3521,
          "after": 0.222,
          "delta": -0.1301,
          "percent_delta": -0.3695,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 4.0,
          "delta": -5.0,
          "percent_delta": -0.5556,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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": 0.0,
          "delta": -2.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 4.0,
          "delta": -5.0,
          "percent_delta": -0.5556,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2172,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2424,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3521,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.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.2172,
          "delta": -0.0048,
          "percent_delta": -0.0217,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.222,
          "after": 0.2424,
          "delta": 0.0204,
          "percent_delta": 0.0917,
          "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.222,
          "after": 0.3521,
          "delta": 0.1301,
          "percent_delta": 0.586,
          "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.222,
          "after": 0.3521,
          "delta": 0.1301,
          "percent_delta": 0.586,
          "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.127,
        "after": 0.0,
        "delta": -0.127,
        "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.927,
        "after": 4.0,
        "delta": 0.073,
        "percent_delta": 0.0186,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.231,
        "after": 0.2172,
        "delta": -0.0138,
        "percent_delta": -0.0597,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.151,
        "after": 0.0,
        "delta": -0.151,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.91,
        "after": 0.0,
        "delta": -0.91,
        "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.295,
        "after": 0.2424,
        "delta": -0.0526,
        "percent_delta": -0.1783,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.376,
        "after": 0.0,
        "delta": -0.376,
        "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.424,
        "after": 0.3521,
        "delta": -0.0719,
        "percent_delta": -0.1696,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.932,
        "after": 1.0,
        "delta": 0.068,
        "percent_delta": 0.073,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 2,
      "deboosted_metrics": 9,
      "better_metrics": 1,
      "worse_metrics": 10,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.927,
        "after": 4.0,
        "delta": 0.073,
        "percent_delta": 0.0186,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.91,
        "after": 0.0,
        "delta": -0.91,
        "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.000-
predicted_AB3.927-
predicted_AVG0.231-
predicted_BB0.151-
predicted_H0.910-
predicted_HR0.150-
predicted_OBP0.295-
predicted_R0.376-
predicted_RBI0.550-
predicted_SLG0.424-
predicted_SO0.932-
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.2850.158
predicted_3B0.0010.001
predicted_AB8.6614.734
predicted_AVG0.226-0.005
predicted_BB0.2910.140
predicted_H1.9251.015
predicted_HBP0.380-
predicted_HR0.3000.150
predicted_OBP0.278-0.017
predicted_R0.7530.377
predicted_RBI1.1330.583
predicted_SLG0.393-0.031
predicted_SO1.9941.062
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.2850.000
predicted_3B0.0010.000
predicted_AB8.6610.000
predicted_AVG0.217-0.009
predicted_BB0.288-0.004
predicted_H1.881-0.044
predicted_HBP0.3800.000
predicted_HR0.294-0.006
predicted_OBP0.242-0.036
predicted_R0.722-0.032
predicted_RBI1.086-0.048
predicted_SLG0.352-0.040
predicted_SO2.0180.025
4. ab_floor_and_scaling

AB rounded to 9 (raw=8.66), rates preserved: AVG=0.217 HR/AB=0.034

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB9.000-
BB0.000-
H2.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO2.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB9.0000.000
BB0.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
6. 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.285
predicted_3B0.000-0.001
predicted_AB9.0000.339
predicted_AVG0.2220.005
predicted_BB0.000-0.288
predicted_H2.0000.119
predicted_HR0.000-0.294
predicted_OBP0.222-0.020
predicted_R1.0000.278
predicted_RBI1.000-0.086
predicted_SLG0.222-0.130
predicted_SO2.000-0.018
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.000-5.000
BB0.0000.000
CS0.0000.000
H0.000-2.000
HBP0.0000.000
HR0.0000.000
PA4.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: 205
Reference playing time: 3.927
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-24.0002.0001.0000.0001.0001.0001.0000.0004.0000.08330.08330.25000.08330.04170.04170.00000.1667
last_100.204-41.0002.0001.0000.0001.0001.0001.0000.0009.0000.04880.04880.14630.04880.02440.02440.00000.2195
season0.6050-805.000208.00026.0000.00027.000123.00077.00031.000191.0000.25840.30500.39130.25840.03350.15280.03850.2373
Weighted Prediction From Real Data
MetricValue
predicted_2B0.4850
predicted_3B0.0020
predicted_AB14.6800
predicted_AVG0.2190
predicted_BB0.4700
predicted_H3.2150
predicted_HBP0.3800
predicted_HR0.4910
predicted_OBP0.2567
predicted_R1.2330
predicted_RBI1.8750
predicted_SLG0.3525
predicted_SO3.3430
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.12700.48500.2846model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB3.927014.68008.6611model_form_blend
predicted_AVG0.23100.21900.2257model_form_blend
predicted_BB0.15100.47000.2914model_form_blend
predicted_H0.91003.21501.9248model_form_blend
predicted_HBP-0.38000.3800form_only
predicted_HR0.15000.49100.3001model_form_blend
predicted_OBP0.29500.25670.2781model_form_blend
predicted_R0.37601.23300.7533model_form_blend
predicted_RBI0.55001.87501.1333model_form_blend
predicted_SLG0.42400.35250.3925model_form_blend
predicted_SO0.93203.34301.9935model_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 date205
Season rows before report date205
Report year2026
Profile rows used205
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.258

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB4
Hitting_AVG0.5
Hitting_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R1
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB6
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
gameID20260520_OAK@LAA
game_typefull
mlbID666176
playerID666176
playerNameJo Adell
posRF
startedTrue
startingPositionRF
teamLAA
teamID13
game_date2026-05-20
sl_k_percent23.2
sl_bb_percent3.4
sl_woba0.301
sl_xwoba0.321
sl_xba0.263
sl_xslg0.423
sl_sweet_spot_percent31.5
sl_barrel_batted_rate7.0
sl_hard_hit_percent46.2
sl_exit_velocity_avg91.4
sl_launch_angle_avg19.0
sl_whiff_percent26.0
sl_swing_percent56.8
Jose Siri (642350) · BATTER · CF · Team LAA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 7
All-history rows before 20260521: 7
System season_avg: 0.4440
Data season_avg (2026 season-to-date): 0.4444
Diff (system - data): -0.0004
System opponent_avg: 0.4440

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.5560.0001.000Hitting_2B0.2860.000-0.2860.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.5002.0003.000Hitting_AB1.2860.0000.7142.000
predicted_AVG0.3210.0000.333Hitting_AVG0.444--0.444-
predicted_BB0.0001.0000.000Hitting_BB0.0000.0001.0001.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.4900.0001.000Hitting_H0.5710.000-0.5710.000
predicted_HR0.0600.0000.000Hitting_HR0.0000.0000.0000.000
predicted_OBP0.3210.3330.333Hitting_OBP0.444--0.111-
predicted_R0.5560.0001.000Hitting_R0.4290.000-0.4290.000
predicted_RBI0.2600.0000.000Hitting_RBI0.0000.0000.0000.000
predicted_SLG0.4180.0000.667Hitting_SLG0.667--0.667-
predicted_SO0.8330.0001.000Hitting_SO0.4290.000-0.4290.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.0000 -> 1.0000 (boost 1.0000, better)
Biggest Deboostpredicted_SO: 0.8330 -> 0.0000 (deboost -0.8330, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend75252predicted_AB: 2.5000 -> 2.7635 (boost 0.2635, better)predicted_2B: 0.5560 -> 0.5045 (deboost -0.0515, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot31212predicted_SLG: 0.4292 -> 0.4770 (boost 0.0478, better)predicted_AVG: 0.3152 -> 0.2205 (deboost -0.0947, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling64233predicted_2B: 0.5045 -> 1.0000 (boost 0.4955, better)predicted_RBI: 0.2732 -> 0.0000 (deboost -0.2732, worse)AB rounded to 3 (raw=2.76), rates preserved: AVG=0.220 HR/AB=0.024
5consistency_constraints11010predicted_R: 0.5313 -> 1.0000 (boost 0.4687, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context33030predicted_SLG: 0.4770 -> 0.6670 (boost 0.1900, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference61524predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final30303-predicted_SLG: 0.6670 -> 0.4770 (deboost -0.1900, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "642350",
  "player_name": "Jose Siri",
  "position": "CF",
  "team": "LAA",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.556,
        "predicted_3B": 0.0,
        "predicted_AB": 2.5,
        "predicted_AVG": 0.321,
        "predicted_BB": 0.0,
        "predicted_H": 0.49,
        "predicted_HR": 0.06,
        "predicted_OBP": 0.321,
        "predicted_R": 0.556,
        "predicted_RBI": 0.26,
        "predicted_SLG": 0.418,
        "predicted_SO": 0.833
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.5045,
        "predicted_3B": 0.0025,
        "predicted_AB": 2.7635,
        "predicted_AVG": 0.3152,
        "predicted_BB": 0.05,
        "predicted_H": 0.6234,
        "predicted_HBP": 0.025,
        "predicted_HR": 0.0679,
        "predicted_OBP": 0.3263,
        "predicted_R": 0.5546,
        "predicted_RBI": 0.2852,
        "predicted_SLG": 0.4292,
        "predicted_SO": 0.8492
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.556,
          "after": 0.5045,
          "delta": -0.0515,
          "percent_delta": -0.0926,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0025,
          "delta": 0.0025,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.5,
          "after": 2.7635,
          "delta": 0.2635,
          "percent_delta": 0.1054,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.321,
          "after": 0.3152,
          "delta": -0.0058,
          "percent_delta": -0.0181,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.05,
          "delta": 0.05,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.49,
          "after": 0.6234,
          "delta": 0.1334,
          "percent_delta": 0.2722,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.06,
          "after": 0.0679,
          "delta": 0.0079,
          "percent_delta": 0.1317,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.321,
          "after": 0.3263,
          "delta": 0.0053,
          "percent_delta": 0.0165,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.556,
          "after": 0.5546,
          "delta": -0.0014,
          "percent_delta": -0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.26,
          "after": 0.2852,
          "delta": 0.0252,
          "percent_delta": 0.0969,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.418,
          "after": 0.4292,
          "delta": 0.0112,
          "percent_delta": 0.0268,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.833,
          "after": 0.8492,
          "delta": 0.0162,
          "percent_delta": 0.0194,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 5,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.5,
          "after": 2.7635,
          "delta": 0.2635,
          "percent_delta": 0.1054,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.556,
          "after": 0.5045,
          "delta": -0.0515,
          "percent_delta": -0.0926,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 3,
        "last_10": 3,
        "season": 3
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.5045,
        "predicted_3B": 0.0025,
        "predicted_AB": 2.7635,
        "predicted_AVG": 0.2205,
        "predicted_BB": 0.0494,
        "predicted_H": 0.6092,
        "predicted_HBP": 0.025,
        "predicted_HR": 0.0665,
        "predicted_OBP": 0.2341,
        "predicted_R": 0.5313,
        "predicted_RBI": 0.2732,
        "predicted_SLG": 0.477,
        "predicted_SO": 0.8598
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.5045,
          "after": 0.5045,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0025,
          "after": 0.0025,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.7635,
          "after": 2.7635,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3152,
          "after": 0.2205,
          "delta": -0.0947,
          "percent_delta": -0.3004,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.05,
          "after": 0.0494,
          "delta": -0.0006,
          "percent_delta": -0.012,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.6234,
          "after": 0.6092,
          "delta": -0.0142,
          "percent_delta": -0.0228,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.025,
          "after": 0.025,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0679,
          "after": 0.0665,
          "delta": -0.0014,
          "percent_delta": -0.0206,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3263,
          "after": 0.2341,
          "delta": -0.0922,
          "percent_delta": -0.2826,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5546,
          "after": 0.5313,
          "delta": -0.0233,
          "percent_delta": -0.042,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2852,
          "after": 0.2732,
          "delta": -0.012,
          "percent_delta": -0.0421,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4292,
          "after": 0.477,
          "delta": 0.0478,
          "percent_delta": 0.1114,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8492,
          "after": 0.8598,
          "delta": 0.0106,
          "percent_delta": 0.0125,
          "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.4292,
          "after": 0.477,
          "delta": 0.0478,
          "percent_delta": 0.1114,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.3152,
          "after": 0.2205,
          "delta": -0.0947,
          "percent_delta": -0.3004,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.76), rates preserved: AVG=0.220 HR/AB=0.024",
      "stats": {
        "predicted_2B": 1.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.5045,
          "after": 1.0,
          "delta": 0.4955,
          "percent_delta": 0.9822,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0025,
          "after": 0.0,
          "delta": -0.0025,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.7635,
          "after": 3.0,
          "delta": 0.2365,
          "percent_delta": 0.0856,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0494,
          "after": 0.0,
          "delta": -0.0494,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.6092,
          "after": 1.0,
          "delta": 0.3908,
          "percent_delta": 0.6415,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.025,
          "after": 0.0,
          "delta": -0.025,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0665,
          "after": 0.0,
          "delta": -0.0665,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2732,
          "after": 0.0,
          "delta": -0.2732,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8598,
          "after": 1.0,
          "delta": 0.1402,
          "percent_delta": 0.1631,
          "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.5045,
          "after": 1.0,
          "delta": 0.4955,
          "percent_delta": 0.9822,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.2732,
          "after": 0.0,
          "delta": -0.2732,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "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_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5313,
          "after": 1.0,
          "delta": 0.4687,
          "percent_delta": 0.8822,
          "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.5313,
          "after": 1.0,
          "delta": 0.4687,
          "percent_delta": 0.8822,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.333,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.333,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.667,
        "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.2205,
          "after": 0.333,
          "delta": 0.1125,
          "percent_delta": 0.5102,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2341,
          "after": 0.333,
          "delta": 0.0989,
          "percent_delta": 0.4225,
          "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.477,
          "after": 0.667,
          "delta": 0.19,
          "percent_delta": 0.3983,
          "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.477,
          "after": 0.667,
          "delta": 0.19,
          "percent_delta": 0.3983,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 2.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 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": 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_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": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 2.0,
        "predicted_AVG": 0.2205,
        "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.2341,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.477,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.333,
          "after": 0.2205,
          "delta": -0.1125,
          "percent_delta": -0.3379,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.333,
          "after": 0.2341,
          "delta": -0.0989,
          "percent_delta": -0.2969,
          "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.667,
          "after": 0.477,
          "delta": -0.19,
          "percent_delta": -0.2848,
          "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.667,
          "after": 0.477,
          "delta": -0.19,
          "percent_delta": -0.2848,
          "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.556,
        "after": 0.0,
        "delta": -0.556,
        "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": 2.0,
        "delta": -0.5,
        "percent_delta": -0.2,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.321,
        "after": 0.2205,
        "delta": -0.1005,
        "percent_delta": -0.3131,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.49,
        "after": 0.0,
        "delta": -0.49,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.06,
        "after": 0.0,
        "delta": -0.06,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.321,
        "after": 0.2341,
        "delta": -0.0869,
        "percent_delta": -0.2707,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.556,
        "after": 0.0,
        "delta": -0.556,
        "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.418,
        "after": 0.477,
        "delta": 0.059,
        "percent_delta": 0.1411,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.833,
        "after": 0.0,
        "delta": -0.833,
        "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.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.833,
        "after": 0.0,
        "delta": -0.833,
        "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.556-
predicted_3B0.000-
predicted_AB2.500-
predicted_AVG0.321-
predicted_BB0.000-
predicted_H0.490-
predicted_HR0.060-
predicted_OBP0.321-
predicted_R0.556-
predicted_RBI0.260-
predicted_SLG0.418-
predicted_SO0.833-
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.504-0.052
predicted_3B0.0030.003
predicted_AB2.7640.264
predicted_AVG0.315-0.006
predicted_BB0.0500.050
predicted_H0.6230.133
predicted_HBP0.025-
predicted_HR0.0680.008
predicted_OBP0.3260.005
predicted_R0.555-0.001
predicted_RBI0.2850.025
predicted_SLG0.4290.011
predicted_SO0.8490.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.5040.000
predicted_3B0.0030.000
predicted_AB2.7640.000
predicted_AVG0.221-0.095
predicted_BB0.049-0.001
predicted_H0.609-0.014
predicted_HBP0.0250.000
predicted_HR0.067-0.001
predicted_OBP0.234-0.092
predicted_R0.531-0.023
predicted_RBI0.273-0.012
predicted_SLG0.4770.048
predicted_SO0.8600.011
4. ab_floor_and_scaling

AB rounded to 3 (raw=2.76), rates preserved: AVG=0.220 HR/AB=0.024

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

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

MetricValueDelta vs Prev Step
2B1.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
6. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B1.0000.496
predicted_3B0.000-0.003
predicted_AB3.0000.236
predicted_AVG0.3330.113
predicted_BB0.000-0.049
predicted_H1.0000.391
predicted_HR0.000-0.067
predicted_OBP0.3330.099
predicted_R1.0000.469
predicted_RBI0.000-0.273
predicted_SLG0.6670.190
predicted_SO1.0000.140
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.000-1.000
3B0.0000.000
AB2.000-1.000
BB1.0001.000
CS0.0000.000
H0.000-1.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: 5
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.203-9.0004.0002.0000.0000.0000.0002.0000.0003.0000.44440.44440.66670.44440.00000.00000.00000.3333
last_100.203-9.0004.0002.0000.0000.0000.0002.0000.0003.0000.44440.44440.66670.44440.00000.00000.00000.3333
season0.603-9.0004.0002.0000.0000.0000.0002.0000.0003.0000.44440.44440.66670.44440.00000.00000.00000.3333
Weighted Prediction From Real Data
MetricValue
predicted_2B0.3270
predicted_3B0.0110
predicted_AB3.6710
predicted_AVG0.2952
predicted_BB0.2220
predicted_H1.0830
predicted_HBP0.0250
predicted_HR0.0950
predicted_OBP0.3444
predicted_R0.5500
predicted_RBI0.3720
predicted_SLG0.4676
predicted_SO0.9050
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.55600.32700.5045model_form_blend
predicted_3B0.00000.01100.0025model_form_blend
predicted_AB2.50003.67102.7635model_form_blend
predicted_AVG0.32100.29520.3152model_form_blend
predicted_BB0.00000.22200.0500model_form_blend
predicted_H0.49001.08300.6234model_form_blend
predicted_HBP-0.02500.0250form_only
predicted_HR0.06000.09500.0679model_form_blend
predicted_OBP0.32100.34440.3263model_form_blend
predicted_R0.55600.55000.5546model_form_blend
predicted_RBI0.26000.37200.2852model_form_blend
predicted_SLG0.41800.46760.4292model_form_blend
predicted_SO0.83300.90500.8492model_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 date7
Season rows before report date7
Report year2026
Profile rows used5
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.444

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_battingOrder5
Hitting_substitutionOrder1
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedPR
gameID20260520_OAK@LAA
game_typeph
mlbID642350
noteRan for Grissom in the 9th.
playerID642350
playerNameJose Siri
posLF
startedFalse
startingPositionPR
teamLAA
teamID13
game_date2026-05-20
sl_k_percent40.0
sl_bb_percent0.0
sl_woba0.436
sl_xwoba0.289
sl_xba0.27
sl_xslg0.41
sl_sweet_spot_percent66.7
sl_barrel_batted_rate0.0
sl_hard_hit_percent66.7
sl_exit_velocity_avg98.0
sl_launch_angle_avg21.2
sl_whiff_percent45.5
sl_swing_percent57.9
Sebastián Rivero (665861) · BATTER · C · Team LAA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 32
All-history rows before 20260521: 32
System season_avg: 0.1600
Data season_avg (2026 season-to-date): 0.1600
Diff (system - data): 0.0000
System opponent_avg: 0.1600

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.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.6793.0004.000Hitting_AB2.3441.0000.6562.000
predicted_AVG0.2510.6670.250Hitting_AVG0.1600.0000.5070.667
predicted_BB0.1070.0000.000Hitting_BB0.0940.000-0.0940.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.1502.0001.000Hitting_H0.3750.0001.6252.000
predicted_HR0.0300.0000.000Hitting_HR0.0000.0000.0000.000
predicted_OBP0.2510.6670.250Hitting_OBP0.1920.0000.4740.667
predicted_R0.0001.0000.000Hitting_R0.0000.0001.0001.000
predicted_RBI0.1000.0000.000Hitting_RBI0.0000.0000.0000.000
predicted_SLG0.2980.6670.250Hitting_SLG0.1600.0000.5070.667
predicted_SO0.3570.0001.000Hitting_SO0.3121.000-0.312-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: 0.1500 -> 2.0000 (boost 1.8500, better)
Biggest Deboostpredicted_SO: 0.3570 -> 0.0000 (deboost -0.3570, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend74334predicted_AB: 2.6790 -> 3.6706 (boost 0.9916, better)predicted_SLG: 0.2980 -> 0.2755 (deboost -0.0225, worse)Final model 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.2755 -> 0.1655 (deboost -0.1100, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling53223predicted_H: 0.4663 -> 1.0000 (boost 0.5337, better)predicted_BB: 0.1516 -> 0.0000 (deboost -0.1516, worse)AB rounded to 4 (raw=3.67), rates preserved: AVG=0.127 HR/AB=0.010
5consistency_constraints10101-predicted_R: 0.0674 -> 0.0000 (deboost -0.0674, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context33030predicted_AVG: 0.1270 -> 0.2500 (boost 0.1230, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference42231predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better)predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final30303-predicted_AVG: 0.2500 -> 0.1270 (deboost -0.1230, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "665861",
  "player_name": "Sebastián Rivero",
  "position": "C",
  "team": "LAA",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 2.679,
        "predicted_AVG": 0.251,
        "predicted_BB": 0.107,
        "predicted_H": 0.15,
        "predicted_HR": 0.03,
        "predicted_OBP": 0.251,
        "predicted_R": 0.0,
        "predicted_RBI": 0.1,
        "predicted_SLG": 0.298,
        "predicted_SO": 0.357
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0269,
        "predicted_3B": 0.0022,
        "predicted_AB": 3.6706,
        "predicted_AVG": 0.2297,
        "predicted_BB": 0.1535,
        "predicted_H": 0.4771,
        "predicted_HBP": 0.013,
        "predicted_HR": 0.0374,
        "predicted_OBP": 0.2427,
        "predicted_R": 0.0704,
        "predicted_RBI": 0.1358,
        "predicted_SLG": 0.2755,
        "predicted_SO": 0.6903
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0269,
          "delta": 0.0269,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0022,
          "delta": 0.0022,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.679,
          "after": 3.6706,
          "delta": 0.9916,
          "percent_delta": 0.3701,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.251,
          "after": 0.2297,
          "delta": -0.0213,
          "percent_delta": -0.0849,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.107,
          "after": 0.1535,
          "delta": 0.0465,
          "percent_delta": 0.4346,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.15,
          "after": 0.4771,
          "delta": 0.3271,
          "percent_delta": 2.1807,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.03,
          "after": 0.0374,
          "delta": 0.0074,
          "percent_delta": 0.2467,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.251,
          "after": 0.2427,
          "delta": -0.0083,
          "percent_delta": -0.0331,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0704,
          "delta": 0.0704,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1,
          "after": 0.1358,
          "delta": 0.0358,
          "percent_delta": 0.358,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.298,
          "after": 0.2755,
          "delta": -0.0225,
          "percent_delta": -0.0755,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.357,
          "after": 0.6903,
          "delta": 0.3333,
          "percent_delta": 0.9336,
          "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.679,
          "after": 3.6706,
          "delta": 0.9916,
          "percent_delta": 0.3701,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.298,
          "after": 0.2755,
          "delta": -0.0225,
          "percent_delta": -0.0755,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 3,
        "last_10": 5,
        "season": 11
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0269,
        "predicted_3B": 0.0022,
        "predicted_AB": 3.6706,
        "predicted_AVG": 0.127,
        "predicted_BB": 0.1516,
        "predicted_H": 0.4663,
        "predicted_HBP": 0.013,
        "predicted_HR": 0.0366,
        "predicted_OBP": 0.1616,
        "predicted_R": 0.0674,
        "predicted_RBI": 0.1301,
        "predicted_SLG": 0.1655,
        "predicted_SO": 0.6989
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0269,
          "after": 0.0269,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0022,
          "after": 0.0022,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6706,
          "after": 3.6706,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2297,
          "after": 0.127,
          "delta": -0.1027,
          "percent_delta": -0.4471,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1535,
          "after": 0.1516,
          "delta": -0.0019,
          "percent_delta": -0.0124,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.4771,
          "after": 0.4663,
          "delta": -0.0108,
          "percent_delta": -0.0226,
          "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.0374,
          "after": 0.0366,
          "delta": -0.0008,
          "percent_delta": -0.0214,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2427,
          "after": 0.1616,
          "delta": -0.0811,
          "percent_delta": -0.3342,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0704,
          "after": 0.0674,
          "delta": -0.003,
          "percent_delta": -0.0426,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1358,
          "after": 0.1301,
          "delta": -0.0057,
          "percent_delta": -0.042,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2755,
          "after": 0.1655,
          "delta": -0.11,
          "percent_delta": -0.3993,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6903,
          "after": 0.6989,
          "delta": 0.0086,
          "percent_delta": 0.0125,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.2755,
          "after": 0.1655,
          "delta": -0.11,
          "percent_delta": -0.3993,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.67), rates preserved: AVG=0.127 HR/AB=0.010",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0269,
          "after": 0.0,
          "delta": -0.0269,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0022,
          "after": 0.0,
          "delta": -0.0022,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6706,
          "after": 4.0,
          "delta": 0.3294,
          "percent_delta": 0.0897,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1516,
          "after": 0.0,
          "delta": -0.1516,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.4663,
          "after": 1.0,
          "delta": 0.5337,
          "percent_delta": 1.1445,
          "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.0366,
          "after": 0.0,
          "delta": -0.0366,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1301,
          "after": 0.0,
          "delta": -0.1301,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6989,
          "after": 1.0,
          "delta": 0.3011,
          "percent_delta": 0.4308,
          "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_H",
          "before": 0.4663,
          "after": 1.0,
          "delta": 0.5337,
          "percent_delta": 1.1445,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.1516,
          "after": 0.0,
          "delta": -0.1516,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0674,
          "after": 0.0,
          "delta": -0.0674,
          "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.0674,
          "after": 0.0,
          "delta": -0.0674,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.25,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.25,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.127,
          "after": 0.25,
          "delta": 0.123,
          "percent_delta": 0.9685,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.1616,
          "after": 0.25,
          "delta": 0.0884,
          "percent_delta": 0.547,
          "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.1655,
          "after": 0.25,
          "delta": 0.0845,
          "percent_delta": 0.5106,
          "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.127,
          "after": 0.25,
          "delta": 0.123,
          "percent_delta": 0.9685,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 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": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.127,
        "predicted_BB": 0.0,
        "predicted_C": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.1616,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.1655,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.127,
          "delta": -0.123,
          "percent_delta": -0.4919,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.25,
          "after": 0.1616,
          "delta": -0.0884,
          "percent_delta": -0.3534,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.1655,
          "delta": -0.0845,
          "percent_delta": -0.338,
          "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.25,
          "after": 0.127,
          "delta": -0.123,
          "percent_delta": -0.4919,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.679,
        "after": 3.0,
        "delta": 0.321,
        "percent_delta": 0.1198,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.251,
        "after": 0.127,
        "delta": -0.124,
        "percent_delta": -0.494,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.107,
        "after": 0.0,
        "delta": -0.107,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.15,
        "after": 2.0,
        "delta": 1.85,
        "percent_delta": 12.3333,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.03,
        "after": 0.0,
        "delta": -0.03,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_OBP",
        "before": 0.251,
        "after": 0.1616,
        "delta": -0.0894,
        "percent_delta": -0.3562,
        "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.1,
        "after": 0.0,
        "delta": -0.1,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.298,
        "after": 0.1655,
        "delta": -0.1325,
        "percent_delta": -0.4446,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.357,
        "after": 0.0,
        "delta": -0.357,
        "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": 0.15,
        "after": 2.0,
        "delta": 1.85,
        "percent_delta": 12.3333,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.357,
        "after": 0.0,
        "delta": -0.357,
        "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.000-
predicted_3B0.000-
predicted_AB2.679-
predicted_AVG0.251-
predicted_BB0.107-
predicted_H0.150-
predicted_HR0.030-
predicted_OBP0.251-
predicted_R0.000-
predicted_RBI0.100-
predicted_SLG0.298-
predicted_SO0.357-
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.0270.027
predicted_3B0.0020.002
predicted_AB3.6710.992
predicted_AVG0.230-0.021
predicted_BB0.1530.046
predicted_H0.4770.327
predicted_HBP0.013-
predicted_HR0.0370.007
predicted_OBP0.243-0.008
predicted_R0.0700.070
predicted_RBI0.1360.036
predicted_SLG0.276-0.022
predicted_SO0.6900.333
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.0270.000
predicted_3B0.0020.000
predicted_AB3.6710.000
predicted_AVG0.127-0.103
predicted_BB0.152-0.002
predicted_H0.466-0.011
predicted_HBP0.0130.000
predicted_HR0.037-0.001
predicted_OBP0.162-0.081
predicted_R0.067-0.003
predicted_RBI0.130-0.006
predicted_SLG0.166-0.110
predicted_SO0.6990.009
4. ab_floor_and_scaling

AB rounded to 4 (raw=3.67), rates preserved: AVG=0.127 HR/AB=0.010

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
5. 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
6. 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.027
predicted_3B0.000-0.002
predicted_AB4.0000.329
predicted_AVG0.2500.123
predicted_BB0.000-0.152
predicted_H1.0000.534
predicted_HR0.000-0.037
predicted_OBP0.2500.088
predicted_R0.000-0.067
predicted_RBI0.000-0.130
predicted_SLG0.2500.084
predicted_SO1.0000.301
7. 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.0000.000
CS0.0000.000
H2.0001.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: 28
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.203-7.0002.0000.0000.0000.0000.0000.0000.0005.0000.28570.28570.28570.28570.00000.00000.00000.7143
last_100.205-24.0002.0000.0000.0000.0000.0000.0000.0008.0000.08330.08330.08330.08330.00000.00000.00000.3333
season0.6011-75.00012.0000.0000.0000.0000.0000.0003.00010.0000.16000.19230.16000.16000.00000.00000.04000.1333
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0730
predicted_3B0.0060
predicted_AB5.3680
predicted_AVG0.1932
predicted_BB0.2330
predicted_H1.0370
predicted_HBP0.0130
predicted_HR0.0500
predicted_OBP0.2285
predicted_R0.1910
predicted_RBI0.1970
predicted_SLG0.2369
predicted_SO1.2610
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.00000.07300.0269model_form_blend
predicted_3B0.00000.00600.0022model_form_blend
predicted_AB2.67905.36803.6706model_form_blend
predicted_AVG0.25100.19320.2297model_form_blend
predicted_BB0.10700.23300.1535model_form_blend
predicted_H0.15001.03700.4771model_form_blend
predicted_HBP-0.01300.0130form_only
predicted_HR0.03000.05000.0374model_form_blend
predicted_OBP0.25100.22850.2427model_form_blend
predicted_R0.00000.19100.0704model_form_blend
predicted_RBI0.10000.19700.1358model_form_blend
predicted_SLG0.29800.23690.2755model_form_blend
predicted_SO0.35701.26100.6903model_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 date32
Season rows before report date32
Report year2026
Profile rows used28
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
H2
2B0
3B0
HR0
R1
RBI0
BB0
SO0
SF0
HBP0
season_avg0.16

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB1
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder8
Hitting_substitutionOrder1
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedC
gameID20260515_LAD@LAA
game_typeshort
mlbID665861
playerID665861
playerNameSebastián Rivero
posC
startedFalse
startingPositionC
teamLAA
teamID13
game_date2026-05-15
game_pk824037.0
sl_k_percent17.9
sl_bb_percent3.6
sl_woba0.159
sl_xwoba0.215
sl_xba0.209
sl_xslg0.24
sl_sweet_spot_percent9.1
sl_barrel_batted_rate0.0
sl_hard_hit_percent9.1
sl_exit_velocity_avg83.8
sl_launch_angle_avg18.6
sl_whiff_percent28.0
sl_swing_percent63.0
at_bat_number56.0
ab_pitcher681911.0
ab_pitcher_nameVesia, Alex
ab_home_teamLAA
ab_away_teamLAD
ab_game_typeR
ab_standR
ab_p_throwsL
ab_inning7.0
ab_inning_topbotBot
ab_outs_when_up2.0
ab_on_1b_start687263.0
ab_balls_start0.0
ab_strikes_start0.0
ab_home_score_start0.0
ab_away_score_start6.0
ab_bat_score_start0.0
ab_fld_score_start6.0
ab_eventstrikeout
ab_event_descriptionSebastián Rivero strikes out swinging, catcher Will Smith to first baseman Dalton Rushing.
ab_event_typeS
ab_hit_location2.0
ab_pitch_type_lastSL
ab_pitch_name_lastSlider
ab_zone_last13.0
ab_launch_speed_last82.6
ab_launch_angle_last48.0
ab_hit_distance_last234.0
ab_estimated_woba_last0.0
ab_woba_value0.0
ab_woba_denom1.0
ab_babip_value0.0
ab_iso_value0.0
ab_balls_end2.0
ab_strikes_end2.0
ab_home_score_end0.0
ab_away_score_end6.0
ab_bat_score_end0.0
ab_fld_score_end6.0
ab_pitch_count6.0
ab_release_speed_avg85.73333333333333
ab_release_spin_rate_avg2225.6666666666665
ab_effective_speed_avg85.66666666666667
ab_launch_speed_avg60.95
ab_launch_angle_avg7.5
ab_delta_run_exp_avg-0.0451666666666666
ab_delta_home_win_exp_avg-0.0008333333333333
ab_delta_pitcher_run_exp_avg0.0451666666666666
ab_bat_speed_avg68.65
ab_swing_length_avg7.775
ab_launch_speed_max82.6
ab_hit_distance_sc_max234.0
ab_release_speed_max92.2
ab_release_spin_rate_max2562.0
ab_release_speed_min81.4
ab_release_spin_rate_min1916.0
ab_delta_run_exp_sum-0.271
ab_delta_home_win_exp_sum-0.005
ab_delta_pitcher_run_exp_sum0.271
ab_result_is_hitFalse
ab_result_is_walkFalse
ab_result_is_strikeoutTrue
ab_result_is_hbpFalse
Adam Frazier (624428) · BATTER · 2B · Team LAA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 82
All-history rows before 20260521: 82
System season_avg: 0.2860
Data season_avg (2026 season-to-date): 0.2857
Diff (system - data): 0.0003
System opponent_avg: 0.4720

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2500.0000.000Hitting_2B0.2320.000-0.2320.000
predicted_3B0.0530.0000.000Hitting_3B0.0490.000-0.0490.000
predicted_AB2.8553.0005.000Hitting_AB2.6460.0000.3543.000
predicted_AVG0.2820.3330.200Hitting_AVG0.286-0.048-
predicted_BB0.3290.0000.000Hitting_BB0.3050.000-0.3050.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.4901.0001.000Hitting_H0.7560.0000.2441.000
predicted_HR0.0500.0000.000Hitting_HR0.0370.000-0.0370.000
predicted_OBP0.2850.3330.200Hitting_OBP0.365--0.031-
predicted_R0.6580.0001.000Hitting_R0.6220.000-0.6220.000
predicted_RBI0.2400.0000.000Hitting_RBI0.2800.000-0.2800.000
predicted_SB-0.0000.000BaseRunning_SB0.0000.0000.0000.000
predicted_SLG0.3640.3330.200Hitting_SLG0.452--0.118-
predicted_SO0.8681.0002.000Hitting_SO0.8050.0000.1951.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics12
Boosted Metrics5
Deboosted Metrics7
Better Metrics4
Worse Metrics8
Biggest Boostpredicted_H: 0.4900 -> 1.0000 (boost 0.5100, better)
Biggest Deboostpredicted_R: 0.6580 -> 0.0000 (deboost -0.6580, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend109182predicted_AB: 2.8550 -> 4.5123 (boost 1.6573, better)predicted_AVG: 0.2820 -> 0.2732 (deboost -0.0088, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot30303-predicted_AVG: 0.2732 -> 0.2229 (deboost -0.0503, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling72516predicted_SO: 1.3592 -> 2.0000 (boost 0.6408, worse)predicted_BB: 0.4298 -> 0.0000 (deboost -0.4298, worse)AB rounded to 5 (raw=4.51), rates preserved: AVG=0.223 HR/AB=0.014
5consistency_constraints11010predicted_R: 0.8254 -> 1.0000 (boost 0.1746, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context30303-predicted_SLG: 0.3718 -> 0.2000 (deboost -0.1718, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference30312-predicted_AB: 5.0000 -> 3.0000 (deboost -2.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final33030predicted_SLG: 0.2000 -> 0.3718 (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": "624428",
  "player_name": "Adam Frazier",
  "position": "2B",
  "team": "LAA",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.25,
        "predicted_3B": 0.053,
        "predicted_AB": 2.855,
        "predicted_AVG": 0.282,
        "predicted_BB": 0.329,
        "predicted_H": 0.49,
        "predicted_HR": 0.05,
        "predicted_OBP": 0.285,
        "predicted_R": 0.658,
        "predicted_RBI": 0.24,
        "predicted_SLG": 0.364,
        "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.3436,
        "predicted_3B": 0.0672,
        "predicted_AB": 4.5123,
        "predicted_AVG": 0.2732,
        "predicted_BB": 0.4352,
        "predicted_H": 1.0292,
        "predicted_HBP": 0.049,
        "predicted_HR": 0.0659,
        "predicted_OBP": 0.3,
        "predicted_R": 0.8616,
        "predicted_RBI": 0.3984,
        "predicted_SLG": 0.3768,
        "predicted_SO": 1.3424
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.25,
          "after": 0.3436,
          "delta": 0.0936,
          "percent_delta": 0.3744,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.053,
          "after": 0.0672,
          "delta": 0.0142,
          "percent_delta": 0.2679,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.855,
          "after": 4.5123,
          "delta": 1.6573,
          "percent_delta": 0.5805,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.282,
          "after": 0.2732,
          "delta": -0.0088,
          "percent_delta": -0.0312,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.329,
          "after": 0.4352,
          "delta": 0.1062,
          "percent_delta": 0.3228,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.49,
          "after": 1.0292,
          "delta": 0.5392,
          "percent_delta": 1.1004,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.05,
          "after": 0.0659,
          "delta": 0.0159,
          "percent_delta": 0.318,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.285,
          "after": 0.3,
          "delta": 0.015,
          "percent_delta": 0.0526,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.658,
          "after": 0.8616,
          "delta": 0.2036,
          "percent_delta": 0.3094,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.24,
          "after": 0.3984,
          "delta": 0.1584,
          "percent_delta": 0.66,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.364,
          "after": 0.3768,
          "delta": 0.0128,
          "percent_delta": 0.0352,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.868,
          "after": 1.3424,
          "delta": 0.4744,
          "percent_delta": 0.5465,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 10,
        "boosted_metrics": 9,
        "deboosted_metrics": 1,
        "better_metrics": 8,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.855,
          "after": 4.5123,
          "delta": 1.6573,
          "percent_delta": 0.5805,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.282,
          "after": 0.2732,
          "delta": -0.0088,
          "percent_delta": -0.0312,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 2,
        "last_10": 5,
        "season": 28
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.3436,
        "predicted_3B": 0.0672,
        "predicted_AB": 4.5123,
        "predicted_AVG": 0.2229,
        "predicted_BB": 0.4298,
        "predicted_H": 1.0058,
        "predicted_HBP": 0.049,
        "predicted_HR": 0.0646,
        "predicted_OBP": 0.2905,
        "predicted_R": 0.8254,
        "predicted_RBI": 0.3817,
        "predicted_SLG": 0.3718,
        "predicted_SO": 1.3592
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.3436,
          "after": 0.3436,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0672,
          "after": 0.0672,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.5123,
          "after": 4.5123,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2732,
          "after": 0.2229,
          "delta": -0.0503,
          "percent_delta": -0.1841,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4352,
          "after": 0.4298,
          "delta": -0.0054,
          "percent_delta": -0.0124,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0292,
          "after": 1.0058,
          "delta": -0.0234,
          "percent_delta": -0.0227,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.049,
          "after": 0.049,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0659,
          "after": 0.0646,
          "delta": -0.0013,
          "percent_delta": -0.0197,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3,
          "after": 0.2905,
          "delta": -0.0095,
          "percent_delta": -0.0317,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.8616,
          "after": 0.8254,
          "delta": -0.0362,
          "percent_delta": -0.042,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3984,
          "after": 0.3817,
          "delta": -0.0167,
          "percent_delta": -0.0419,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3768,
          "after": 0.3718,
          "delta": -0.005,
          "percent_delta": -0.0133,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.3424,
          "after": 1.3592,
          "delta": 0.0168,
          "percent_delta": 0.0125,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.2732,
          "after": 0.2229,
          "delta": -0.0503,
          "percent_delta": -0.1841,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 5 (raw=4.51), rates preserved: AVG=0.223 HR/AB=0.014",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.3436,
          "after": 0.0,
          "delta": -0.3436,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0672,
          "after": 0.0,
          "delta": -0.0672,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 4.5123,
          "after": 5.0,
          "delta": 0.4877,
          "percent_delta": 0.1081,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4298,
          "after": 0.0,
          "delta": -0.4298,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0058,
          "after": 1.0,
          "delta": -0.0058,
          "percent_delta": -0.0058,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.049,
          "after": 0.0,
          "delta": -0.049,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0646,
          "after": 0.0,
          "delta": -0.0646,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3817,
          "after": 0.0,
          "delta": -0.3817,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.3592,
          "after": 2.0,
          "delta": 0.6408,
          "percent_delta": 0.4715,
          "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": 1.3592,
          "after": 2.0,
          "delta": 0.6408,
          "percent_delta": 0.4715,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4298,
          "after": 0.0,
          "delta": -0.4298,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.8254,
          "after": 1.0,
          "delta": 0.1746,
          "percent_delta": 0.2115,
          "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": 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.8254,
          "after": 1.0,
          "delta": 0.1746,
          "percent_delta": 0.2115,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.2,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.2,
        "predicted_SO": 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.2229,
          "after": 0.2,
          "delta": -0.0229,
          "percent_delta": -0.1027,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2905,
          "after": 0.2,
          "delta": -0.0905,
          "percent_delta": -0.3115,
          "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.3718,
          "after": 0.2,
          "delta": -0.1718,
          "percent_delta": -0.4621,
          "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.3718,
          "after": 0.2,
          "delta": -0.1718,
          "percent_delta": -0.4621,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 3.0,
          "delta": -2.0,
          "percent_delta": -0.4,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "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": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 3.0,
          "delta": -2.0,
          "percent_delta": -0.4,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2229,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2905,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3718,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2,
          "after": 0.2229,
          "delta": 0.0229,
          "percent_delta": 0.1146,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2,
          "after": 0.2905,
          "delta": 0.0905,
          "percent_delta": 0.4524,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2,
          "after": 0.3718,
          "delta": 0.1718,
          "percent_delta": 0.8588,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.2,
          "after": 0.3718,
          "delta": 0.1718,
          "percent_delta": 0.8588,
          "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.25,
        "after": 0.0,
        "delta": -0.25,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.053,
        "after": 0.0,
        "delta": -0.053,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 2.855,
        "after": 3.0,
        "delta": 0.145,
        "percent_delta": 0.0508,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.282,
        "after": 0.2229,
        "delta": -0.0591,
        "percent_delta": -0.2096,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.329,
        "after": 0.0,
        "delta": -0.329,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.49,
        "after": 1.0,
        "delta": 0.51,
        "percent_delta": 1.0408,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.05,
        "after": 0.0,
        "delta": -0.05,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.285,
        "after": 0.2905,
        "delta": 0.0055,
        "percent_delta": 0.0193,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.658,
        "after": 0.0,
        "delta": -0.658,
        "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.364,
        "after": 0.3718,
        "delta": 0.0078,
        "percent_delta": 0.0214,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.868,
        "after": 1.0,
        "delta": 0.132,
        "percent_delta": 0.1521,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 12,
      "boosted_metrics": 5,
      "deboosted_metrics": 7,
      "better_metrics": 4,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.49,
        "after": 1.0,
        "delta": 0.51,
        "percent_delta": 1.0408,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.658,
        "after": 0.0,
        "delta": -0.658,
        "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.250-
predicted_3B0.053-
predicted_AB2.855-
predicted_AVG0.282-
predicted_BB0.329-
predicted_H0.490-
predicted_HR0.050-
predicted_OBP0.285-
predicted_R0.658-
predicted_RBI0.240-
predicted_SLG0.364-
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.3440.094
predicted_3B0.0670.014
predicted_AB4.5121.657
predicted_AVG0.273-0.009
predicted_BB0.4350.106
predicted_H1.0290.539
predicted_HBP0.049-
predicted_HR0.0660.016
predicted_OBP0.3000.015
predicted_R0.8620.204
predicted_RBI0.3980.158
predicted_SLG0.3770.013
predicted_SO1.3420.474
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.3440.000
predicted_3B0.0670.000
predicted_AB4.5120.000
predicted_AVG0.223-0.050
predicted_BB0.430-0.005
predicted_H1.006-0.023
predicted_HBP0.0490.000
predicted_HR0.065-0.001
predicted_OBP0.290-0.010
predicted_R0.825-0.036
predicted_RBI0.382-0.017
predicted_SLG0.372-0.005
predicted_SO1.3590.017
4. ab_floor_and_scaling

AB rounded to 5 (raw=4.51), rates preserved: AVG=0.223 HR/AB=0.014

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.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-
SO2.0000.000
6. 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.344
predicted_3B0.000-0.067
predicted_AB5.0000.488
predicted_AVG0.200-0.023
predicted_BB0.000-0.430
predicted_H1.000-0.006
predicted_HR0.000-0.065
predicted_OBP0.200-0.090
predicted_R1.0000.175
predicted_RBI0.000-0.382
predicted_SLG0.200-0.172
predicted_SO2.0000.641
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-2.000
BB0.0000.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA3.000-
R0.000-1.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: 76
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-13.0003.0000.0000.0000.0000.0000.0000.0004.0000.23080.23080.23080.23080.00000.00000.00000.3077
last_100.205-24.0004.0001.0000.0000.0001.0000.0000.0007.0000.16670.16670.20830.16670.00000.04170.00000.2917
season0.6028-217.00062.00019.0004.0003.00023.00050.00025.00066.0000.28570.36480.45160.28570.01380.10600.11520.3041
Weighted Prediction From Real Data
MetricValue
predicted_2B0.4740
predicted_3B0.0870
predicted_AB6.8200
predicted_AVG0.2610
predicted_BB0.5830
predicted_H1.7800
predicted_HBP0.0490
predicted_HR0.0880
predicted_OBP0.3209
predicted_R1.1450
predicted_RBI0.6190
predicted_SLG0.3946
predicted_SO2.0030
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.25000.47400.3436model_form_blend
predicted_3B0.05300.08700.0672model_form_blend
predicted_AB2.85506.82004.5123model_form_blend
predicted_AVG0.28200.26100.2732model_form_blend
predicted_BB0.32900.58300.4352model_form_blend
predicted_H0.49001.78001.0292model_form_blend
predicted_HBP-0.04900.0490form_only
predicted_HR0.05000.08800.0659model_form_blend
predicted_OBP0.28500.32090.3000model_form_blend
predicted_R0.65801.14500.8616model_form_blend
predicted_RBI0.24000.61900.3984model_form_blend
predicted_SLG0.36400.39460.3768model_form_blend
predicted_SO0.86802.00301.3424model_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 date82
Season rows before report date82
Report year2026
Profile rows used76
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA3
AB3
H1
2B0
3B0
HR0
R0
RBI0
BB0
SO1
SF0
HBP0
season_avg0.286

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_battingOrder5
Hitting_substitutionOrder2
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed2B
gameID20260520_OAK@LAA
game_typeshort
mlbID624428
playerID624428
playerNameAdam Frazier
pos2B
startedFalse
startingPosition2B
teamLAA
teamID13
game_date2026-05-20
sl_k_percent28.9
sl_bb_percent7.9
sl_woba0.313
sl_xwoba0.242
sl_xba0.189
sl_xslg0.257
sl_sweet_spot_percent31.9
sl_barrel_batted_rate2.1
sl_hard_hit_percent17.0
sl_exit_velocity_avg83.8
sl_launch_angle_avg12.9
sl_whiff_percent24.5
sl_swing_percent56.2
José Soriano (667755) · PITCHER · Starter · Team LAA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 10
All-history rows before 20260521: 10

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB3.0003.0003.000Pitching_BB2.6006.0000.400-3.000
predicted_ER0.0000.0000.000Pitching_ER1.6006.000-1.600-6.000
predicted_H2.0002.0002.000Pitching_H3.8001.000-1.8001.000
predicted_IP6.0006.0006.000Pitching_InningsPitched5.8505.1000.1500.900
predicted_SO6.0006.0006.000Pitching_SO6.7006.000-0.7000.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: 3.0000 -> 6.0000 (boost 3.0000, better)
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2pitcher_quality_guardrail11010predicted_SO: 3.0000 -> 6.0000 (boost 3.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": "667755",
  "player_name": "José Soriano",
  "position": "Starter",
  "team": "LAA",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 3.0,
        "predicted_ER": 0.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_IP": 6.0,
        "predicted_SO": 3.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "pitcher_quality_guardrail",
      "description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
      "stats": {
        "predicted_BB": 3.0,
        "predicted_ER": 0.0,
        "predicted_H": 2.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": 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": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 6.0,
          "delta": 3.0,
          "percent_delta": 1.0,
          "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": 3.0,
          "after": 6.0,
          "delta": 3.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 3,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 3.0,
        "predicted_ER": 0.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_IP": 6.0,
        "predicted_R": 0.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": 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": 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": 3.0,
        "after": 3.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 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": 6.0,
        "after": 6.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 3.0,
        "after": 6.0,
        "delta": 3.0,
        "percent_delta": 1.0,
        "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": 3.0,
        "after": 6.0,
        "delta": 3.0,
        "percent_delta": 1.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": null,
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB3.000-
predicted_ER0.000-
predicted_H2.000-
predicted_HR0.000-
predicted_IP6.000-
predicted_SO3.000-
2. pitcher_quality_guardrail

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

MetricValueDelta vs Prev Step
predicted_BB3.0000.000
predicted_ER0.0000.000
predicted_H2.0000.000
predicted_HR0.0000.000
predicted_IP6.0000.000
predicted_SO6.0003.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 10
Reference playing time: 6.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45527.00015.00027.00013.00028.0004.0005.00001.48150.55561.00000.48151.03700.1482
last_100.351059.20016.00038.00026.00067.0005.0002.41341.07260.26820.63690.43581.12290.0838
season0.201059.20016.00038.00026.00067.0005.0002.41341.07260.26820.63690.43581.12290.0838
Weighted Prediction From Real Data
MetricValue
predicted_BB2.4900
predicted_ER2.5500
predicted_ERA3.9918
predicted_H5.0280
predicted_HR0.7100
predicted_IP5.2000
predicted_SO5.9430
predicted_WHIP1.3075
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB3.00002.49002.7403model_form_blend
predicted_ER0.00002.55001.2984model_form_blend
predicted_ERA-3.99183.9918form_only
predicted_H2.00005.02803.5418model_form_blend
predicted_HR0.00000.71000.3615model_form_blend
predicted_IP6.00005.20005.2000model_form_blend
predicted_SO3.00005.94304.4985model_form_blend
predicted_WHIP-1.30751.3075form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP6.0
H2
R0
ER0
BB3
SO6
HR0
BF23
Pitches95

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_BB6
Pitching_Balk0
Pitching_Batters Faced24
Pitching_ER6
Pitching_ERA2.41
Pitching_Flyouts1
Pitching_Groundouts7
Pitching_H1
Pitching_HBP1
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched5.1
Pitching_Pitches92
Pitching_R6
Pitching_SO6
Pitching_Strikes48
Pitching_Wild Pitch0
Pitching_decisionL
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260516_LAD@LAA
game_typefull
mlbID667755
playerID667755
playerNameJosé Soriano
posP
startedTrue
startingPositionP
teamLAA
teamID13
game_date2026-05-16
game_pk824038.0
sl_k_percent28.0
sl_bb_percent10.9
sl_woba0.25
sl_xwoba0.317
sl_sweet_spot_percent35.9
sl_barrel_batted_rate9.0
sl_hard_hit_percent34.5
sl_whiff_percent33.8
sl_swing_percent45.6
sv_pitch_count92.0
sv_outs_recorded_est16.0
sv_release_speed92.16739130434782
sv_release_spin_rate2025.9130434782608
sv_effective_speed92.38478260869564
sv_launch_speed83.3
sv_launch_angle1.588235294117647
sv_woba_value5.8
sv_woba_denom24.0
sv_delta_run_exp-0.88
sv_delta_home_win_exp-0.1009999999999999
sl_avg_best_speed77.488647361
sl_avg_hyper_speed93.284422797
Sam Bachman (696147) · PITCHER · Middle Reliever · Team LAA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 17
All-history rows before 20260521: 17

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.5880.000-0.5880.000
predicted_ER0.0000.0000.000Pitching_ER0.4120.000-0.4120.000
predicted_H0.0000.0000.000Pitching_H0.7651.000-0.765-1.000
predicted_IP1.1001.1001.100Pitching_InningsPitched1.2061.200-0.106-0.100
predicted_SO0.0000.0000.000Pitching_SO1.4711.000-1.471-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectworse
Changed Metrics2
Boosted Metrics0
Deboosted Metrics2
Better Metrics0
Worse Metrics2
Biggest Boost-
Biggest Deboostpredicted_SO: 3.0000 -> 0.0000 (deboost -3.0000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final20202-predicted_SO: 3.0000 -> 0.0000 (deboost -3.0000, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "696147",
  "player_name": "Sam Bachman",
  "position": "Middle Reliever",
  "team": "LAA",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.3333,
        "predicted_SO": 3.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.1,
        "predicted_R": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.3333,
          "after": 1.1,
          "delta": -0.2333,
          "percent_delta": -0.175,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 0.0,
          "delta": -3.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 0.0,
          "delta": -3.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.3333,
        "after": 1.1,
        "delta": -0.2333,
        "percent_delta": -0.175,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 3.0,
        "after": 0.0,
        "delta": -3.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 2,
      "boosted_metrics": 0,
      "deboosted_metrics": 2,
      "better_metrics": 0,
      "worse_metrics": 2,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 3.0,
        "after": 0.0,
        "delta": -3.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 17
Reference playing time: 1.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4557.0001.0003.0000.0007.0001.0001.28570.42860.14290.42860.00001.00000.1429
last_100.351013.2003.0007.0002.00014.0002.0001.97560.65850.21950.51220.14631.02440.1463
season0.201724.0007.00013.00010.00025.0002.0002.62500.95830.29170.54170.41671.04170.0833
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3450
predicted_ER0.4520
predicted_ERA3.0477
predicted_H0.9560
predicted_HR0.1750
predicted_IP1.1000
predicted_SO1.3110
predicted_WHIP0.9750
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.34500.1495model_form_blend
predicted_ER0.00000.45200.1959model_form_blend
predicted_ERA-3.04773.0477form_only
predicted_H0.00000.95600.4144model_form_blend
predicted_HR0.00000.17500.0758model_form_blend
predicted_IP1.10001.10001.1000model_form_blend
predicted_SO3.00001.31102.2679model_form_blend
predicted_WHIP-0.97500.9750form_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 date17
Season rows before report date17
Report year2026
Profile rows used17
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.1
H0
R0
ER0
BB0
SO0
HR0
BF4
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 Faced5
Pitching_ER0
Pitching_ERA2.63
Pitching_Flyouts2
Pitching_Groundouts1
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners2
Pitching_Inherited Runners Scored1
Pitching_InningsPitched1.2
Pitching_Pitches14
Pitching_R0
Pitching_SO1
Pitching_Strikes10
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20260520_OAK@LAA
game_typefull
mlbID696147
playerID696147
playerNameSam Bachman
posP
startedFalse
startingPositionP
teamLAA
teamID13
game_date2026-05-20
sl_k_percent27.6
sl_bb_percent11.5
sl_woba0.241
sl_xwoba0.244
sl_sweet_spot_percent24.5
sl_barrel_batted_rate5.9
sl_hard_hit_percent28.3
sl_whiff_percent32.2
sl_swing_percent42.6
sl_avg_best_speed74.94572
sl_avg_hyper_speed92.318813922
Ryan Zeferjahn (666171) · PITCHER · Middle Reliever · Team LAA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 17
All-history rows before 20260521: 17

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.7650.000-0.7650.000
predicted_ER0.0000.0000.000Pitching_ER0.7061.000-0.706-1.000
predicted_H0.0000.0000.000Pitching_H0.8240.000-0.8240.000
predicted_IP1.0001.0001.000Pitching_InningsPitched1.1760.100-0.1760.900
predicted_SO1.0001.0001.000Pitching_SO1.7060.000-0.7061.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": "666171",
  "player_name": "Ryan Zeferjahn",
  "position": "Middle Reliever",
  "team": "LAA",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 0,
      "boosted_metrics": 0,
      "deboosted_metrics": 0,
      "better_metrics": 0,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": null,
      "has_material_change": false,
      "dominant_effect": "neutral"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 17
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.0002.0003.0004.0007.0000.0004.50001.75000.50000.75001.00001.75000.0000
last_100.351012.0005.0005.0007.00016.0000.0003.75001.00000.41670.41670.58331.33330.0000
season0.201722.10012.00014.00013.00029.0000.0004.83581.20900.53730.62690.58211.29850.0000
Weighted Prediction From Real Data
MetricValue
predicted_BB0.5700
predicted_ER0.4820
predicted_ERA4.2697
predicted_H0.7970
predicted_HR0.0700
predicted_IP1.0000
predicted_SO1.2340
predicted_WHIP1.3465
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.57000.2427model_form_blend
predicted_ER0.00000.48200.2053model_form_blend
predicted_ERA-4.26974.2697form_only
predicted_H0.00000.79700.3394model_form_blend
predicted_HR0.00000.07000.0298model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00001.23401.0997model_form_blend
predicted_WHIP-1.34651.3465form_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 date17
Season rows before report date17
Report year2026
Profile rows used17
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H0
R0
ER0
BB0
SO1
HR0
BF3
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 Faced3
Pitching_ER1
Pitching_ERA4.84
Pitching_Flyouts1
Pitching_Groundouts0
Pitching_H0
Pitching_HBP2
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.1
Pitching_Pitches11
Pitching_R1
Pitching_SO0
Pitching_Strikes2
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20260520_OAK@LAA
game_typefull
mlbID666171
playerID666171
playerNameRyan Zeferjahn
posP
startedFalse
startingPositionP
teamLAA
teamID13
game_date2026-05-20
sl_k_percent30.5
sl_bb_percent12.6
sl_woba0.267
sl_xwoba0.249
sl_sweet_spot_percent26.0
sl_barrel_batted_rate2.0
sl_hard_hit_percent32.0
sl_whiff_percent31.7
sl_swing_percent40.7
sl_avg_best_speed79.4144964
sl_avg_hyper_speed92.836052857
Kirby Yates (489446) · PITCHER · Middle Reliever · Team LAA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 5
All-history rows before 20260521: 5

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.4001.000-0.400-1.000
predicted_ER1.0001.0001.000Pitching_ER0.6001.0000.4000.000
predicted_H2.0002.0002.000Pitching_H0.8001.0001.2001.000
predicted_IP0.2000.2000.200Pitching_InningsPitched0.6800.200-0.4800.000
predicted_SO1.0001.0001.000Pitching_SO1.4001.000-0.4000.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectworse
Changed Metrics1
Boosted Metrics0
Deboosted Metrics1
Better Metrics0
Worse Metrics1
Biggest Boost-
Biggest Deboostpredicted_IP: 0.6667 -> 0.2000 (deboost -0.4667, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final10101-predicted_IP: 0.6667 -> 0.2000 (deboost -0.4667, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "489446",
  "player_name": "Kirby Yates",
  "position": "Middle Reliever",
  "team": "LAA",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 1.0,
        "predicted_IP": 0.6667,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 1.0,
        "predicted_IP": 0.2,
        "predicted_R": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 0.6667,
          "after": 0.2,
          "delta": -0.4667,
          "percent_delta": -0.7,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 0.6667,
          "after": 0.2,
          "delta": -0.4667,
          "percent_delta": -0.7,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 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": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 0.6667,
        "after": 0.2,
        "delta": -0.4667,
        "percent_delta": -0.7,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 0,
      "deboosted_metrics": 1,
      "better_metrics": 0,
      "worse_metrics": 1,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 0.6667,
        "after": 0.2,
        "delta": -0.4667,
        "percent_delta": -0.7,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

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_H2.000-
predicted_HR1.000-
predicted_IP0.667-
predicted_SO1.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 5
Reference playing time: 0.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4554.1003.0004.0002.0007.0001.0006.23081.38460.69230.92310.46151.61540.2308
last_100.3554.1003.0004.0002.0007.0001.0006.23081.38460.69230.92310.46151.61540.2308
season0.2054.1003.0004.0002.0007.0001.0006.23081.38460.69230.92310.46151.61540.2308
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2780
predicted_ER0.3600
predicted_ERA4.5306
predicted_H0.6720
predicted_HR0.1040
predicted_IP0.2000
predicted_SO0.7500
predicted_WHIP1.3272
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.27800.0805model_form_blend
predicted_ER1.00000.36000.8148model_form_blend
predicted_ERA-4.53064.5306form_only
predicted_H2.00000.67201.6157model_form_blend
predicted_HR1.00000.10400.7407model_form_blend
predicted_IP0.20000.20000.2000model_form_blend
predicted_SO1.00000.75000.9277model_form_blend
predicted_WHIP-1.32721.3272form_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 date5
Season rows before report date5
Report year2026
Profile rows used5
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP0.2
H2
R1
ER1
BB0
SO1
HR1
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 Faced5
Pitching_ER1
Pitching_ERA6.23
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H1
Pitching_HBP1
Pitching_HR1
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.2
Pitching_Pitches20
Pitching_R1
Pitching_SO1
Pitching_Strikes12
Pitching_Wild Pitch0
Pitching_decisionBS
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260520_OAK@LAA
game_typefull
mlbID489446
playerID489446
playerNameKirby Yates
posP
startedFalse
startingPositionP
teamLAA
teamID13
game_date2026-05-20
sl_k_percent40.0
sl_bb_percent6.7
sl_woba0.252
sl_xwoba0.248
sl_sweet_spot_percent50.0
sl_barrel_batted_rate12.5
sl_hard_hit_percent62.5
sl_whiff_percent29.0
sl_swing_percent46.3
sl_avg_best_speed82.0364875
sl_avg_hyper_speed98.103555

20260521_PIT@STL

Prediction Method: enhanced_ml_savant_pitcher_quality
Team Recent Window (Home): 48 games
Team Recent Window (Away): 49 games
Team Recent Period: Latest 10 games from dataset
Enhanced Prediction Target: {"away_runs": 2, "home_runs": 1, "confidence": 0.550886, "home_win_probability": 0.449114, "away_win_probability": 0.550886, "predicted_score_text": "PIT 2 - 1 STL", "embedded_savant_score_adjustment": {"applied": true, "source": "all_players_stats.csv embedded temporal Savant features", "feature_contract": {"training_grain": "one player-game row after collapsing granular at-bat rows", "temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game", "hitter_signals": ["xwoba", "xba", "xslg", "barrel_batted_rate", "hard_hit_percent", "bat_speed", "launch_quality", "walk_rate", "strikeout_rate"], "pitcher_signals": ["xwoba_allowed", "barrel_allowed", "hard_hit_allowed", "whiff_rate", "command_score", "movement_score", "faced_est_woba", "faced_strikeout_rate"]}, "away": {"team": "PIT", "original_runs": 2, "run_delta": 0.3325, "adjusted_runs": 2, "lineup": {"players_used": 9, "total_weight": 72.0, "quality": 0.1472702437876946, "contact": -0.07024346898613637, "power": 0.1114838196843216, "discipline": -0.0576381791991665, "xwoba": 0.32175, "recent_xwoba": 0.32175, "barrel": 8.6, "ab_hard_contact": 0.08848591749595253, "ab_bat_speed": 71.30820536532984, "ab_strikeout_rate": 0.25555286173884895, "available_players": 9, "top_players": [{"player_id": "665833", "player_name": "Oneil Cruz", "position": "CF", "weight": 10.0, "quality": 0.86054237692608, "contact": 0.740082943636727, "power": 1.7988256964648923, "discipline": -1.0018447204968945, "xwoba": 0.343, "recent_xwoba": 0.343, "barrel": 17.8, "ab_hard_contact": 1.341275834059752, "ab_bat_speed": 77.163125, "ab_strikeout_rate": 0.3641304347826087, "available": 1.0}, {"player_id": "664040", "player_name": "Brandon Lowe", "position": "2B", "weight": 10.0, "quality": 0.6158505794312517, "contact": 0.6671663348917798, "power": 1.154676061014678, "discipline": 0.017555555555555456, "xwoba": 0.379, "recent_xwoba": 0.379, "barrel": 13.3, "ab_hard_contact": 0.3194259821983152, "ab_bat_speed": 70.55274206349206, "ab_strikeout_rate": 0.24087301587301588, "available": 1.0}, {"player_id": "663968", "player_name": "Jake Mangum", "position": "RF", "weight": 6.0, "quality": -0.37921016521635437, "contact": -0.9007377222336345, "power": -1.5756361959563103, "discipline": -0.012906593406593447, "xwoba": 0.28, "recent_xwoba": 0.28, "barrel": 0.0, "ab_hard_contact": -1.7117715381738239, "ab_bat_speed": 64.14333653846154, "ab_strikeout_rate": 0.2576923076923077, "available": 1.0}, {"player_id": "669707", "player_name": "Jared Triolo", "position": "3B", "weight": 7.0, "quality": -0.23995309216964864, "contact": -0.9681433312079935, "power": -1.2498193191936557, "discipline": -0.4219523809523811, "xwoba": 0.264, "recent_xwoba": 0.264, "barrel": 2.4, "ab_hard_contact": -1.3662911457778746, "ab_bat_speed": 68.90265625, "ab_strikeout_rate": 0.22916666666666666, "available": 1.0}, {"player_id": "687462", "player_name": "Spencer Horwitz", "position": "1B", "weight": 6.0, "quality": -0.2970387578373838, "contact": -0.32894279936967674, "power": -0.960566255909374, "discipline": 1.3098006644518274, "xwoba": 0.315, "recent_xwoba": 0.315, "barrel": 2.8, "ab_hard_contact": -0.23456321342557662, "ab_bat_speed": 67.51201058201057, "ab_strikeout_rate": 0.16162790697674417, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "669160", "player_name": "Dustin May", "quality": -0.4264813352156593, "contact": -0.9145679340165028, "command": -0.5177897361664523, "movement": 0.40110048317213187, "xwoba": 0.332, "whiff": 17.9, "faced_est_woba": 0.33859943367306605, "faced_launch_speed": 84.6401937015835, "faced_strikeout_rate": 0.17769507142361834, "faced_run_exp": -0.040204987574922434}}, "home": {"team": "STL", "original_runs": 1, "run_delta": -0.1605, "adjusted_runs": 1, "lineup": {"players_used": 9, "total_weight": 68.0, "quality": 0.2986149435181182, "contact": 0.2305352440726875, "power": 0.2178456505291013, "discipline": 0.1010245339909515, "xwoba": 0.3320588235294118, "recent_xwoba": 0.3320588235294118, "barrel": 7.926470588235294, "ab_hard_contact": 0.3591539069405646, "ab_bat_speed": 70.67666306292014, "ab_strikeout_rate": 0.21228323911829214, "available_players": 9, "top_players": [{"player_id": "691023", "player_name": "Jordan Walker", "position": "RF", "weight": 9.0, "quality": 1.1156926383297636, "contact": 1.3154466247961476, "power": 1.907172744603935, "discipline": -0.36053416149068335, "xwoba": 0.385, "recent_xwoba": 0.385, "barrel": 16.7, "ab_hard_contact": 1.3331691777929795, "ab_bat_speed": 77.51961654589373, "ab_strikeout_rate": 0.2673913043478261, "available": 1.0}, {"player_id": "676475", "player_name": "Alec Burleson", "position": "1B", "weight": 9.0, "quality": 1.1526716387887437, "contact": 1.4356473328706814, "power": 1.416766865686003, "discipline": 0.38471428571428556, "xwoba": 0.388, "recent_xwoba": 0.388, "barrel": 11.4, "ab_hard_contact": 1.488861123243865, "ab_bat_speed": 71.2414347826087, "ab_strikeout_rate": 0.15, "available": 1.0}, {"player_id": "687363", "player_name": "Victor Scott II", "position": "CF", "weight": 5.0, "quality": -0.6524644051822762, "contact": -1.3303885655285508, "power": -1.3497104824886468, "discipline": -0.7196074332171893, "xwoba": 0.249, "recent_xwoba": 0.249, "barrel": 1.1, "ab_hard_contact": -1.2524953640586558, "ab_bat_speed": 62.970606368563686, "ab_strikeout_rate": 0.28617886178861784, "available": 1.0}, {"player_id": "665877", "player_name": "José Fermín", "position": "LF", "weight": 4.0, "quality": -0.2916285330593774, "contact": -1.2276506424792135, "power": -1.5136842767230125, "discipline": 0.7493412698412698, "xwoba": 0.253, "recent_xwoba": 0.253, "barrel": 0.0, "ab_hard_contact": -1.4618760106507354, "ab_bat_speed": 64.93875661375662, "ab_strikeout_rate": 0.23015873015873015, "available": 1.0}, {"player_id": "691026", "player_name": "Masyn Winn", "position": "SS", "weight": 8.0, "quality": -0.41106782351149196, "contact": -0.3523263847794218, "power": -0.9271569813960361, "discipline": 0.07899999999999993, "xwoba": 0.302, "recent_xwoba": 0.302, "barrel": 3.3, "ab_hard_contact": -0.6833301041112081, "ab_bat_speed": 68.11918055555556, "ab_strikeout_rate": 0.185, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "677952", "player_name": "Braxton Ashcraft", "quality": 0.39560020879622093, "contact": 0.517820548128286, "command": 0.4941536827370161, "movement": 0.918530723664579, "xwoba": 0.271, "whiff": 27.4, "faced_est_woba": 0.25766520419659045, "faced_launch_speed": 85.08046021533613, "faced_strikeout_rate": 0.27526570651570653, "faced_run_exp": 0.013164021144530066}}}, "confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Production confidence governor cap enforced.", "pre_simulation_target": {"away_runs": 2, "home_runs": 1, "predicted_score_text": "PIT 2 - 1 STL", "confidence": 0.550886, "source": "enhanced_prediction_before_inning_simulation"}, "score_source": "enhanced_prediction.pre_simulation_target", "final_prediction_synced": true, "final_prediction_source": "pre_simulation_target", "simulation_usage": "advisory_box_score_draw", "simulation_score_matches_prediction": false, "simulation_reconciliation": {"pre_simulation_score": {"away_runs": 2, "home_runs": 1, "score_text": "PIT 2 - 1 STL", "winner": "PIT"}, "final_simulation_score": {"away_runs": 4, "home_runs": 3, "score_text": "PIT 4 - 3 STL", "winner": "PIT"}, "winner_flipped_by_simulation": false, "away_run_delta": 2, "home_run_delta": 2, "total_run_delta": 4, "score_source": "enhanced_prediction.pre_simulation_target", "simulation_usage": "advisory_box_score_draw", "final_prediction_source": "pre_simulation_target"}}
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, 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 predictionPIT 2 - 1 STLPIT0.551enhanced_prediction.pre_simulation_targetTrue
Simulation drawPIT 4 - 3 STLPIT-advisory_box_score_drawFalse

The shipped score is the pre-simulation model target. The inning simulation is a separate box-score realization used for player lines and stress testing.

Full Prediction Process

Process LayerWhat It DoesStored FieldObserved Value
1. Historical modelStarts from trained game model output.score_evolution.steps[historical_ml]-
2. Variance layerApplies bounded game variance before enhanced corrections.score_evolution.steps[variance_applied]-
3. Recent/team formUses latest team form, recent scoring, prevention, and streak state.enhanced_prediction_analysis.recent_formTrue
4. Season qualityUses season run differential and record quality guardrails.season_run_differential_adjustment, season_quality_guardrailTrue
5. Savant hittersApplies lineup-level Statcast xwOBA, xBA, xSLG, barrel, hard-hit, sweet-spot, EV, launch-angle, whiff, K and BB quality.savant_batter_quality_adjustmentTrue
6. Savant pitchersApplies starter run prevention, strikeout, walk, HR and regression factors from xwOBA, wOBA, contact quality and whiff/command.savant_pitcher_quality_adjustmentTrue
7. Low-score analysisControls unrealistic totals and preserves the pre-sync low-score expected total.low_score_analysis6.9000
8. Probability/governorsApplies win probability calibration, matchup guardrails, margin governor and confidence governor.win_probability_calibration, margin_governor, confidence_governor0.5509
9. Simulation reconciliationKeeps final shipped score and simulation box score auditable side by side.simulation_reconciliationadvisory_box_score_draw
10. Score evolution rendered6 stored score steps are rendered below.game.score_evolution.stepstrue

Score Evolution Steps

StepLayerAway RunsHome RunsConfidenceDescription
1historical_ml4.7014.444-Base ML historical model prediction
2variance_applied45-Random variance applied (0.9-1.1)
3enhanced_prediction210.5509Enhanced ML with recent form, H2H, low-score analysis
4embedded_savant_run_environment21-Target score adjusted by temporal Savant lineup quality versus opposing starter quality
5capped_target21-Capped at max 12 realistic runs
6simulation_result43-Final inning-by-inning simulation result

Governors, Guardrails, and Reconciliation

Low Score Analysis
{
  "low_score_probability": 0.5392332000000001,
  "base_low_score_probability": 0.4238095238095238,
  "low_score_signal_threshold": 0.5038095238095238,
  "low_score_signal_strength": 0.11542367619047628,
  "confidence": 0.7361740000000001,
  "factors": {
    "environmental": 1.1566800000000002,
    "pitcher_form": 1.1,
    "team_form": 1.0,
    "situational": 1.0,
    "combined": 1.2723480000000003
  },
  "prediction": "low_scoring",
  "expected_total_runs": 3,
  "pre_simulation_expected_total_runs": 6.9,
  "low_score_model_expected_total_runs": 6.9,
  "final_simulation_total_runs": 7,
  "score_source": "enhanced_prediction.pre_simulation_target"
}
Win Probability Calibration
{
  "method": "historical_slate_bin_shrinkage",
  "sample_size": 83,
  "near_bucket_sample_size": 83,
  "medium_bucket_sample_size": 134,
  "wide_bucket_sample_size": 196,
  "global_sample_size": 205,
  "bucket_scope": "near_0.05",
  "sparse_bucket": false,
  "empirical_hit_rate": 0.5301,
  "bayesian_hit_rate": 0.5248,
  "sample_weight": 0.6,
  "prior_strength": 18.0,
  "reliability": 0.8218,
  "confidence_cap": 0.78,
  "raw_pick_probability": 0.6042,
  "calibrated_pick_probability": 0.5509,
  "predicted_side": "away"
}
Season Run Differential Adjustment
{
  "applied": false,
  "home": {
    "team": "STL",
    "games": 48,
    "wins": 28,
    "losses": 20,
    "win_pct": 0.5833333333333334,
    "runs_scored": 217,
    "runs_allowed": 218,
    "run_differential": -1,
    "run_differential_per_game": -0.020833333333333332,
    "available": true
  },
  "away": {
    "team": "PIT",
    "games": 49,
    "wins": 25,
    "losses": 24,
    "win_pct": 0.5102040816326531,
    "runs_scored": 242,
    "runs_allowed": 220,
    "run_differential": 22,
    "run_differential_per_game": 0.4489795918367347,
    "available": true
  },
  "run_differential_edge_per_game": -0.4698,
  "win_pct_edge": 0.0731,
  "quality_edge": -0.3601,
  "margin_adjustment": 0.0,
  "reason": "season quality edge below action threshold"
}
Matchup Recency Guardrail
{
  "applied": false,
  "confidence_cap": null,
  "winner_flipped": false,
  "reasons": [],
  "signals": {
    "predicted_team": "PIT",
    "guardrail_predicted_team": "PIT",
    "guardrail_opponent_team": null,
    "output_pre_simulation_winner": "PIT",
    "output_opponent_team": "STL",
    "final_score_winner": "PIT",
    "pre_simulation_winner": "PIT",
    "winner_flipped_by_simulation": false
  },
  "final_prediction_sync": {
    "pre_simulation_score": {
      "away_runs": 2,
      "home_runs": 1,
      "score_text": "PIT 2 - 1 STL",
      "winner": "PIT"
    },
    "final_simulation_score": {
      "away_runs": 4,
      "home_runs": 3,
      "score_text": "PIT 4 - 3 STL",
      "winner": "PIT"
    },
    "winner_flipped_by_simulation": false,
    "away_run_delta": 2,
    "home_run_delta": 2,
    "total_run_delta": 4,
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_usage": "advisory_box_score_draw",
    "final_prediction_source": "pre_simulation_target"
  }
}
Season Quality Guardrail
{
  "applied": false,
  "confidence_cap": null,
  "winner_flipped": false,
  "reasons": [],
  "signals": {
    "home": {
      "team": "STL",
      "games": 48,
      "wins": 28,
      "losses": 20,
      "win_pct": 0.5833333333333334,
      "runs_scored": 217,
      "runs_allowed": 218,
      "run_differential": -1,
      "run_differential_per_game": -0.020833333333333332,
      "available": true
    },
    "away": {
      "team": "PIT",
      "games": 49,
      "wins": 25,
      "losses": 24,
      "win_pct": 0.5102040816326531,
      "runs_scored": 242,
      "runs_allowed": 220,
      "run_differential": 22,
      "run_differential_per_game": 0.4489795918367347,
      "available": true
    }
  }
}
Margin Governor
{
  "applied": false,
  "raw_margin": -1.0677,
  "final_margin": -1.0677,
  "margin_cap": 1.5,
  "season_quality_edge": 0.3601,
  "reason": "raw target margin within supported range"
}
Confidence Governor
{
  "applied": false,
  "raw_confidence": 0.550886,
  "final_confidence": 0.550886,
  "confidence_cap": 0.66,
  "score_gap": 1.0677,
  "calibration_sample_size": 83,
  "calibration_empirical_hit_rate": 0.5301,
  "calibration_bayesian_hit_rate": 0.5248,
  "calibration_sparse_bucket": false,
  "season_quality_edge": 0.3601,
  "reasons": [
    "unvalidated probabilities are capped for production display",
    "projected score gap is close",
    "local calibration sample has at least 30 games",
    "local calibration sample has at least 60 games",
    "win-probability calibration cap enforced"
  ]
}
Simulation Reconciliation
{
  "pre_simulation_score": {
    "away_runs": 2,
    "home_runs": 1,
    "score_text": "PIT 2 - 1 STL",
    "winner": "PIT"
  },
  "final_simulation_score": {
    "away_runs": 4,
    "home_runs": 3,
    "score_text": "PIT 4 - 3 STL",
    "winner": "PIT"
  },
  "winner_flipped_by_simulation": false,
  "away_run_delta": 2,
  "home_run_delta": 2,
  "total_run_delta": 4,
  "score_source": "enhanced_prediction.pre_simulation_target",
  "simulation_usage": "advisory_box_score_draw",
  "final_prediction_source": "pre_simulation_target"
}
Enhanced Prediction Target
{
  "away_runs": 2,
  "home_runs": 1,
  "confidence": 0.550886,
  "home_win_probability": 0.449114,
  "away_win_probability": 0.550886,
  "predicted_score_text": "PIT 2 - 1 STL",
  "embedded_savant_score_adjustment": {
    "applied": true,
    "source": "all_players_stats.csv embedded temporal Savant features",
    "feature_contract": {
      "training_grain": "one player-game row after collapsing granular at-bat rows",
      "temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
      "hitter_signals": [
        "xwoba",
        "xba",
        "xslg",
        "barrel_batted_rate",
        "hard_hit_percent",
        "bat_speed",
        "launch_quality",
        "walk_rate",
        "strikeout_rate"
      ],
      "pitcher_signals": [
        "xwoba_allowed",
        "barrel_allowed",
        "hard_hit_allowed",
        "whiff_rate",
        "command_score",
        "movement_score",
        "faced_est_woba",
        "faced_strikeout_rate"
      ]
    },
    "away": {
      "team": "PIT",
      "original_runs": 2,
      "run_delta": 0.3325,
      "adjusted_runs": 2,
      "lineup": {
        "players_used": 9,
        "total_weight": 72.0,
        "quality": 0.1472702437876946,
        "contact": -0.07024346898613637,
        "power": 0.1114838196843216,
        "discipline": -0.0576381791991665,
        "xwoba": 0.32175,
        "recent_xwoba": 0.32175,
        "barrel": 8.6,
        "ab_hard_contact": 0.08848591749595253,
        "ab_bat_speed": 71.30820536532984,
        "ab_strikeout_rate": 0.25555286173884895,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "665833",
            "player_name": "Oneil Cruz",
            "position": "CF",
            "weight": 10.0,
            "quality": 0.86054237692608,
            "contact": 0.740082943636727,
            "power": 1.7988256964648923,
            "discipline": -1.0018447204968945,
            "xwoba": 0.343,
            "recent_xwoba": 0.343,
            "barrel": 17.8,
            "ab_hard_contact": 1.341275834059752,
            "ab_bat_speed": 77.163125,
            "ab_strikeout_rate": 0.3641304347826087,
            "available": 1.0
          },
          {
            "player_id": "664040",
            "player_name": "Brandon Lowe",
            "position": "2B",
            "weight": 10.0,
            "quality": 0.6158505794312517,
            "contact": 0.6671663348917798,
            "power": 1.154676061014678,
            "discipline": 0.017555555555555456,
            "xwoba": 0.379,
            "recent_xwoba": 0.379,
            "barrel": 13.3,
            "ab_hard_contact": 0.3194259821983152,
            "ab_bat_speed": 70.55274206349206,
            "ab_strikeout_rate": 0.24087301587301588,
            "available": 1.0
          },
          {
            "player_id": "663968",
            "player_name": "Jake Mangum",
            "position": "RF",
            "weight": 6.0,
            "quality": -0.37921016521635437,
            "contact": -0.9007377222336345,
            "power": -1.5756361959563103,
            "discipline": -0.012906593406593447,
            "xwoba": 0.28,
            "recent_xwoba": 0.28,
            "barrel": 0.0,
            "ab_hard_contact": -1.7117715381738239,
            "ab_bat_speed": 64.14333653846154,
            "ab_strikeout_rate": 0.2576923076923077,
            "available": 1.0
          },
          {
            "player_id": "669707",
            "player_name": "Jared Triolo",
            "position": "3B",
            "weight": 7.0,
            "quality": -0.23995309216964864,
            "contact": -0.9681433312079935,
            "power": -1.2498193191936557,
            "discipline": -0.4219523809523811,
            "xwoba": 0.264,
            "recent_xwoba": 0.264,
            "barrel": 2.4,
            "ab_hard_contact": -1.3662911457778746,
            "ab_bat_speed": 68.90265625,
            "ab_strikeout_rate": 0.22916666666666666,
            "available": 1.0
          },
          {
            "player_id": "687462",
            "player_name": "Spencer Horwitz",
            "position": "1B",
            "weight": 6.0,
            "quality": -0.2970387578373838,
            "contact": -0.32894279936967674,
            "power": -0.960566255909374,
            "discipline": 1.3098006644518274,
            "xwoba": 0.315,
            "recent_xwoba": 0.315,
            "barrel": 2.8,
            "ab_hard_contact": -0.23456321342557662,
            "ab_bat_speed": 67.51201058201057,
            "ab_strikeout_rate": 0.16162790697674417,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "669160",
        "player_name": "Dustin May",
        "quality": -0.4264813352156593,
        "contact": -0.9145679340165028,
        "command": -0.5177897361664523,
        "movement": 0.40110048317213187,
        "xwoba": 0.332,
        "whiff": 17.9,
        "faced_est_woba": 0.33859943367306605,
        "faced_launch_speed": 84.6401937015835,
        "faced_strikeout_rate": 0.17769507142361834,
        "faced_run_exp": -0.040204987574922434
      }
    },
    "home": {
      "team": "STL",
      "original_runs": 1,
      "run_delta": -0.1605,
      "adjusted_runs": 1,
      "lineup": {
        "players_used": 9,
        "total_weight": 68.0,
        "quality": 0.2986149435181182,
        "contact": 0.2305352440726875,
        "power": 0.2178456505291013,
        "discipline": 0.1010245339909515,
        "xwoba": 0.3320588235294118,
        "recent_xwoba": 0.3320588235294118,
        "barrel": 7.926470588235294,
        "ab_hard_contact": 0.3591539069405646,
        "ab_bat_speed": 70.67666306292014,
        "ab_strikeout_rate": 0.21228323911829214,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "691023",
            "player_name": "Jordan Walker",
            "position": "RF",
            "weight": 9.0,
            "quality": 1.1156926383297636,
            "contact": 1.3154466247961476,
            "power": 1.907172744603935,
            "discipline": -0.36053416149068335,
            "xwoba": 0.385,
            "recent_xwoba": 0.385,
            "barrel": 16.7,
            "ab_hard_contact": 1.3331691777929795,
            "ab_bat_speed": 77.51961654589373,
            "ab_strikeout_rate": 0.2673913043478261,
            "available": 1.0
          },
          {
            "player_id": "676475",
            "player_name": "Alec Burleson",
            "position": "1B",
            "weight": 9.0,
            "quality": 1.1526716387887437,
            "contact": 1.4356473328706814,
            "power": 1.416766865686003,
            "discipline": 0.38471428571428556,
            "xwoba": 0.388,
            "recent_xwoba": 0.388,
            "barrel": 11.4,
            "ab_hard_contact": 1.488861123243865,
            "ab_bat_speed": 71.2414347826087,
            "ab_strikeout_rate": 0.15,
            "available": 1.0
          },
          {
            "player_id": "687363",
            "player_name": "Victor Scott II",
            "position": "CF",
            "weight": 5.0,
            "quality": -0.6524644051822762,
            "contact": -1.3303885655285508,
            "power": -1.3497104824886468,
            "discipline": -0.7196074332171893,
            "xwoba": 0.249,
            "recent_xwoba": 0.249,
            "barrel": 1.1,
            "ab_hard_contact": -1.2524953640586558,
            "ab_bat_speed": 62.970606368563686,
            "ab_strikeout_rate": 0.28617886178861784,
            "available": 1.0
          },
          {
            "player_id": "665877",
            "player_name": "José Fermín",
            "position": "LF",
            "weight": 4.0,
            "quality": -0.2916285330593774,
            "contact": -1.2276506424792135,
            "power": -1.5136842767230125,
            "discipline": 0.7493412698412698,
            "xwoba": 0.253,
            "recent_xwoba": 0.253,
            "barrel": 0.0,
            "ab_hard_contact": -1.4618760106507354,
            "ab_bat_speed": 64.93875661375662,
            "ab_strikeout_rate": 0.23015873015873015,
            "available": 1.0
          },
          {
            "player_id": "691026",
            "player_name": "Masyn Winn",
            "position": "SS",
            "weight": 8.0,
            "quality": -0.41106782351149196,
            "contact": -0.3523263847794218,
            "power": -0.9271569813960361,
            "discipline": 0.07899999999999993,
            "xwoba": 0.302,
            "recent_xwoba": 0.302,
            "barrel": 3.3,
            "ab_hard_contact": -0.6833301041112081,
            "ab_bat_speed": 68.11918055555556,
            "ab_strikeout_rate": 0.185,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "677952",
        "player_name": "Braxton Ashcraft",
        "quality": 0.39560020879622093,
        "contact": 0.517820548128286,
        "command": 0.4941536827370161,
        "movement": 0.918530723664579,
        "xwoba": 0.271,
        "whiff": 27.4,
        "faced_est_woba": 0.25766520419659045,
        "faced_launch_speed": 85.08046021533613,
        "faced_strikeout_rate": 0.27526570651570653,
        "faced_run_exp": 0.013164021144530066
      }
    }
  },
  "confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Production confidence governor cap enforced.",
  "pre_simulation_target": {
    "away_runs": 2,
    "home_runs": 1,
    "predicted_score_text": "PIT 2 - 1 STL",
    "confidence": 0.550886,
    "source": "enhanced_prediction_before_inning_simulation"
  },
  "score_source": "enhanced_prediction.pre_simulation_target",
  "final_prediction_synced": true,
  "final_prediction_source": "pre_simulation_target",
  "simulation_usage": "advisory_box_score_draw",
  "simulation_score_matches_prediction": false,
  "simulation_reconciliation": {
    "pre_simulation_score": {
      "away_runs": 2,
      "home_runs": 1,
      "score_text": "PIT 2 - 1 STL",
      "winner": "PIT"
    },
    "final_simulation_score": {
      "away_runs": 4,
      "home_runs": 3,
      "score_text": "PIT 4 - 3 STL",
      "winner": "PIT"
    },
    "winner_flipped_by_simulation": false,
    "away_run_delta": 2,
    "home_run_delta": 2,
    "total_run_delta": 4,
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_usage": "advisory_box_score_draw",
    "final_prediction_source": "pre_simulation_target"
  }
}

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 PITTrue1.01411.0141190
Home STLTrue1.02231.0223190

Away Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
LFBryan Reynolds-1.04820.6426neutral0.35600.24900.4220844915.303022.1016.300.1429
2BBrandon Lowe-1.07761.0344neutral0.37900.26200.525013.3045891734.4023.4012.20-0.2000
1BSpencer Horwitz-0.9751-0.3323negative_batter_regression0.31500.23100.33602.8028.4085.8015.1015.4014.2014.80-1.3714
CFOneil Cruz-1.07400.9870neutral0.34300.25100.484017.8061.30966.5036.6034.908-0.1714
SSKonnor Griffin-1.00080.0103neutral0.31300.24400.40408.4033.3087.906.3034.1027.806.50-0.1143
DHMarcell Ozuna-1.02160.2879positive_batter_regression0.31700.21900.41208.9038.8089.1025.1029.7028.1010.501.4571
RFJake Mangum-0.9706-0.3919neutral0.28000.24500.2930029.8082.502.4024.3023.309.300
3BJared Triolo-0.9668-0.4420neutral0.26400.23300.29602.4030.2085.305.102420.305.10-0.4571
CHenry Davis-0.9918-0.1094positive_batter_regression0.28100.20200.31807.9036.8090.301720.7018.3010.101.5714

Home Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
2BJJ Wetherholt-1.05720.7626neutral0.36000.24000.44607.9044.3089.9015.9023.5017.8011.700.2857
1BAlec Burleson-1.10681.4238positive_batter_regression0.38800.29200.556011.4048.7091.509.5020.3015.9090.9714
RFJordan Walker-1.10141.3523neutral0.38500.28000.539016.7053.2094.5013.803326.309.60-0.6857
DHIván Herrera-1.04180.5575neutral0.35700.26300.40906.4042.6089.307.3021.5016.7013.50-0.1143
3BNolan Gorman-1.03340.4448neutral0.32700.24300.431010.3047.7089.502034.602711.500.4286
CPedro Pagés-0.9731-0.3581neutral0.26400.20600.34506.5033.8086.2012.7027.20254.50-0.2571
SSMasyn Winn-0.9785-0.2868neutral0.30200.25900.33103.3028.5086.701422.3018.908-0.2286
LFJosé Fermín-0.9532-0.6235negative_batter_regression0.25300.18300.2570033.3086.4027.7014.6020.3011.90-1.2286
CFVictor Scott II-0.9554-0.5948neutral0.24900.20900.28201.102787.205.1029.8026.3060.5714
Raw Savant Batter Quality JSON
{
  "home": {
    "applied": true,
    "offense_factor": 1.0223,
    "raw_average_factor": 1.0223,
    "team_espn_average_rank": null,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "2B",
        "player_id": "802139",
        "player_name": "JJ Wetherholt",
        "offense_factor": 1.0572,
        "quality_score": 0.7626,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "802139",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 210.0,
          "k_percent": 17.8,
          "bb_percent": 11.7,
          "woba": 0.35,
          "xwoba": 0.36,
          "xba": 0.24,
          "xslg": 0.446,
          "sweet_spot_percent": 38.6,
          "barrel_batted_rate": 7.9,
          "hard_hit_percent": 44.3,
          "exit_velocity_avg": 89.9,
          "launch_angle_avg": 15.9,
          "whiff_percent": 23.5,
          "swing_percent": 43.5
        },
        "components": {
          "expected_quality": 0.8824,
          "regression_edge": 0.2857,
          "xwoba_edge": 1.4857,
          "xba_edge": 0.0,
          "xslg_edge": 1.0,
          "barrel_edge": 0.2222,
          "hard_hit_edge": 0.6929,
          "exit_velocity_edge": 0.36,
          "sweet_spot_edge": 0.8833,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "1B",
        "player_id": "676475",
        "player_name": "Alec Burleson",
        "offense_factor": 1.1068,
        "quality_score": 1.4238,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "676475",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 198.0,
          "k_percent": 15.9,
          "bb_percent": 9.0,
          "woba": 0.354,
          "xwoba": 0.388,
          "xba": 0.292,
          "xslg": 0.556,
          "sweet_spot_percent": 32.0,
          "barrel_batted_rate": 11.4,
          "hard_hit_percent": 48.7,
          "exit_velocity_avg": 91.5,
          "launch_angle_avg": 9.5,
          "whiff_percent": 20.3,
          "swing_percent": 49.4
        },
        "components": {
          "expected_quality": 1.6814,
          "regression_edge": 0.9714,
          "xwoba_edge": 2.2857,
          "xba_edge": 1.4857,
          "xslg_edge": 2.5,
          "barrel_edge": 1.0,
          "hard_hit_edge": 1.3214,
          "exit_velocity_edge": 1.0,
          "sweet_spot_edge": -0.2167,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "RF",
        "player_id": "691023",
        "player_name": "Jordan Walker",
        "offense_factor": 1.1014,
        "quality_score": 1.3523,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "691023",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 198.0,
          "k_percent": 26.3,
          "bb_percent": 9.6,
          "woba": 0.409,
          "xwoba": 0.385,
          "xba": 0.28,
          "xslg": 0.539,
          "sweet_spot_percent": 34.9,
          "barrel_batted_rate": 16.7,
          "hard_hit_percent": 53.2,
          "exit_velocity_avg": 94.5,
          "launch_angle_avg": 13.8,
          "whiff_percent": 33.0,
          "swing_percent": 52.0
        },
        "components": {
          "expected_quality": 1.8588,
          "regression_edge": -0.6857,
          "xwoba_edge": 2.2,
          "xba_edge": 1.1429,
          "xslg_edge": 2.3286,
          "barrel_edge": 2.1778,
          "hard_hit_edge": 1.9643,
          "exit_velocity_edge": 2.2,
          "sweet_spot_edge": 0.2667,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "DH",
        "player_id": "671056",
        "player_name": "Iván Herrera",
        "offense_factor": 1.0418,
        "quality_score": 0.5575,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "671056",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 211.0,
          "k_percent": 16.7,
          "bb_percent": 13.5,
          "woba": 0.361,
          "xwoba": 0.357,
          "xba": 0.263,
          "xslg": 0.409,
          "sweet_spot_percent": 30.5,
          "barrel_batted_rate": 6.4,
          "hard_hit_percent": 42.6,
          "exit_velocity_avg": 89.3,
          "launch_angle_avg": 7.3,
          "whiff_percent": 21.5,
          "swing_percent": 42.3
        },
        "components": {
          "expected_quality": 0.6946,
          "regression_edge": -0.1143,
          "xwoba_edge": 1.4,
          "xba_edge": 0.6571,
          "xslg_edge": 0.4714,
          "barrel_edge": -0.1111,
          "hard_hit_edge": 0.45,
          "exit_velocity_edge": 0.12,
          "sweet_spot_edge": -0.4667,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "3B",
        "player_id": "669357",
        "player_name": "Nolan Gorman",
        "offense_factor": 1.0334,
        "quality_score": 0.4448,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "669357",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 171.0,
          "k_percent": 27.0,
          "bb_percent": 11.5,
          "woba": 0.312,
          "xwoba": 0.327,
          "xba": 0.243,
          "xslg": 0.431,
          "sweet_spot_percent": 39.3,
          "barrel_batted_rate": 10.3,
          "hard_hit_percent": 47.7,
          "exit_velocity_avg": 89.5,
          "launch_angle_avg": 20.0,
          "whiff_percent": 34.6,
          "swing_percent": 49.2
        },
        "components": {
          "expected_quality": 0.5957,
          "regression_edge": 0.4286,
          "xwoba_edge": 0.5429,
          "xba_edge": 0.0857,
          "xslg_edge": 0.7857,
          "barrel_edge": 0.7556,
          "hard_hit_edge": 1.1786,
          "exit_velocity_edge": 0.2,
          "sweet_spot_edge": 1.0,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "C",
        "player_id": "686780",
        "player_name": "Pedro Pagés",
        "offense_factor": 0.9731,
        "quality_score": -0.3581,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "686780",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 105.0,
          "k_percent": 25.0,
          "bb_percent": 4.5,
          "woba": 0.273,
          "xwoba": 0.264,
          "xba": 0.206,
          "xslg": 0.345,
          "sweet_spot_percent": 28.6,
          "barrel_batted_rate": 6.5,
          "hard_hit_percent": 33.8,
          "exit_velocity_avg": 86.2,
          "launch_angle_avg": 12.7,
          "whiff_percent": 27.2,
          "swing_percent": 48.7
        },
        "components": {
          "expected_quality": -0.8307,
          "regression_edge": -0.2571,
          "xwoba_edge": -1.2571,
          "xba_edge": -0.9714,
          "xslg_edge": -0.4429,
          "barrel_edge": -0.0889,
          "hard_hit_edge": -0.8071,
          "exit_velocity_edge": -1.12,
          "sweet_spot_edge": -0.7833,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "SS",
        "player_id": "691026",
        "player_name": "Masyn Winn",
        "offense_factor": 0.9785,
        "quality_score": -0.2868,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "691026",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 173.0,
          "k_percent": 18.9,
          "bb_percent": 8.0,
          "woba": 0.31,
          "xwoba": 0.302,
          "xba": 0.259,
          "xslg": 0.331,
          "sweet_spot_percent": 32.5,
          "barrel_batted_rate": 3.3,
          "hard_hit_percent": 28.5,
          "exit_velocity_avg": 86.7,
          "launch_angle_avg": 14.0,
          "whiff_percent": 22.3,
          "swing_percent": 42.7
        },
        "components": {
          "expected_quality": -0.3868,
          "regression_edge": -0.2286,
          "xwoba_edge": -0.1714,
          "xba_edge": 0.5429,
          "xslg_edge": -0.6429,
          "barrel_edge": -0.8,
          "hard_hit_edge": -1.5643,
          "exit_velocity_edge": -0.92,
          "sweet_spot_edge": -0.1333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "LF",
        "player_id": "665877",
        "player_name": "José Fermín",
        "offense_factor": 0.9532,
        "quality_score": -0.6235,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "665877",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 58.0,
          "k_percent": 20.3,
          "bb_percent": 11.9,
          "woba": 0.296,
          "xwoba": 0.253,
          "xba": 0.183,
          "xslg": 0.257,
          "sweet_spot_percent": 17.9,
          "barrel_batted_rate": 0.0,
          "hard_hit_percent": 33.3,
          "exit_velocity_avg": 86.4,
          "launch_angle_avg": 27.7,
          "whiff_percent": 14.6,
          "swing_percent": 36.2
        },
        "components": {
          "expected_quality": -1.4112,
          "regression_edge": -1.2286,
          "xwoba_edge": -1.5714,
          "xba_edge": -1.6286,
          "xslg_edge": -1.7,
          "barrel_edge": -1.5333,
          "hard_hit_edge": -0.8786,
          "exit_velocity_edge": -1.04,
          "sweet_spot_edge": -2.5,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "CF",
        "player_id": "687363",
        "player_name": "Victor Scott II",
        "offense_factor": 0.9554,
        "quality_score": -0.5948,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "687363",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 123.0,
          "k_percent": 26.3,
          "bb_percent": 6.0,
          "woba": 0.229,
          "xwoba": 0.249,
          "xba": 0.209,
          "xslg": 0.282,
          "sweet_spot_percent": 28.1,
          "barrel_batted_rate": 1.1,
          "hard_hit_percent": 27.0,
          "exit_velocity_avg": 87.2,
          "launch_angle_avg": 5.1,
          "whiff_percent": 29.8,
          "swing_percent": 47.5
        },
        "components": {
          "expected_quality": -1.3301,
          "regression_edge": 0.5714,
          "xwoba_edge": -1.6857,
          "xba_edge": -0.8857,
          "xslg_edge": -1.3429,
          "barrel_edge": -1.2889,
          "hard_hit_edge": -1.7786,
          "exit_velocity_edge": -0.72,
          "sweet_spot_edge": -0.8667,
          "launch_angle_hr_bonus": 0.0
        }
      }
    ],
    "source": "all_players_stats.csv embedded Savant batter features"
  },
  "away": {
    "applied": true,
    "offense_factor": 1.0141,
    "raw_average_factor": 1.0141,
    "team_espn_average_rank": null,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "LF",
        "player_id": "668804",
        "player_name": "Bryan Reynolds",
        "offense_factor": 1.0482,
        "quality_score": 0.6426,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "668804",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 206.0,
          "k_percent": 22.1,
          "bb_percent": 16.3,
          "woba": 0.351,
          "xwoba": 0.356,
          "xba": 0.249,
          "xslg": 0.422,
          "sweet_spot_percent": 31.2,
          "barrel_batted_rate": 8.0,
          "hard_hit_percent": 44.0,
          "exit_velocity_avg": 91.0,
          "launch_angle_avg": 5.3,
          "whiff_percent": 30.0,
          "swing_percent": 43.1
        },
        "components": {
          "expected_quality": 0.7747,
          "regression_edge": 0.1429,
          "xwoba_edge": 1.3714,
          "xba_edge": 0.2571,
          "xslg_edge": 0.6571,
          "barrel_edge": 0.2444,
          "hard_hit_edge": 0.65,
          "exit_velocity_edge": 0.8,
          "sweet_spot_edge": -0.35,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "2B",
        "player_id": "664040",
        "player_name": "Brandon Lowe",
        "offense_factor": 1.0776,
        "quality_score": 1.0344,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "664040",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 188.0,
          "k_percent": 23.4,
          "bb_percent": 12.2,
          "woba": 0.386,
          "xwoba": 0.379,
          "xba": 0.262,
          "xslg": 0.525,
          "sweet_spot_percent": 38.3,
          "barrel_batted_rate": 13.3,
          "hard_hit_percent": 45.0,
          "exit_velocity_avg": 89.0,
          "launch_angle_avg": 17.0,
          "whiff_percent": 34.4,
          "swing_percent": 47.9
        },
        "components": {
          "expected_quality": 1.4401,
          "regression_edge": -0.2,
          "xwoba_edge": 2.0286,
          "xba_edge": 0.6286,
          "xslg_edge": 2.1286,
          "barrel_edge": 1.4222,
          "hard_hit_edge": 0.7929,
          "exit_velocity_edge": 0.0,
          "sweet_spot_edge": 0.8333,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "1B",
        "player_id": "687462",
        "player_name": "Spencer Horwitz",
        "offense_factor": 0.9751,
        "quality_score": -0.3323,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "687462",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 155.0,
          "k_percent": 14.2,
          "bb_percent": 14.8,
          "woba": 0.363,
          "xwoba": 0.315,
          "xba": 0.231,
          "xslg": 0.336,
          "sweet_spot_percent": 29.4,
          "barrel_batted_rate": 2.8,
          "hard_hit_percent": 28.4,
          "exit_velocity_avg": 85.8,
          "launch_angle_avg": 15.1,
          "whiff_percent": 15.4,
          "swing_percent": 39.5
        },
        "components": {
          "expected_quality": -0.3251,
          "regression_edge": -1.3714,
          "xwoba_edge": 0.2,
          "xba_edge": -0.2571,
          "xslg_edge": -0.5714,
          "barrel_edge": -0.9111,
          "hard_hit_edge": -1.5786,
          "exit_velocity_edge": -1.28,
          "sweet_spot_edge": -0.65,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "CF",
        "player_id": "665833",
        "player_name": "Oneil Cruz",
        "offense_factor": 1.074,
        "quality_score": 0.987,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "665833",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 209.0,
          "k_percent": 34.9,
          "bb_percent": 8.0,
          "woba": 0.349,
          "xwoba": 0.343,
          "xba": 0.251,
          "xslg": 0.484,
          "sweet_spot_percent": 31.9,
          "barrel_batted_rate": 17.8,
          "hard_hit_percent": 61.3,
          "exit_velocity_avg": 96.0,
          "launch_angle_avg": 6.5,
          "whiff_percent": 36.6,
          "swing_percent": 44.9
        },
        "components": {
          "expected_quality": 1.236,
          "regression_edge": -0.1714,
          "xwoba_edge": 1.0,
          "xba_edge": 0.3143,
          "xslg_edge": 1.5429,
          "barrel_edge": 2.4222,
          "hard_hit_edge": 2.5,
          "exit_velocity_edge": 2.5,
          "sweet_spot_edge": -0.2333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "SS",
        "player_id": "804606",
        "player_name": "Konnor Griffin",
        "offense_factor": 1.0008,
        "quality_score": 0.0103,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "804606",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 168.0,
          "k_percent": 27.8,
          "bb_percent": 6.5,
          "woba": 0.317,
          "xwoba": 0.313,
          "xba": 0.244,
          "xslg": 0.404,
          "sweet_spot_percent": 33.3,
          "barrel_batted_rate": 8.4,
          "hard_hit_percent": 33.3,
          "exit_velocity_avg": 87.9,
          "launch_angle_avg": 6.3,
          "whiff_percent": 34.1,
          "swing_percent": 49.6
        },
        "components": {
          "expected_quality": 0.0343,
          "regression_edge": -0.1143,
          "xwoba_edge": 0.1429,
          "xba_edge": 0.1143,
          "xslg_edge": 0.4,
          "barrel_edge": 0.3333,
          "hard_hit_edge": -0.8786,
          "exit_velocity_edge": -0.44,
          "sweet_spot_edge": 0.0,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "DH",
        "player_id": "542303",
        "player_name": "Marcell Ozuna",
        "offense_factor": 1.0216,
        "quality_score": 0.2879,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "542303",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 162.0,
          "k_percent": 28.1,
          "bb_percent": 10.5,
          "woba": 0.266,
          "xwoba": 0.317,
          "xba": 0.219,
          "xslg": 0.412,
          "sweet_spot_percent": 38.8,
          "barrel_batted_rate": 8.9,
          "hard_hit_percent": 38.8,
          "exit_velocity_avg": 89.1,
          "launch_angle_avg": 25.1,
          "whiff_percent": 29.7,
          "swing_percent": 40.7
        },
        "components": {
          "expected_quality": 0.2174,
          "regression_edge": 1.4571,
          "xwoba_edge": 0.2571,
          "xba_edge": -0.6,
          "xslg_edge": 0.5143,
          "barrel_edge": 0.4444,
          "hard_hit_edge": -0.0929,
          "exit_velocity_edge": 0.04,
          "sweet_spot_edge": 0.9167,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "RF",
        "player_id": "663968",
        "player_name": "Jake Mangum",
        "offense_factor": 0.9706,
        "quality_score": -0.3919,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "663968",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 81.0,
          "k_percent": 23.3,
          "bb_percent": 9.3,
          "woba": 0.28,
          "xwoba": 0.28,
          "xba": 0.245,
          "xslg": 0.293,
          "sweet_spot_percent": 21.1,
          "barrel_batted_rate": 0.0,
          "hard_hit_percent": 29.8,
          "exit_velocity_avg": 82.5,
          "launch_angle_avg": 2.4,
          "whiff_percent": 24.3,
          "swing_percent": 60.6
        },
        "components": {
          "expected_quality": -1.0128,
          "regression_edge": 0.0,
          "xwoba_edge": -0.8,
          "xba_edge": 0.1429,
          "xslg_edge": -1.1857,
          "barrel_edge": -1.5333,
          "hard_hit_edge": -1.3786,
          "exit_velocity_edge": -2.5,
          "sweet_spot_edge": -2.0333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "3B",
        "player_id": "669707",
        "player_name": "Jared Triolo",
        "offense_factor": 0.9668,
        "quality_score": -0.442,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "669707",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 53.0,
          "k_percent": 20.3,
          "bb_percent": 5.1,
          "woba": 0.28,
          "xwoba": 0.264,
          "xba": 0.233,
          "xslg": 0.296,
          "sweet_spot_percent": 23.3,
          "barrel_batted_rate": 2.4,
          "hard_hit_percent": 30.2,
          "exit_velocity_avg": 85.3,
          "launch_angle_avg": 5.1,
          "whiff_percent": 24.0,
          "swing_percent": 41.9
        },
        "components": {
          "expected_quality": -1.0677,
          "regression_edge": -0.4571,
          "xwoba_edge": -1.2571,
          "xba_edge": -0.2,
          "xslg_edge": -1.1429,
          "barrel_edge": -1.0,
          "hard_hit_edge": -1.3214,
          "exit_velocity_edge": -1.48,
          "sweet_spot_edge": -1.6667,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "C",
        "player_id": "680779",
        "player_name": "Henry Davis",
        "offense_factor": 0.9918,
        "quality_score": -0.1094,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "680779",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 104.0,
          "k_percent": 18.3,
          "bb_percent": 10.1,
          "woba": 0.226,
          "xwoba": 0.281,
          "xba": 0.202,
          "xslg": 0.318,
          "sweet_spot_percent": 23.7,
          "barrel_batted_rate": 7.9,
          "hard_hit_percent": 36.8,
          "exit_velocity_avg": 90.3,
          "launch_angle_avg": 17.0,
          "whiff_percent": 20.7,
          "swing_percent": 51.8
        },
        "components": {
          "expected_quality": -0.525,
          "regression_edge": 1.5714,
          "xwoba_edge": -0.7714,
          "xba_edge": -1.0857,
          "xslg_edge": -0.8286,
          "barrel_edge": 0.2222,
          "hard_hit_edge": -0.3786,
          "exit_velocity_edge": 0.52,
          "sweet_spot_edge": -1.6,
          "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 PITTrue-0.40300.75600.96571.01990.95460.9463neutral0.27100.281025.606.4027.405.5037.70
Home STLTrue--0.34530.71201.02930.94550.97011.0587neutral0.33200.346017.107.3017.906.6052

Pitch Movement And Arsenal

TeamPitcherMovement AvailablePrimary PitchPitchesVeloSpinAxisHBIVBDropRel XRel ZExtensionArm AngleMovement Score
Away PITTrueNone8692.252486000000000.1435
Home STLTrueNone9592.342514000000000.1487
Run FactorValue
away_runs_vs_home_pitcher1.0209
home_runs_vs_away_pitcher0.9741
home_pitcher_quality_edge-0.7483
Raw Savant Pitcher Quality JSON
{
  "applied": true,
  "home_pitcher": {
    "available": true,
    "pitcher_id": "669160",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 178.0,
      "k_percent": 17.1,
      "bb_percent": 7.3,
      "woba": 0.346,
      "xwoba": 0.332,
      "sweet_spot_percent": 35.5,
      "barrel_batted_rate": 6.6,
      "hard_hit_percent": 52.0,
      "avg_best_speed": 79.8268,
      "avg_hyper_speed": 95.3944,
      "whiff_percent": 17.9,
      "swing_percent": 46.6
    },
    "league_medians": {
      "pa": 69.0,
      "k_percent": 22.7,
      "bb_percent": 9.4,
      "woba": 0.308,
      "xwoba": 0.312,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.2,
      "hard_hit_percent": 38.7,
      "avg_best_speed": 78.2751,
      "avg_hyper_speed": 94.07,
      "whiff_percent": 25.7,
      "swing_percent": 46.9
    },
    "components": {
      "contact_quality": -0.6592,
      "command_and_miss": -0.645,
      "regression_edge": 0.4,
      "xwoba_edge": -0.5714,
      "barrel_edge": 0.1333,
      "hard_hit_edge": -1.9,
      "whiff_edge": -1.1143,
      "bb_edge": 0.525,
      "pitch_design_score": 0.1487
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "669160",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 95,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 95,
        "pitch_usage": 0.0,
        "release_speed": 92.33804694338221,
        "release_spin_rate": 2514.3850730700665,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 95,
          "pitch_usage": 0.0,
          "release_speed": 92.33804694338221,
          "release_spin_rate": 2514.3850730700665,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.338,
        "release_spin_rate": 2514.3851,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": 0.1487,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": 1.0618,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -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.3453,
    "sample_weight": 0.712,
    "run_prevention_factor": 1.0293,
    "strikeout_factor": 0.9455,
    "walk_factor": 0.9701,
    "homer_factor": 1.0587,
    "woba_minus_xwoba": 0.014,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": false,
      "player_id": "669160",
      "reason": "player_not_in_espn_rankings"
    }
  },
  "away_pitcher": {
    "available": true,
    "pitcher_id": "677952",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 189.0,
      "k_percent": 25.6,
      "bb_percent": 6.4,
      "woba": 0.281,
      "xwoba": 0.271,
      "sweet_spot_percent": 28.1,
      "barrel_batted_rate": 5.5,
      "hard_hit_percent": 37.7,
      "avg_best_speed": 79.8561,
      "avg_hyper_speed": 94.1351,
      "whiff_percent": 27.4,
      "swing_percent": 50.3
    },
    "league_medians": {
      "pa": 69.0,
      "k_percent": 22.7,
      "bb_percent": 9.4,
      "woba": 0.308,
      "xwoba": 0.312,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.2,
      "hard_hit_percent": 38.7,
      "avg_best_speed": 78.2751,
      "avg_hyper_speed": 94.07,
      "whiff_percent": 25.7,
      "swing_percent": 46.9
    },
    "components": {
      "contact_quality": 0.6846,
      "command_and_miss": 0.4214,
      "regression_edge": 0.2857,
      "xwoba_edge": 1.1714,
      "barrel_edge": 0.3778,
      "hard_hit_edge": 0.1429,
      "whiff_edge": 0.2429,
      "bb_edge": 0.75,
      "pitch_design_score": 0.1435
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "677952",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 86,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 86,
        "pitch_usage": 0.0,
        "release_speed": 92.24645617644377,
        "release_spin_rate": 2486.2914126564165,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 86,
          "pitch_usage": 0.0,
          "release_speed": 92.24645617644377,
          "release_spin_rate": 2486.2914126564165,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.2465,
        "release_spin_rate": 2486.2914,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": 0.1435,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": 1.0252,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -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.403,
    "sample_weight": 0.756,
    "run_prevention_factor": 0.9657,
    "strikeout_factor": 1.0199,
    "walk_factor": 0.9546,
    "homer_factor": 0.9463,
    "woba_minus_xwoba": 0.01,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": false,
      "player_id": "677952",
      "reason": "player_not_in_espn_rankings"
    }
  },
  "run_factors": {
    "away_runs_vs_home_pitcher": 1.0209,
    "home_runs_vs_away_pitcher": 0.9741,
    "home_pitcher_quality_edge": -0.7483
  },
  "score_before": {
    "away_runs": 2.0,
    "home_runs": 1.0
  },
  "score_after": {
    "away_runs": 2.0417,
    "home_runs": 0.9741,
    "home_win_probability": 0.3958
  },
  "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 PIT12-370.2451.403.40-98coldstrong
Home STL8-400.1670.903.20-110coldstrong

Season Run Differential

TeamRecordWin %Run DiffRD/GameAvailable
Away PIT25-240.510220.449True
Home STL28-200.583-1-0.021True
Signal---0.470-0.360applied=False

Recent Head-to-Head

DateMatchupScoreWinnerMarginType
------

Player/Game Reconciliation

LayerABHRHRRBIBBSO
Game target PIT--2----
Game target STL--1----
Player finalized PIT721811110819
Player finalized STL681810310716
Player model fractional PIT72.4017.029.642.058.948.5820.28
Player model fractional STL68.8516.9910.663.049.917.4416.02
Simulation box PIT369414313
Simulation box STL35833338

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 PITStarterBraxton Ashcraft6.1007313.701.14True
Away PITMiddle RelieverDennis Santana130304.101.26True
Away PITMiddle RelieverGregory Soto101103.941.13True
Away PITMiddle RelieverMason Montgomery0.2000123.141.15True
Home STLStarterDustin May5.1027524.041.33True
Home STLMiddle RelieverGeorge Soriano111203.791.33True
Home STLMiddle RelieverJoJo Romero101103.131.23True
Home STLMiddle RelieverRiley O'Brien102015.301.38True
Home STLMiddle RelieverRyne Stanek0.2012104.491.49True
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
awayPITbatter1BSpencer Horwitzboosted106455predicted_SO2.4420boostworse
homeSTLbatter2BJJ Wetherholtworse115647predicted_SO2.1720boostworse
awayPITbatterDHMarcell Ozunaworse116556predicted_SO1.7250boostworse
awayPITbatterCFOneil Cruzworse115647predicted_SO1.3710boostworse
homeSTLbatter3BNolan Gormanbetter116574predicted_SO-1.1420deboostbetter
awayPITbatterLFBryan Reynoldsbetter118392predicted_H1.0800boostbetter
homeSTLbatterDHIván Herrerabetter119283predicted_H1.0500boostbetter
homeSTLbatterCFVictor Scott IIworse113829predicted_AB1.0450boostbetter
homeSTLbatterRFJordan Walkerbetter96372predicted_H1.0000boostbetter
awayPITbatterSSKonnor Griffinworse123948predicted_H-0.9700deboostworse
awayPITbatter2BBrandon Loweworse105546predicted_SO0.9470boostworse
homeSTLbatter1BAlec Burlesonbetter117483predicted_H0.9200boostbetter
awayPITbatterRFJake Mangumbetter115665predicted_2B0.8820boostbetter
homeSTLbatterSSMasyn Winnworse112938predicted_SO-0.8680deboostbetter
homeSTLbatterCPedro Pagésworse81717predicted_BB0.8250boostbetter
awayPITbatter3BJared Trioloworse112938predicted_SO-0.6950deboostbetter
homeSTLbatterLFJosé Fermínworse103728predicted_BB0.6780boostbetter
homeSTLpitcherStarterDustin Mayworse10101predicted_IP-0.5667deboostworse
awayPITbatterCHenry Davisworse1129110predicted_H0.4900boostbetter
awayPITpitcherMiddle RelieverMason Montgomeryworse10101predicted_IP-0.4667deboostworse
awayPITpitcherStarterBraxton Ashcraftworse10101predicted_IP-0.2333deboostworse
homeSTLpitcherMiddle RelieverRyne Stanekworse10101predicted_IP-0.1333deboostworse

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

Away Team: PIT

Away Pitcher Deep Analysis

FieldValue
PitcherBraxton Ashcraft
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.4030
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.1435
Avg Velo92.2465
Avg Spin2486.2914
HB Inches0
IVB Inches0
Release Extension0
Pre IP6.1000
Pre ER0
Pre H3
Pre BB1
Pre SO7
Season ERA3.0904
Season WHIP1.0482
Role Avg IP6.1480
Recent Avg IP6.5330
Last Start IP6.2000
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "PIT",
    "games": 55,
    "wins": 27,
    "losses": 28,
    "win_pct": 0.4909,
    "runs_scored": 261.0,
    "runs_allowed": 248.0,
    "run_differential": 13.0,
    "run_differential_per_game": 0.2364,
    "avg_runs_scored": 4.7455,
    "avg_runs_allowed": 4.5091,
    "offense_index": 1.0596,
    "defense_index": 0.9932,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 5.5,
      "avg_runs_allowed": 5.5,
      "run_differential": 0.0
    },
    "available": true,
    "quality_score": -0.0137
  },
  "opponent": {
    "team": "STL",
    "games": 55,
    "wins": 34,
    "losses": 21,
    "win_pct": 0.6182,
    "runs_scored": 243.0,
    "runs_allowed": 231.0,
    "run_differential": 12.0,
    "run_differential_per_game": 0.2182,
    "avg_runs_scored": 4.4182,
    "avg_runs_allowed": 4.2,
    "offense_index": 0.9865,
    "defense_index": 1.0663,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 3.5,
      "avg_runs_allowed": 4.2,
      "run_differential": -7.0
    },
    "available": true,
    "quality_score": 0.1273
  },
  "edges": {
    "quality_edge": -0.141,
    "offense_edge": 0.0596,
    "opponent_offense_edge": -0.0135,
    "defense_strength": -0.0068,
    "opponent_defense_weakness": -0.0663,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 0.9947,
    "run_prevention": 1.0056,
    "strikeout": 0.9969
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "677952",
    "profile": {
      "available": true,
      "pitcher_id": "677952",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 189.0,
        "k_percent": 25.6,
        "bb_percent": 6.4,
        "woba": 0.281,
        "xwoba": 0.271,
        "sweet_spot_percent": 28.1,
        "barrel_batted_rate": 5.5,
        "hard_hit_percent": 37.7,
        "avg_best_speed": 79.8561,
        "avg_hyper_speed": 94.1351,
        "whiff_percent": 27.4,
        "swing_percent": 50.3
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": 0.6846,
        "command_and_miss": 0.4214,
        "regression_edge": 0.2857,
        "xwoba_edge": 1.1714,
        "barrel_edge": 0.3778,
        "hard_hit_edge": 0.1429,
        "whiff_edge": 0.2429,
        "bb_edge": 0.75,
        "pitch_design_score": 0.1435
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "677952",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 86,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 86,
          "pitch_usage": 0.0,
          "release_speed": 92.24645617644377,
          "release_spin_rate": 2486.2914126564165,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 86,
            "pitch_usage": 0.0,
            "release_speed": 92.24645617644377,
            "release_spin_rate": 2486.2914126564165,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.2465,
          "release_spin_rate": 2486.2914,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.1435,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.0252,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.403,
      "sample_weight": 0.756,
      "run_prevention_factor": 0.9657,
      "strikeout_factor": 1.0199,
      "walk_factor": 0.9546,
      "homer_factor": 0.9463,
      "woba_minus_xwoba": 0.01,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "677952",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 2.0,
        "factor": 0.9741,
        "adjusted": 2
      },
      "predicted_H": {
        "original": 5.0,
        "factor": 0.9741,
        "adjusted": 5
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 0.9657,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 1.0,
        "factor": 0.9594,
        "adjusted": 1
      },
      "predicted_SO": {
        "original": 6.0,
        "factor": 1.015,
        "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": 55.1,
    "ER": 19,
    "H": 44,
    "BB": 14,
    "SO": 56,
    "HR": 5,
    "ERA": 3.0903614457831323,
    "WHIP": 1.0481927710843373,
    "K9": 9.108433734939759,
    "HR9": 0.8132530120481928,
    "games_pitched": 9,
    "quality_starts": 5,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 1,
    "assists": 0,
    "games_fielded": 9,
    "error_prone": false
  },
  "games_count": 9,
  "latest_game_date": "2026-05-15T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "677952",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 86,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 86,
    "pitch_usage": 0.0,
    "release_speed": 92.24645617644377,
    "release_spin_rate": 2486.2914126564165,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 86,
      "pitch_usage": 0.0,
      "release_speed": 92.24645617644377,
      "release_spin_rate": 2486.2914126564165,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.2465,
    "release_spin_rate": 2486.2914,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1435,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.0252,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.6164383561643836,
    "last_10": 0.3835616438356164
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 9.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6429,
    "prior_weight": 0.3571
  },
  "role": "pitcher",
  "player_id": "677952",
  "report_date": "20260521_P",
  "season_year": 2026,
  "rows_used": 9,
  "reference_playing_time": 6.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 32.2,
        "ER": 13.0,
        "R": 13.0,
        "H": 27.0,
        "BB": 7.0,
        "SO": 29.0,
        "HR": 5.0,
        "BF": 128.0,
        "Pitches": 443.0
      },
      "per_game": {
        "IP": 6.2,
        "ER": 2.6,
        "R": 2.6,
        "H": 5.4,
        "BB": 1.4,
        "SO": 5.8,
        "HR": 1.0,
        "BF": 25.6,
        "Pitches": 88.6
      },
      "rates": {
        "ERA": 3.5816,
        "WHIP": 1.0408,
        "ER_per_IP": 0.39796,
        "H_per_IP": 0.82653,
        "BB_per_IP": 0.21429,
        "SO_per_IP": 0.88776,
        "HR_per_IP": 0.15306
      }
    },
    "last_10": {
      "games": 9,
      "totals": {
        "IP": 55.1,
        "ER": 19.0,
        "R": 22.0,
        "H": 44.0,
        "BB": 14.0,
        "SO": 56.0,
        "HR": 5.0,
        "BF": 219.0,
        "Pitches": 784.0
      },
      "per_game": {
        "IP": 6.0,
        "ER": 2.1111,
        "R": 2.4444,
        "H": 4.8889,
        "BB": 1.5556,
        "SO": 6.2222,
        "HR": 0.5556,
        "BF": 24.3333,
        "Pitches": 87.1111
      },
      "rates": {
        "ERA": 3.0904,
        "WHIP": 1.0482,
        "ER_per_IP": 0.34337,
        "H_per_IP": 0.79518,
        "BB_per_IP": 0.25301,
        "SO_per_IP": 1.01205,
        "HR_per_IP": 0.09036
      }
    },
    "season": {
      "games": 9,
      "totals": {
        "IP": 55.1,
        "ER": 19.0,
        "R": 22.0,
        "H": 44.0,
        "BB": 14.0,
        "SO": 56.0,
        "HR": 5.0,
        "BF": 219.0,
        "Pitches": 784.0
      },
      "per_game": {
        "IP": 6.0,
        "ER": 2.1111,
        "R": 2.4444,
        "H": 4.8889,
        "BB": 1.5556,
        "SO": 6.2222,
        "HR": 0.5556,
        "BF": 24.3333,
        "Pitches": 87.1111
      },
      "rates": {
        "ERA": 3.0904,
        "WHIP": 1.0482,
        "ER_per_IP": 0.34337,
        "H_per_IP": 0.79518,
        "BB_per_IP": 0.25301,
        "SO_per_IP": 1.01205,
        "HR_per_IP": 0.09036
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 6.1,
    "predicted_ER": 2.621,
    "predicted_H": 5.488,
    "predicted_BB": 1.798,
    "predicted_SO": 6.007,
    "predicted_HR": 0.827,
    "predicted_ERA": 3.6952,
    "predicted_WHIP": 1.1414
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5009,
  "form_weight": 0.4991,
  "form_reliability": 0.6429,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 9.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6429,
    "prior_weight": 0.3571
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 6.1,
      "form": 6.1,
      "final": 6.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 2.621,
      "final": 1.3082,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 3.0,
      "form": 5.488,
      "final": 4.2418,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 1.798,
      "final": 1.3983,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 7.0,
      "form": 6.007,
      "final": 6.5044,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.827,
      "final": 0.4128,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.6952,
      "final": 3.6952,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1414,
      "final": 1.1414,
      "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
PitcherDennis Santana
RoleMiddle Reliever
Projection Source-
Savant Quality Score-0.4043
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0019
Avg Velo89.6502
Avg Spin2443.8161
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER3
Pre H3
Pre BB0
Pre SO0
Season ERA3.5410
Season WHIP1.1803
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "PIT",
    "games": 55,
    "wins": 27,
    "losses": 28,
    "win_pct": 0.4909,
    "runs_scored": 261.0,
    "runs_allowed": 248.0,
    "run_differential": 13.0,
    "run_differential_per_game": 0.2364,
    "avg_runs_scored": 4.7455,
    "avg_runs_allowed": 4.5091,
    "offense_index": 1.0596,
    "defense_index": 0.9932,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 5.5,
      "avg_runs_allowed": 5.5,
      "run_differential": 0.0
    },
    "available": true,
    "quality_score": -0.0137
  },
  "opponent": {
    "team": "STL",
    "games": 55,
    "wins": 34,
    "losses": 21,
    "win_pct": 0.6182,
    "runs_scored": 243.0,
    "runs_allowed": 231.0,
    "run_differential": 12.0,
    "run_differential_per_game": 0.2182,
    "avg_runs_scored": 4.4182,
    "avg_runs_allowed": 4.2,
    "offense_index": 0.9865,
    "defense_index": 1.0663,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 3.5,
      "avg_runs_allowed": 4.2,
      "run_differential": -7.0
    },
    "available": true,
    "quality_score": 0.1273
  },
  "edges": {
    "quality_edge": -0.141,
    "offense_edge": 0.0596,
    "opponent_offense_edge": -0.0135,
    "defense_strength": -0.0068,
    "opponent_defense_weakness": -0.0663,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 0.9947,
    "run_prevention": 1.0056,
    "strikeout": 0.9969
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "642701",
    "profile": {
      "available": true,
      "pitcher_id": "642701",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 84.0,
        "k_percent": 14.1,
        "bb_percent": 10.6,
        "woba": 0.349,
        "xwoba": 0.374,
        "sweet_spot_percent": 42.9,
        "barrel_batted_rate": 11.1,
        "hard_hit_percent": 38.1,
        "avg_best_speed": 77.2746,
        "avg_hyper_speed": 93.8708,
        "whiff_percent": 22.0,
        "swing_percent": 48.3
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": -1.1062,
        "command_and_miss": -0.7979,
        "regression_edge": -0.7143,
        "xwoba_edge": -1.7714,
        "barrel_edge": -0.8667,
        "hard_hit_edge": 0.0857,
        "whiff_edge": -0.5286,
        "bb_edge": -0.3,
        "pitch_design_score": -0.0019
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "642701",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 14,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 14,
          "pitch_usage": 0.0,
          "release_speed": 89.65015716080731,
          "release_spin_rate": 2443.8160919941256,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 14,
            "pitch_usage": 0.0,
            "release_speed": 89.65015716080731,
            "release_spin_rate": 2443.8160919941256,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.6502,
          "release_spin_rate": 2443.8161,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.0019,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.0133,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.4043,
      "sample_weight": 0.45,
      "run_prevention_factor": 1.0344,
      "strikeout_factor": 0.9684,
      "walk_factor": 1.0108,
      "homer_factor": 1.0536,
      "woba_minus_xwoba": -0.025,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "642701",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 1.0155,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 1.0155,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0049,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0241,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 0.9858,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 8.1,
    "ER": 7,
    "H": 11,
    "BB": 4,
    "SO": 4,
    "HR": 3,
    "ERA": 7.560000000000001,
    "WHIP": 1.8000000000000003,
    "K9": 4.32,
    "HR9": 3.2400000000000007,
    "games_pitched": 9,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": true
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-05-20T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "642701",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 14,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 14,
    "pitch_usage": 0.0,
    "release_speed": 89.65015716080731,
    "release_spin_rate": 2443.8160919941256,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 14,
      "pitch_usage": 0.0,
      "release_speed": 89.65015716080731,
      "release_spin_rate": 2443.8160919941256,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.6502,
    "release_spin_rate": 2443.8161,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0019,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.0133,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.028,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4462,
    "prior_weight": 0.5538
  },
  "role": "pitcher",
  "player_id": "642701",
  "report_date": "20260521_P",
  "season_year": 2026,
  "rows_used": 21,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.2,
        "ER": 1.0,
        "R": 1.0,
        "H": 3.0,
        "BB": 1.0,
        "SO": 3.0,
        "HR": 1.0,
        "BF": 17.0,
        "Pitches": 67.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.6,
        "BB": 0.2,
        "SO": 0.6,
        "HR": 0.2,
        "BF": 3.4,
        "Pitches": 13.4
      },
      "rates": {
        "ERA": 1.9286,
        "WHIP": 0.8571,
        "ER_per_IP": 0.21429,
        "H_per_IP": 0.64286,
        "BB_per_IP": 0.21429,
        "SO_per_IP": 0.64286,
        "HR_per_IP": 0.21429
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.1,
        "ER": 7.0,
        "R": 7.0,
        "H": 11.0,
        "BB": 4.0,
        "SO": 6.0,
        "HR": 3.0,
        "BF": 42.0,
        "Pitches": 144.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.7,
        "R": 0.7,
        "H": 1.1,
        "BB": 0.4,
        "SO": 0.6,
        "HR": 0.3,
        "BF": 4.2,
        "Pitches": 14.4
      },
      "rates": {
        "ERA": 6.75,
        "WHIP": 1.6071,
        "ER_per_IP": 0.75,
        "H_per_IP": 1.17857,
        "BB_per_IP": 0.42857,
        "SO_per_IP": 0.64286,
        "HR_per_IP": 0.32143
      }
    },
    "season": {
      "games": 21,
      "totals": {
        "IP": 20.1,
        "ER": 8.0,
        "R": 9.0,
        "H": 15.0,
        "BB": 9.0,
        "SO": 13.0,
        "HR": 3.0,
        "BF": 84.0,
        "Pitches": 322.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.381,
        "R": 0.4286,
        "H": 0.7143,
        "BB": 0.4286,
        "SO": 0.619,
        "HR": 0.1429,
        "BF": 4.0,
        "Pitches": 15.3333
      },
      "rates": {
        "ERA": 3.541,
        "WHIP": 1.1803,
        "ER_per_IP": 0.39344,
        "H_per_IP": 0.7377,
        "BB_per_IP": 0.44262,
        "SO_per_IP": 0.63934,
        "HR_per_IP": 0.14754
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.456,
    "predicted_H": 0.9,
    "predicted_BB": 0.358,
    "predicted_SO": 0.813,
    "predicted_HR": 0.179,
    "predicted_ERA": 4.1048,
    "predicted_WHIP": 1.258
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.584,
  "form_weight": 0.416,
  "form_reliability": 0.4462,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.028,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4462,
    "prior_weight": 0.5538
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 3.0,
      "form": 0.456,
      "final": 1.9416,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 3.0,
      "form": 0.9,
      "final": 2.1264,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.358,
      "final": 0.1489,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 0.813,
      "final": 0.3382,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 3.0,
      "form": 0.179,
      "final": 1.8264,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.1048,
      "final": 4.1048,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.258,
      "final": 1.258,
      "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
PitcherGregory Soto
RoleMiddle Reliever
Projection Source-
Savant Quality Score0.4852
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.0267
Avg Velo90.1599
Avg Spin2389.3348
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H1
Pre BB0
Pre SO1
Season ERA2.3143
Season WHIP0.8143
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "PIT",
    "games": 55,
    "wins": 27,
    "losses": 28,
    "win_pct": 0.4909,
    "runs_scored": 261.0,
    "runs_allowed": 248.0,
    "run_differential": 13.0,
    "run_differential_per_game": 0.2364,
    "avg_runs_scored": 4.7455,
    "avg_runs_allowed": 4.5091,
    "offense_index": 1.0596,
    "defense_index": 0.9932,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 5.5,
      "avg_runs_allowed": 5.5,
      "run_differential": 0.0
    },
    "available": true,
    "quality_score": -0.0137
  },
  "opponent": {
    "team": "STL",
    "games": 55,
    "wins": 34,
    "losses": 21,
    "win_pct": 0.6182,
    "runs_scored": 243.0,
    "runs_allowed": 231.0,
    "run_differential": 12.0,
    "run_differential_per_game": 0.2182,
    "avg_runs_scored": 4.4182,
    "avg_runs_allowed": 4.2,
    "offense_index": 0.9865,
    "defense_index": 1.0663,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 3.5,
      "avg_runs_allowed": 4.2,
      "run_differential": -7.0
    },
    "available": true,
    "quality_score": 0.1273
  },
  "edges": {
    "quality_edge": -0.141,
    "offense_edge": 0.0596,
    "opponent_offense_edge": -0.0135,
    "defense_strength": -0.0068,
    "opponent_defense_weakness": -0.0663,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 0.9947,
    "run_prevention": 1.0056,
    "strikeout": 0.9969
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "642397",
    "profile": {
      "available": true,
      "pitcher_id": "642397",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 86.0,
        "k_percent": 32.6,
        "bb_percent": 10.1,
        "woba": 0.207,
        "xwoba": 0.238,
        "sweet_spot_percent": 24.0,
        "barrel_batted_rate": 4.0,
        "hard_hit_percent": 32.0,
        "avg_best_speed": 71.864,
        "avg_hyper_speed": 92.7121,
        "whiff_percent": 27.2,
        "swing_percent": 42.2
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": 1.7659,
        "command_and_miss": 0.6764,
        "regression_edge": -0.8857,
        "xwoba_edge": 2.1143,
        "barrel_edge": 0.7111,
        "hard_hit_edge": 0.9571,
        "whiff_edge": 0.2143,
        "bb_edge": -0.175,
        "pitch_design_score": 0.0267
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "642397",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 19,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 19,
          "pitch_usage": 0.0,
          "release_speed": 90.15986205243559,
          "release_spin_rate": 2389.3348351811587,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 19,
            "pitch_usage": 0.0,
            "release_speed": 90.15986205243559,
            "release_spin_rate": 2389.3348351811587,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.1599,
          "release_spin_rate": 2389.3348,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.0267,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.1905,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.4852,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9588,
      "strikeout_factor": 1.0293,
      "walk_factor": 1.0063,
      "homer_factor": 0.9286,
      "woba_minus_xwoba": -0.031,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "642397",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9815,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9815,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0028,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9679,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0132,
        "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": 3,
    "H": 5,
    "BB": 3,
    "SO": 10,
    "HR": 0,
    "ERA": 2.53125,
    "WHIP": 0.75,
    "K9": 8.4375,
    "HR9": 0.0,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-05-19T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "642397",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 19,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 19,
    "pitch_usage": 0.0,
    "release_speed": 90.15986205243559,
    "release_spin_rate": 2389.3348351811587,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 19,
      "pitch_usage": 0.0,
      "release_speed": 90.15986205243559,
      "release_spin_rate": 2389.3348351811587,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.1599,
    "release_spin_rate": 2389.3348,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.0267,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.1905,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.623,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4804,
    "prior_weight": 0.5196
  },
  "role": "pitcher",
  "player_id": "642397",
  "report_date": "20260521_P",
  "season_year": 2026,
  "rows_used": 23,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.1,
        "ER": 3.0,
        "R": 4.0,
        "H": 4.0,
        "BB": 2.0,
        "SO": 5.0,
        "HR": 0.0,
        "BF": 22.0,
        "Pitches": 96.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.6,
        "R": 0.8,
        "H": 0.8,
        "BB": 0.4,
        "SO": 1.0,
        "HR": 0.0,
        "BF": 4.4,
        "Pitches": 19.2
      },
      "rates": {
        "ERA": 5.0625,
        "WHIP": 1.125,
        "ER_per_IP": 0.5625,
        "H_per_IP": 0.75,
        "BB_per_IP": 0.375,
        "SO_per_IP": 0.9375,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.2,
        "ER": 3.0,
        "R": 4.0,
        "H": 5.0,
        "BB": 3.0,
        "SO": 10.0,
        "HR": 0.0,
        "BF": 39.0,
        "Pitches": 167.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3,
        "R": 0.4,
        "H": 0.5,
        "BB": 0.3,
        "SO": 1.0,
        "HR": 0.0,
        "BF": 3.9,
        "Pitches": 16.7
      },
      "rates": {
        "ERA": 2.5312,
        "WHIP": 0.75,
        "ER_per_IP": 0.28125,
        "H_per_IP": 0.46875,
        "BB_per_IP": 0.28125,
        "SO_per_IP": 0.9375,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 23,
      "totals": {
        "IP": 23.1,
        "ER": 6.0,
        "R": 7.0,
        "H": 10.0,
        "BB": 9.0,
        "SO": 29.0,
        "HR": 1.0,
        "BF": 89.0,
        "Pitches": 374.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2609,
        "R": 0.3043,
        "H": 0.4348,
        "BB": 0.3913,
        "SO": 1.2609,
        "HR": 0.0435,
        "BF": 3.8696,
        "Pitches": 16.2609
      },
      "rates": {
        "ERA": 2.3143,
        "WHIP": 0.8143,
        "ER_per_IP": 0.25714,
        "H_per_IP": 0.42857,
        "BB_per_IP": 0.38571,
        "SO_per_IP": 1.24286,
        "HR_per_IP": 0.04286
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.438,
    "predicted_H": 0.771,
    "predicted_BB": 0.361,
    "predicted_SO": 0.974,
    "predicted_HR": 0.072,
    "predicted_ERA": 3.9448,
    "predicted_WHIP": 1.1321
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5695,
  "form_weight": 0.4305,
  "form_reliability": 0.4804,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.623,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4804,
    "prior_weight": 0.5196
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.438,
      "final": 0.1885,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.771,
      "final": 0.9014,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.361,
      "final": 0.1554,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.974,
      "final": 0.9888,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.072,
      "final": 0.031,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.9448,
      "final": 3.9448,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1321,
      "final": 1.1321,
      "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 Montgomery
RoleMiddle Reliever
Projection Source-
Savant Quality Score0.0346
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.2800
Avg Velo95.4088
Avg Spin2368.6518
HB Inches0
IVB Inches0
Release Extension0
Pre IP0.2000
Pre ER0
Pre H1
Pre BB2
Pre SO0
Season ERA3
Season WHIP1.2222
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "PIT",
    "games": 55,
    "wins": 27,
    "losses": 28,
    "win_pct": 0.4909,
    "runs_scored": 261.0,
    "runs_allowed": 248.0,
    "run_differential": 13.0,
    "run_differential_per_game": 0.2364,
    "avg_runs_scored": 4.7455,
    "avg_runs_allowed": 4.5091,
    "offense_index": 1.0596,
    "defense_index": 0.9932,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 5.5,
      "avg_runs_allowed": 5.5,
      "run_differential": 0.0
    },
    "available": true,
    "quality_score": -0.0137
  },
  "opponent": {
    "team": "STL",
    "games": 55,
    "wins": 34,
    "losses": 21,
    "win_pct": 0.6182,
    "runs_scored": 243.0,
    "runs_allowed": 231.0,
    "run_differential": 12.0,
    "run_differential_per_game": 0.2182,
    "avg_runs_scored": 4.4182,
    "avg_runs_allowed": 4.2,
    "offense_index": 0.9865,
    "defense_index": 1.0663,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 3.5,
      "avg_runs_allowed": 4.2,
      "run_differential": -7.0
    },
    "available": true,
    "quality_score": 0.1273
  },
  "edges": {
    "quality_edge": -0.141,
    "offense_edge": 0.0596,
    "opponent_offense_edge": -0.0135,
    "defense_strength": -0.0068,
    "opponent_defense_weakness": -0.0663,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 0.9947,
    "run_prevention": 1.0056,
    "strikeout": 0.9969
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "682254",
    "profile": {
      "available": true,
      "pitcher_id": "682254",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 76.0,
        "k_percent": 33.3,
        "bb_percent": 10.3,
        "woba": 0.312,
        "xwoba": 0.323,
        "sweet_spot_percent": 27.3,
        "barrel_batted_rate": 11.4,
        "hard_hit_percent": 47.7,
        "avg_best_speed": 77.6988,
        "avg_hyper_speed": 96.0292,
        "whiff_percent": 35.8,
        "swing_percent": 53.5
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": -0.3764,
        "command_and_miss": 1.1414,
        "regression_edge": -0.3143,
        "xwoba_edge": -0.3143,
        "barrel_edge": -0.9333,
        "hard_hit_edge": -1.2857,
        "whiff_edge": 1.4429,
        "bb_edge": -0.225,
        "pitch_design_score": 0.28
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "682254",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 15,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 15,
          "pitch_usage": 0.0,
          "release_speed": 95.40877433152885,
          "release_spin_rate": 2368.6518330220215,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 95.40877433152885,
            "release_spin_rate": 2368.6518330220215,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 95.4088,
          "release_spin_rate": 2368.6518,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.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.0346,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9971,
      "strikeout_factor": 1.0532,
      "walk_factor": 1.0081,
      "homer_factor": 1.061,
      "woba_minus_xwoba": -0.011,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "682254",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9987,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9987,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0036,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0274,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0239,
        "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": 1,
    "H": 4,
    "BB": 3,
    "SO": 9,
    "HR": 1,
    "ERA": 0.9310344827586208,
    "WHIP": 0.7241379310344828,
    "K9": 8.379310344827587,
    "HR9": 0.9310344827586208,
    "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-05-19T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "682254",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 15,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 15,
    "pitch_usage": 0.0,
    "release_speed": 95.40877433152885,
    "release_spin_rate": 2368.6518330220215,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 95.40877433152885,
      "release_spin_rate": 2368.6518330220215,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 95.4088,
    "release_spin_rate": 2368.6518,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 3.566,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4163,
    "prior_weight": 0.5837
  },
  "role": "pitcher",
  "player_id": "682254",
  "report_date": "20260521_P",
  "season_year": 2026,
  "rows_used": 18,
  "reference_playing_time": 0.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.2,
        "ER": 1.0,
        "R": 1.0,
        "H": 3.0,
        "BB": 2.0,
        "SO": 4.0,
        "HR": 1.0,
        "BF": 22.0,
        "Pitches": 76.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.6,
        "BB": 0.4,
        "SO": 0.8,
        "HR": 0.2,
        "BF": 4.4,
        "Pitches": 15.2
      },
      "rates": {
        "ERA": 1.5882,
        "WHIP": 0.8824,
        "ER_per_IP": 0.17647,
        "H_per_IP": 0.52941,
        "BB_per_IP": 0.35294,
        "SO_per_IP": 0.70588,
        "HR_per_IP": 0.17647
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.2,
        "ER": 1.0,
        "R": 1.0,
        "H": 5.0,
        "BB": 3.0,
        "SO": 10.0,
        "HR": 1.0,
        "BF": 40.0,
        "Pitches": 139.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.1,
        "R": 0.1,
        "H": 0.5,
        "BB": 0.3,
        "SO": 1.0,
        "HR": 0.1,
        "BF": 4.0,
        "Pitches": 13.9
      },
      "rates": {
        "ERA": 0.8438,
        "WHIP": 0.75,
        "ER_per_IP": 0.09375,
        "H_per_IP": 0.46875,
        "BB_per_IP": 0.28125,
        "SO_per_IP": 0.9375,
        "HR_per_IP": 0.09375
      }
    },
    "season": {
      "games": 18,
      "totals": {
        "IP": 18.0,
        "ER": 6.0,
        "R": 6.0,
        "H": 14.0,
        "BB": 8.0,
        "SO": 26.0,
        "HR": 2.0,
        "BF": 76.0,
        "Pitches": 298.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3333,
        "R": 0.3333,
        "H": 0.7778,
        "BB": 0.4444,
        "SO": 1.4444,
        "HR": 0.1111,
        "BF": 4.2222,
        "Pitches": 16.5556
      },
      "rates": {
        "ERA": 3.0,
        "WHIP": 1.2222,
        "ER_per_IP": 0.33333,
        "H_per_IP": 0.77778,
        "BB_per_IP": 0.44444,
        "SO_per_IP": 1.44444,
        "HR_per_IP": 0.11111
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 0.2,
    "predicted_ER": 0.281,
    "predicted_H": 0.63,
    "predicted_BB": 0.293,
    "predicted_SO": 0.761,
    "predicted_HR": 0.106,
    "predicted_ERA": 3.1444,
    "predicted_WHIP": 1.1453
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5966,
  "form_weight": 0.4034,
  "form_reliability": 0.4163,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 3.566,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4163,
    "prior_weight": 0.5837
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.2,
      "form": 0.2,
      "final": 0.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.281,
      "final": 0.1134,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.63,
      "final": 0.8507,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 2.0,
      "form": 0.293,
      "final": 1.3114,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 0.761,
      "final": 0.307,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.106,
      "final": 0.0428,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.1444,
      "final": 3.1444,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1453,
      "final": 1.1453,
      "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."
}
Bryan Reynolds (668804) · BATTER · LF · Team PIT
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 209
All-history rows before 20260521: 209
System season_avg: 0.2620
Data season_avg (2026 season-to-date): 0.2625
Diff (system - data): -0.0005
System opponent_avg: 0.2570

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1671.0001.000Hitting_2B0.1671.0000.8330.000
predicted_3B0.0480.0000.000Hitting_3B0.0480.000-0.0480.000
predicted_AB3.8504.0009.000Hitting_AB3.6465.0000.354-1.000
predicted_AVG0.2390.5000.222Hitting_AVG0.2620.2000.2380.300
predicted_BB0.7511.0002.000Hitting_BB0.7510.0000.2491.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.9202.0002.000Hitting_H0.9571.0001.0431.000
predicted_HR0.0900.0000.000Hitting_HR0.0860.000-0.0860.000
predicted_OBP0.3360.6000.364Hitting_OBP0.3960.2000.2040.400
predicted_R0.6791.0002.000Hitting_R0.6790.0000.3211.000
predicted_RBI0.5900.0002.000Hitting_RBI0.6412.000-0.641-2.000
predicted_SLG0.3890.7500.333Hitting_SLG0.4060.4000.3440.350
predicted_SO1.0000.0002.000Hitting_SO1.0001.000-1.000-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_H: 0.9200 -> 2.0000 (boost 1.0800, better)
Biggest Deboostpredicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend11110101predicted_AB: 3.8500 -> 8.5653 (boost 4.7153, 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)
4ab_floor_and_scaling94554predicted_BB: 1.4996 -> 2.0000 (boost 0.5004, better)predicted_HBP: 0.6290 -> 0.0000 (deboost -0.6290, worse)AB rounded to 9 (raw=8.57), rates preserved: AVG=0.248 HR/AB=0.021
5consistency_constraints11010predicted_R: 1.5210 -> 2.0000 (boost 0.4790, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context20202-predicted_SLG: 0.3973 -> 0.3330 (deboost -0.0643, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference50514-predicted_AB: 9.0000 -> 4.0000 (deboost -5.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final22020predicted_SLG: 0.3330 -> 0.3973 (boost 0.0643, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "668804",
  "player_name": "Bryan Reynolds",
  "position": "LF",
  "team": "PIT",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.167,
        "predicted_3B": 0.048,
        "predicted_AB": 3.85,
        "predicted_AVG": 0.239,
        "predicted_BB": 0.751,
        "predicted_H": 0.92,
        "predicted_HR": 0.09,
        "predicted_OBP": 0.336,
        "predicted_R": 0.679,
        "predicted_RBI": 0.59,
        "predicted_SLG": 0.389,
        "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.5559,
        "predicted_3B": 0.0956,
        "predicted_AB": 8.5653,
        "predicted_AVG": 0.2453,
        "predicted_BB": 1.5023,
        "predicted_H": 2.1383,
        "predicted_HBP": 0.629,
        "predicted_HR": 0.1795,
        "predicted_OBP": 0.356,
        "predicted_R": 1.5437,
        "predicted_RBI": 1.6963,
        "predicted_SLG": 0.397,
        "predicted_SO": 2.2381
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.167,
          "after": 0.5559,
          "delta": 0.3889,
          "percent_delta": 2.3287,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.048,
          "after": 0.0956,
          "delta": 0.0476,
          "percent_delta": 0.9917,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.85,
          "after": 8.5653,
          "delta": 4.7153,
          "percent_delta": 1.2248,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.239,
          "after": 0.2453,
          "delta": 0.0063,
          "percent_delta": 0.0264,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.751,
          "after": 1.5023,
          "delta": 0.7513,
          "percent_delta": 1.0004,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.92,
          "after": 2.1383,
          "delta": 1.2183,
          "percent_delta": 1.3242,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.09,
          "after": 0.1795,
          "delta": 0.0895,
          "percent_delta": 0.9944,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.336,
          "after": 0.356,
          "delta": 0.02,
          "percent_delta": 0.0595,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.679,
          "after": 1.5437,
          "delta": 0.8647,
          "percent_delta": 1.2735,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.59,
          "after": 1.6963,
          "delta": 1.1063,
          "percent_delta": 1.8751,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.389,
          "after": 0.397,
          "delta": 0.008,
          "percent_delta": 0.0206,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.2381,
          "delta": 1.2381,
          "percent_delta": 1.2381,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 11,
        "boosted_metrics": 11,
        "deboosted_metrics": 0,
        "better_metrics": 10,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.85,
          "after": 8.5653,
          "delta": 4.7153,
          "percent_delta": 1.2248,
          "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": 2,
        "last_10": 3,
        "season": 49
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.5559,
        "predicted_3B": 0.0956,
        "predicted_AB": 8.5653,
        "predicted_AVG": 0.2476,
        "predicted_BB": 1.4996,
        "predicted_H": 2.1212,
        "predicted_HBP": 0.629,
        "predicted_HR": 0.1783,
        "predicted_OBP": 0.3597,
        "predicted_R": 1.521,
        "predicted_RBI": 1.6714,
        "predicted_SLG": 0.3973,
        "predicted_SO": 2.2421
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.5559,
          "after": 0.5559,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0956,
          "after": 0.0956,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.5653,
          "after": 8.5653,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2453,
          "after": 0.2476,
          "delta": 0.0023,
          "percent_delta": 0.0094,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.5023,
          "after": 1.4996,
          "delta": -0.0027,
          "percent_delta": -0.0018,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.1383,
          "after": 2.1212,
          "delta": -0.0171,
          "percent_delta": -0.008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.629,
          "after": 0.629,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1795,
          "after": 0.1783,
          "delta": -0.0012,
          "percent_delta": -0.0067,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.356,
          "after": 0.3597,
          "delta": 0.0037,
          "percent_delta": 0.0104,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.5437,
          "after": 1.521,
          "delta": -0.0227,
          "percent_delta": -0.0147,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.6963,
          "after": 1.6714,
          "delta": -0.0249,
          "percent_delta": -0.0147,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.397,
          "after": 0.3973,
          "delta": 0.0003,
          "percent_delta": 0.0008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.2381,
          "after": 2.2421,
          "delta": 0.004,
          "percent_delta": 0.0018,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 9 (raw=8.57), rates preserved: AVG=0.248 HR/AB=0.021",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 2.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.5559,
          "after": 1.0,
          "delta": 0.4441,
          "percent_delta": 0.7989,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0956,
          "after": 0.0,
          "delta": -0.0956,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 8.5653,
          "after": 9.0,
          "delta": 0.4347,
          "percent_delta": 0.0508,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.4996,
          "after": 2.0,
          "delta": 0.5004,
          "percent_delta": 0.3337,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.1212,
          "after": 2.0,
          "delta": -0.1212,
          "percent_delta": -0.0571,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.629,
          "after": 0.0,
          "delta": -0.629,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1783,
          "after": 0.0,
          "delta": -0.1783,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.6714,
          "after": 2.0,
          "delta": 0.3286,
          "percent_delta": 0.1966,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.2421,
          "after": 2.0,
          "delta": -0.2421,
          "percent_delta": -0.108,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 4,
        "deboosted_metrics": 5,
        "better_metrics": 5,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 1.4996,
          "after": 2.0,
          "delta": 0.5004,
          "percent_delta": 0.3337,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HBP",
          "before": 0.629,
          "after": 0.0,
          "delta": -0.629,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 2.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 2.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 9.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.521,
          "after": 2.0,
          "delta": 0.479,
          "percent_delta": 0.3149,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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_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": 1.521,
          "after": 2.0,
          "delta": 0.479,
          "percent_delta": 0.3149,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_AVG": 0.222,
        "predicted_BB": 2.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.364,
        "predicted_R": 2.0,
        "predicted_RBI": 2.0,
        "predicted_SLG": 0.333,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 9.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2476,
          "after": 0.222,
          "delta": -0.0256,
          "percent_delta": -0.1034,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3597,
          "after": 0.364,
          "delta": 0.0043,
          "percent_delta": 0.012,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 2.0,
          "after": 2.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_SLG",
          "before": 0.3973,
          "after": 0.333,
          "delta": -0.0643,
          "percent_delta": -0.1618,
          "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.3973,
          "after": 0.333,
          "delta": -0.0643,
          "percent_delta": -0.1618,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 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": 9.0,
          "after": 4.0,
          "delta": -5.0,
          "percent_delta": -0.5556,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.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": 0,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 4.0,
          "delta": -5.0,
          "percent_delta": -0.5556,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2476,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_LF": 0.0,
        "predicted_OBP": 0.3597,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3973,
        "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.222,
          "after": 0.2476,
          "delta": 0.0256,
          "percent_delta": 0.1155,
          "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.364,
          "after": 0.3597,
          "delta": -0.0043,
          "percent_delta": -0.0117,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.333,
          "after": 0.3973,
          "delta": 0.0643,
          "percent_delta": 0.1932,
          "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.333,
          "after": 0.3973,
          "delta": 0.0643,
          "percent_delta": 0.1932,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.167,
        "after": 1.0,
        "delta": 0.833,
        "percent_delta": 4.988,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.048,
        "after": 0.0,
        "delta": -0.048,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.85,
        "after": 4.0,
        "delta": 0.15,
        "percent_delta": 0.039,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.239,
        "after": 0.2476,
        "delta": 0.0086,
        "percent_delta": 0.036,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.751,
        "after": 1.0,
        "delta": 0.249,
        "percent_delta": 0.3316,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.92,
        "after": 2.0,
        "delta": 1.08,
        "percent_delta": 1.1739,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.09,
        "after": 0.0,
        "delta": -0.09,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.336,
        "after": 0.3597,
        "delta": 0.0237,
        "percent_delta": 0.0705,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.679,
        "after": 1.0,
        "delta": 0.321,
        "percent_delta": 0.4728,
        "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.389,
        "after": 0.3973,
        "delta": 0.0083,
        "percent_delta": 0.0213,
        "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": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 8,
      "deboosted_metrics": 3,
      "better_metrics": 9,
      "worse_metrics": 2,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.92,
        "after": 2.0,
        "delta": 1.08,
        "percent_delta": 1.1739,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "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.167-
predicted_3B0.048-
predicted_AB3.850-
predicted_AVG0.239-
predicted_BB0.751-
predicted_H0.920-
predicted_HR0.090-
predicted_OBP0.336-
predicted_R0.679-
predicted_RBI0.590-
predicted_SLG0.389-
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.5560.389
predicted_3B0.0960.048
predicted_AB8.5654.715
predicted_AVG0.2450.006
predicted_BB1.5020.751
predicted_H2.1381.218
predicted_HBP0.629-
predicted_HR0.1790.089
predicted_OBP0.3560.020
predicted_R1.5440.865
predicted_RBI1.6961.106
predicted_SLG0.3970.008
predicted_SO2.2381.238
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.5560.000
predicted_3B0.0960.000
predicted_AB8.5650.000
predicted_AVG0.2480.002
predicted_BB1.500-0.003
predicted_H2.121-0.017
predicted_HBP0.6290.000
predicted_HR0.178-0.001
predicted_OBP0.3600.004
predicted_R1.521-0.023
predicted_RBI1.671-0.025
predicted_SLG0.3970.000
predicted_SO2.2420.004
4. ab_floor_and_scaling

AB rounded to 9 (raw=8.57), rates preserved: AVG=0.248 HR/AB=0.021

MetricValueDelta vs Prev Step
2B1.000-
3B0.000-
AB9.000-
BB2.000-
H2.000-
HBP0.000-
HR0.000-
RBI2.000-
SB0.000-
SO2.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB9.0000.000
BB2.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R2.000-
RBI2.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
6. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B1.0000.444
predicted_3B0.000-0.096
predicted_AB9.0000.435
predicted_AVG0.222-0.026
predicted_BB2.0000.500
predicted_H2.000-0.121
predicted_HR0.000-0.178
predicted_OBP0.3640.004
predicted_R2.0000.479
predicted_RBI2.0000.329
predicted_SLG0.333-0.064
predicted_SO2.000-0.242
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB4.000-5.000
BB1.000-1.000
CS0.0000.000
H2.0000.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R1.000-1.000
RBI0.000-2.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: 209
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-21.0005.0005.0000.0000.00010.0004.0000.0005.0000.23810.36000.47620.23810.00000.47620.00000.2381
last_100.203-41.0006.0006.0000.0000.00012.0005.0000.0006.0000.14630.23910.29270.14630.00000.29270.00000.1463
season0.6049-762.000200.00035.00010.00018.000134.000142.000157.000209.0000.26250.39620.40550.26250.02360.17590.20600.2743
Weighted Prediction From Real Data
MetricValue
predicted_2B1.0490
predicted_3B0.1560
predicted_AB14.5440
predicted_AVG0.2532
predicted_BB2.4550
predicted_H3.6830
predicted_HBP0.6290
predicted_HR0.2930
predicted_OBP0.3813
predicted_R2.6400
predicted_RBI3.0990
predicted_SLG0.4071
predicted_SO3.8080
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16701.04900.5559model_form_blend
predicted_3B0.04800.15600.0956model_form_blend
predicted_AB3.850014.54408.5653model_form_blend
predicted_AVG0.23900.25320.2453model_form_blend
predicted_BB0.75102.45501.5023model_form_blend
predicted_H0.92003.68302.1383model_form_blend
predicted_HBP-0.62900.6290form_only
predicted_HR0.09000.29300.1795model_form_blend
predicted_OBP0.33600.38130.3560model_form_blend
predicted_R0.67902.64001.5437model_form_blend
predicted_RBI0.59003.09901.6963model_form_blend
predicted_SLG0.38900.40710.3970model_form_blend
predicted_SO1.00003.80802.2381model_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 date209
Season rows before report date209
Report year2026
Profile rows used209
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
RBI0
BB1
SO0
SF0
HBP0
season_avg0.262

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_R0
Hitting_RBI2
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB2
Hitting_battingOrder3
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedLF
gameID20260520_PIT@STL
game_typefull
mlbID668804
playerID668804
playerNameBryan Reynolds
posLF
startedTrue
startingPositionLF
teamPIT
teamID22
game_date2026-05-20
sl_k_percent22.1
sl_bb_percent16.3
sl_woba0.351
sl_xwoba0.356
sl_xba0.249
sl_xslg0.422
sl_sweet_spot_percent31.2
sl_barrel_batted_rate8.0
sl_hard_hit_percent44.0
sl_exit_velocity_avg91.0
sl_launch_angle_avg5.3
sl_whiff_percent30.0
sl_swing_percent43.1
Brandon Lowe (664040) · BATTER · 2B · Team PIT
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 189
All-history rows before 20260521: 189
System season_avg: 0.2570
Data season_avg (2026 season-to-date): 0.2569
Diff (system - data): 0.0001
System opponent_avg: 0.2800

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2430.0001.000Hitting_2B0.2431.000-0.243-1.000
predicted_3B0.0320.0000.000Hitting_3B0.0320.000-0.0320.000
predicted_AB4.2905.00010.000Hitting_AB4.0165.0000.9840.000
predicted_AVG0.2310.2000.300Hitting_AVG0.2570.200-0.0570.000
predicted_BB0.5820.0001.000Hitting_BB0.5820.000-0.5820.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.9901.0003.000Hitting_H1.0321.000-0.0320.000
predicted_HR0.2200.0001.000Hitting_HR0.2960.000-0.2960.000
predicted_OBP0.3120.2000.364Hitting_OBP0.3530.200-0.1530.000
predicted_R0.7040.0002.000Hitting_R0.7040.000-0.7040.000
predicted_RBI0.6200.0002.000Hitting_RBI0.8310.000-0.8310.000
predicted_SB-0.0000.000BaseRunning_SB0.0000.0000.0000.000
predicted_SLG0.4840.2000.700Hitting_SLG0.5550.400-0.355-0.200
predicted_SO1.0532.0003.000Hitting_SO1.0530.0000.9472.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: 1.0530 -> 2.0000 (boost 0.9470, worse)
Biggest Deboostpredicted_R: 0.7040 -> 0.0000 (deboost -0.7040, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend11110101predicted_AB: 4.2900 -> 9.6758 (boost 5.3858, better)-Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot22020predicted_OBP: 0.3292 -> 0.3405 (boost 0.0113, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling96354predicted_H: 2.5089 -> 3.0000 (boost 0.4911, better)predicted_BB: 1.1920 -> 1.0000 (deboost -0.1920, worse)AB rounded to 10 (raw=9.68), rates preserved: AVG=0.259 HR/AB=0.058
5consistency_constraints11010predicted_R: 1.5957 -> 2.0000 (boost 0.4043, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context33030predicted_SLG: 0.5059 -> 0.7000 (boost 0.1941, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference80817-predicted_AB: 10.0000 -> 5.0000 (deboost -5.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final30303-predicted_SLG: 0.7000 -> 0.5059 (deboost -0.1941, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "664040",
  "player_name": "Brandon Lowe",
  "position": "2B",
  "team": "PIT",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.243,
        "predicted_3B": 0.032,
        "predicted_AB": 4.29,
        "predicted_AVG": 0.231,
        "predicted_BB": 0.582,
        "predicted_H": 0.99,
        "predicted_HR": 0.22,
        "predicted_OBP": 0.312,
        "predicted_R": 0.704,
        "predicted_RBI": 0.62,
        "predicted_SLG": 0.484,
        "predicted_SO": 1.053
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.5768,
        "predicted_3B": 0.065,
        "predicted_AB": 9.6758,
        "predicted_AVG": 0.2488,
        "predicted_BB": 1.1941,
        "predicted_H": 2.5291,
        "predicted_HBP": 0.11,
        "predicted_HR": 0.5635,
        "predicted_OBP": 0.3292,
        "predicted_R": 1.6195,
        "predicted_RBI": 1.5915,
        "predicted_SLG": 0.5028,
        "predicted_SO": 2.5485
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.243,
          "after": 0.5768,
          "delta": 0.3338,
          "percent_delta": 1.3737,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.032,
          "after": 0.065,
          "delta": 0.033,
          "percent_delta": 1.0312,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.29,
          "after": 9.6758,
          "delta": 5.3858,
          "percent_delta": 1.2554,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.231,
          "after": 0.2488,
          "delta": 0.0178,
          "percent_delta": 0.0771,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.582,
          "after": 1.1941,
          "delta": 0.6121,
          "percent_delta": 1.0517,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.99,
          "after": 2.5291,
          "delta": 1.5391,
          "percent_delta": 1.5546,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.22,
          "after": 0.5635,
          "delta": 0.3435,
          "percent_delta": 1.5614,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.312,
          "after": 0.3292,
          "delta": 0.0172,
          "percent_delta": 0.0551,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.704,
          "after": 1.6195,
          "delta": 0.9155,
          "percent_delta": 1.3004,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.62,
          "after": 1.5915,
          "delta": 0.9715,
          "percent_delta": 1.5669,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.484,
          "after": 0.5028,
          "delta": 0.0188,
          "percent_delta": 0.0388,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.053,
          "after": 2.5485,
          "delta": 1.4955,
          "percent_delta": 1.4202,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 11,
        "boosted_metrics": 11,
        "deboosted_metrics": 0,
        "better_metrics": 10,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.29,
          "after": 9.6758,
          "delta": 5.3858,
          "percent_delta": 1.2554,
          "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": 2,
        "last_10": 3,
        "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.5768,
        "predicted_3B": 0.065,
        "predicted_AB": 9.6758,
        "predicted_AVG": 0.2593,
        "predicted_BB": 1.192,
        "predicted_H": 2.5089,
        "predicted_HBP": 0.11,
        "predicted_HR": 0.5598,
        "predicted_OBP": 0.3405,
        "predicted_R": 1.5957,
        "predicted_RBI": 1.5681,
        "predicted_SLG": 0.5059,
        "predicted_SO": 2.5531
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.5768,
          "after": 0.5768,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.065,
          "after": 0.065,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.6758,
          "after": 9.6758,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2488,
          "after": 0.2593,
          "delta": 0.0105,
          "percent_delta": 0.0422,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.1941,
          "after": 1.192,
          "delta": -0.0021,
          "percent_delta": -0.0018,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.5291,
          "after": 2.5089,
          "delta": -0.0202,
          "percent_delta": -0.008,
          "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.5635,
          "after": 0.5598,
          "delta": -0.0037,
          "percent_delta": -0.0066,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3292,
          "after": 0.3405,
          "delta": 0.0113,
          "percent_delta": 0.0343,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.6195,
          "after": 1.5957,
          "delta": -0.0238,
          "percent_delta": -0.0147,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.5915,
          "after": 1.5681,
          "delta": -0.0234,
          "percent_delta": -0.0147,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5028,
          "after": 0.5059,
          "delta": 0.0031,
          "percent_delta": 0.0062,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.5485,
          "after": 2.5531,
          "delta": 0.0046,
          "percent_delta": 0.0018,
          "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.3292,
          "after": 0.3405,
          "delta": 0.0113,
          "percent_delta": 0.0343,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 10 (raw=9.68), rates preserved: AVG=0.259 HR/AB=0.058",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 10.0,
        "predicted_BB": 1.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.5768,
          "after": 1.0,
          "delta": 0.4232,
          "percent_delta": 0.7337,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.065,
          "after": 0.0,
          "delta": -0.065,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 9.6758,
          "after": 10.0,
          "delta": 0.3242,
          "percent_delta": 0.0335,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.192,
          "after": 1.0,
          "delta": -0.192,
          "percent_delta": -0.1611,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.5089,
          "after": 3.0,
          "delta": 0.4911,
          "percent_delta": 0.1957,
          "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.5598,
          "after": 1.0,
          "delta": 0.4402,
          "percent_delta": 0.7864,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.5681,
          "after": 2.0,
          "delta": 0.4319,
          "percent_delta": 0.2754,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.5531,
          "after": 3.0,
          "delta": 0.4469,
          "percent_delta": 0.175,
          "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_H",
          "before": 2.5089,
          "after": 3.0,
          "delta": 0.4911,
          "percent_delta": 0.1957,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.192,
          "after": 1.0,
          "delta": -0.192,
          "percent_delta": -0.1611,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 10.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 2.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 3.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": 10.0,
          "after": 10.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": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.5957,
          "after": 2.0,
          "delta": 0.4043,
          "percent_delta": 0.2534,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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_SO",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 1.5957,
          "after": 2.0,
          "delta": 0.4043,
          "percent_delta": 0.2534,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 10.0,
        "predicted_AVG": 0.3,
        "predicted_BB": 1.0,
        "predicted_H": 3.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.364,
        "predicted_R": 2.0,
        "predicted_RBI": 2.0,
        "predicted_SLG": 0.7,
        "predicted_SO": 3.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": 10.0,
          "after": 10.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2593,
          "after": 0.3,
          "delta": 0.0407,
          "percent_delta": 0.157,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3405,
          "after": 0.364,
          "delta": 0.0235,
          "percent_delta": 0.069,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 2.0,
          "after": 2.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_SLG",
          "before": 0.5059,
          "after": 0.7,
          "delta": 0.1941,
          "percent_delta": 0.3837,
          "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.5059,
          "after": 0.7,
          "delta": 0.1941,
          "percent_delta": 0.3837,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 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": 10.0,
          "after": 5.0,
          "delta": -5.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 3.0,
          "after": 1.0,
          "delta": -2.0,
          "percent_delta": -0.6667,
          "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": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.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": 3.0,
          "after": 2.0,
          "delta": -1.0,
          "percent_delta": -0.3333,
          "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": 10.0,
          "after": 5.0,
          "delta": -5.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.2593,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3405,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.5059,
        "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.3,
          "after": 0.2593,
          "delta": -0.0407,
          "percent_delta": -0.1357,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.364,
          "after": 0.3405,
          "delta": -0.0235,
          "percent_delta": -0.0645,
          "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.7,
          "after": 0.5059,
          "delta": -0.1941,
          "percent_delta": -0.2773,
          "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.7,
          "after": 0.5059,
          "delta": -0.1941,
          "percent_delta": -0.2773,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.243,
        "after": 0.0,
        "delta": -0.243,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.032,
        "after": 0.0,
        "delta": -0.032,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.29,
        "after": 5.0,
        "delta": 0.71,
        "percent_delta": 0.1655,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.231,
        "after": 0.2593,
        "delta": 0.0283,
        "percent_delta": 0.1225,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.582,
        "after": 0.0,
        "delta": -0.582,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.99,
        "after": 1.0,
        "delta": 0.01,
        "percent_delta": 0.0101,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.22,
        "after": 0.0,
        "delta": -0.22,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.312,
        "after": 0.3405,
        "delta": 0.0285,
        "percent_delta": 0.0913,
        "direction": "boost",
        "projection_effect": "better",
        "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": 0.62,
        "after": 0.0,
        "delta": -0.62,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.484,
        "after": 0.5059,
        "delta": 0.0219,
        "percent_delta": 0.0452,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.053,
        "after": 2.0,
        "delta": 0.947,
        "percent_delta": 0.8993,
        "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": 1.053,
        "after": 2.0,
        "delta": 0.947,
        "percent_delta": 0.8993,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.704,
        "after": 0.0,
        "delta": -0.704,
        "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.243-
predicted_3B0.032-
predicted_AB4.290-
predicted_AVG0.231-
predicted_BB0.582-
predicted_H0.990-
predicted_HR0.220-
predicted_OBP0.312-
predicted_R0.704-
predicted_RBI0.620-
predicted_SLG0.484-
predicted_SO1.053-
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.5770.334
predicted_3B0.0650.033
predicted_AB9.6765.386
predicted_AVG0.2490.018
predicted_BB1.1940.612
predicted_H2.5291.539
predicted_HBP0.110-
predicted_HR0.5640.344
predicted_OBP0.3290.017
predicted_R1.6190.915
predicted_RBI1.5910.971
predicted_SLG0.5030.019
predicted_SO2.5491.496
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.5770.000
predicted_3B0.0650.000
predicted_AB9.6760.000
predicted_AVG0.2590.010
predicted_BB1.192-0.002
predicted_H2.509-0.020
predicted_HBP0.1100.000
predicted_HR0.560-0.004
predicted_OBP0.3410.011
predicted_R1.596-0.024
predicted_RBI1.568-0.023
predicted_SLG0.5060.003
predicted_SO2.5530.005
4. ab_floor_and_scaling

AB rounded to 10 (raw=9.68), rates preserved: AVG=0.259 HR/AB=0.058

MetricValueDelta vs Prev Step
2B1.000-
3B0.000-
AB10.000-
BB1.000-
H3.000-
HBP0.000-
HR1.000-
RBI2.000-
SB0.000-
SO3.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB10.0000.000
BB1.0000.000
CS0.000-
H3.0000.000
HBP0.0000.000
HR1.0000.000
R2.000-
RBI2.0000.000
SB0.0000.000
SF0.000-
SO3.0000.000
6. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B1.0000.423
predicted_3B0.000-0.065
predicted_AB10.0000.324
predicted_AVG0.3000.041
predicted_BB1.000-0.192
predicted_H3.0000.491
predicted_HR1.0000.440
predicted_OBP0.3640.023
predicted_R2.0000.404
predicted_RBI2.0000.432
predicted_SLG0.7000.194
predicted_SO3.0000.447
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 189
Reference playing time: 4.290
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-25.0009.0001.0000.0000.0000.0004.0000.0008.0000.36000.36000.40000.36000.00000.00000.00000.3200
last_100.203-46.00015.0005.0000.0000.0000.0005.0000.00014.0000.32610.32610.43480.32610.00000.00000.00000.3044
season0.6043-759.000195.00046.0006.00056.000157.000133.000110.000199.0000.25690.35300.55470.25690.07380.20690.14490.2622
Weighted Prediction From Real Data
MetricValue
predicted_2B1.0010
predicted_3B0.1070
predicted_AB16.5200
predicted_AVG0.2715
predicted_BB1.9720
predicted_H4.4850
predicted_HBP0.1100
predicted_HR1.0000
predicted_OBP0.3510
predicted_R2.7830
predicted_RBI2.8260
predicted_SLG0.5268
predicted_SO4.4490
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.24301.00100.5768model_form_blend
predicted_3B0.03200.10700.0650model_form_blend
predicted_AB4.290016.52009.6758model_form_blend
predicted_AVG0.23100.27150.2488model_form_blend
predicted_BB0.58201.97201.1941model_form_blend
predicted_H0.99004.48502.5291model_form_blend
predicted_HBP-0.11000.1100form_only
predicted_HR0.22001.00000.5635model_form_blend
predicted_OBP0.31200.35100.3292model_form_blend
predicted_R0.70402.78301.6195model_form_blend
predicted_RBI0.62002.82601.5915model_form_blend
predicted_SLG0.48400.52680.5028model_form_blend
predicted_SO1.05304.44902.5485model_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 date189
Season rows before report date189
Report year2026
Profile rows used189
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

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

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_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
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
allPositionsPlayed2B
gameID20260520_PIT@STL
game_typefull
mlbID664040
playerID664040
playerNameBrandon Lowe
pos2B
startedTrue
startingPosition2B
teamPIT
teamID22
game_date2026-05-20
sl_k_percent23.4
sl_bb_percent12.2
sl_woba0.386
sl_xwoba0.379
sl_xba0.262
sl_xslg0.525
sl_sweet_spot_percent38.3
sl_barrel_batted_rate13.3
sl_hard_hit_percent45.0
sl_exit_velocity_avg89.0
sl_launch_angle_avg17.0
sl_whiff_percent34.4
sl_swing_percent47.9
Spencer Horwitz (687462) · BATTER · 1B · Team PIT
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 156
All-history rows before 20260521: 156
System season_avg: 0.2840
Data season_avg (2026 season-to-date): 0.2835
Diff (system - data): 0.0005
System opponent_avg: 0.3420

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2240.0000.000Hitting_2B0.2240.000-0.2240.000
predicted_3B0.0260.0000.000Hitting_3B0.0260.000-0.0260.000
predicted_AB3.3464.0006.000Hitting_AB3.3465.0000.654-1.000
predicted_AVG0.2630.2500.333Hitting_AVG0.2840.200-0.0340.050
predicted_BB0.6671.0001.000Hitting_BB0.6670.0000.3331.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.8601.0002.000Hitting_H0.9491.0000.0510.000
predicted_HR0.1000.0000.000Hitting_HR0.0771.000-0.077-1.000
predicted_OBP0.3530.4000.429Hitting_OBP0.4000.2000.0000.200
predicted_R0.3780.0001.000Hitting_R0.3781.000-0.378-1.000
predicted_RBI0.4700.0001.000Hitting_RBI0.5711.000-0.571-1.000
predicted_SLG0.4320.2500.333Hitting_SLG0.4350.800-0.185-0.550
predicted_SO0.5583.0001.000Hitting_SO0.5581.0002.4422.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_SO: 0.5580 -> 3.0000 (boost 2.4420, worse)
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_blend1010091predicted_AB: 3.3460 -> 6.4722 (boost 3.1262, 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.3630 -> 0.3786 (boost 0.0156, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling71625predicted_H: 1.7796 -> 2.0000 (boost 0.2204, better)predicted_AB: 6.4722 -> 6.0000 (deboost -0.4722, worse)AB rounded to 6 (raw=6.47), rates preserved: AVG=0.275 HR/AB=0.029
5bvp_blend00000--Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.400)
6consistency_constraints11010predicted_R: 0.6888 -> 1.0000 (boost 0.3112, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context32121predicted_AVG: 0.2750 -> 0.3330 (boost 0.0580, better)predicted_SLG: 0.4310 -> 0.3330 (deboost -0.0980, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference51405predicted_SO: 1.0000 -> 3.0000 (boost 2.0000, worse)predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final31212predicted_SLG: 0.3330 -> 0.4310 (boost 0.0980, better)predicted_AVG: 0.3330 -> 0.2750 (deboost -0.0580, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "687462",
  "player_name": "Spencer Horwitz",
  "position": "1B",
  "team": "PIT",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.224,
        "predicted_3B": 0.026,
        "predicted_AB": 3.346,
        "predicted_AVG": 0.263,
        "predicted_BB": 0.667,
        "predicted_H": 0.86,
        "predicted_HR": 0.1,
        "predicted_OBP": 0.353,
        "predicted_R": 0.378,
        "predicted_RBI": 0.47,
        "predicted_SLG": 0.432,
        "predicted_SO": 0.558
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.3682,
        "predicted_3B": 0.0417,
        "predicted_AB": 6.4722,
        "predicted_AVG": 0.2728,
        "predicted_BB": 1.0811,
        "predicted_H": 1.794,
        "predicted_HBP": 0.05,
        "predicted_HR": 0.1874,
        "predicted_OBP": 0.363,
        "predicted_R": 0.6991,
        "predicted_RBI": 0.9706,
        "predicted_SLG": 0.4336,
        "predicted_SO": 1.2841
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.224,
          "after": 0.3682,
          "delta": 0.1442,
          "percent_delta": 0.6438,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.026,
          "after": 0.0417,
          "delta": 0.0157,
          "percent_delta": 0.6038,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.346,
          "after": 6.4722,
          "delta": 3.1262,
          "percent_delta": 0.9343,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.263,
          "after": 0.2728,
          "delta": 0.0098,
          "percent_delta": 0.0373,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.667,
          "after": 1.0811,
          "delta": 0.4141,
          "percent_delta": 0.6208,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.86,
          "after": 1.794,
          "delta": 0.934,
          "percent_delta": 1.086,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1,
          "after": 0.1874,
          "delta": 0.0874,
          "percent_delta": 0.874,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.353,
          "after": 0.363,
          "delta": 0.01,
          "percent_delta": 0.0283,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.378,
          "after": 0.6991,
          "delta": 0.3211,
          "percent_delta": 0.8495,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.47,
          "after": 0.9706,
          "delta": 0.5006,
          "percent_delta": 1.0651,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.432,
          "after": 0.4336,
          "delta": 0.0016,
          "percent_delta": 0.0037,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.558,
          "after": 1.2841,
          "delta": 0.7261,
          "percent_delta": 1.3013,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 10,
        "boosted_metrics": 10,
        "deboosted_metrics": 0,
        "better_metrics": 9,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.346,
          "after": 6.4722,
          "delta": 3.1262,
          "percent_delta": 0.9343,
          "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": 3,
        "last_10": 4,
        "season": 44
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.3682,
        "predicted_3B": 0.0417,
        "predicted_AB": 6.4722,
        "predicted_AVG": 0.275,
        "predicted_BB": 1.0792,
        "predicted_H": 1.7796,
        "predicted_HBP": 0.05,
        "predicted_HR": 0.1862,
        "predicted_OBP": 0.3786,
        "predicted_R": 0.6888,
        "predicted_RBI": 0.9563,
        "predicted_SLG": 0.431,
        "predicted_SO": 1.2864
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.3682,
          "after": 0.3682,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0417,
          "after": 0.0417,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.4722,
          "after": 6.4722,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2728,
          "after": 0.275,
          "delta": 0.0022,
          "percent_delta": 0.0081,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0811,
          "after": 1.0792,
          "delta": -0.0019,
          "percent_delta": -0.0018,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.794,
          "after": 1.7796,
          "delta": -0.0144,
          "percent_delta": -0.008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.05,
          "after": 0.05,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1874,
          "after": 0.1862,
          "delta": -0.0012,
          "percent_delta": -0.0064,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.363,
          "after": 0.3786,
          "delta": 0.0156,
          "percent_delta": 0.043,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6991,
          "after": 0.6888,
          "delta": -0.0103,
          "percent_delta": -0.0147,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.9706,
          "after": 0.9563,
          "delta": -0.0143,
          "percent_delta": -0.0147,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4336,
          "after": 0.431,
          "delta": -0.0026,
          "percent_delta": -0.006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.2841,
          "after": 1.2864,
          "delta": 0.0023,
          "percent_delta": 0.0018,
          "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.363,
          "after": 0.3786,
          "delta": 0.0156,
          "percent_delta": 0.043,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 6 (raw=6.47), rates preserved: AVG=0.275 HR/AB=0.029",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.3682,
          "after": 0.0,
          "delta": -0.3682,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0417,
          "after": 0.0,
          "delta": -0.0417,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.4722,
          "after": 6.0,
          "delta": -0.4722,
          "percent_delta": -0.073,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0792,
          "after": 1.0,
          "delta": -0.0792,
          "percent_delta": -0.0734,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.7796,
          "after": 2.0,
          "delta": 0.2204,
          "percent_delta": 0.1238,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.05,
          "after": 0.0,
          "delta": -0.05,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1862,
          "after": 0.0,
          "delta": -0.1862,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.9563,
          "after": 1.0,
          "delta": 0.0437,
          "percent_delta": 0.0457,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.2864,
          "after": 1.0,
          "delta": -0.2864,
          "percent_delta": -0.2226,
          "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": 1.7796,
          "after": 2.0,
          "delta": 0.2204,
          "percent_delta": 0.1238,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 6.4722,
          "after": 6.0,
          "delta": -0.4722,
          "percent_delta": -0.073,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.400)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.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": 6.0,
          "after": 6.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": 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_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9429,
        "bvp": 0.0571
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 6.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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.6888,
          "after": 1.0,
          "delta": 0.3112,
          "percent_delta": 0.4518,
          "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.6888,
          "after": 1.0,
          "delta": 0.3112,
          "percent_delta": 0.4518,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_AVG": 0.333,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.429,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.333,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.275,
          "after": 0.333,
          "delta": 0.058,
          "percent_delta": 0.2109,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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.3786,
          "after": 0.429,
          "delta": 0.0504,
          "percent_delta": 0.1331,
          "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.431,
          "after": 0.333,
          "delta": -0.098,
          "percent_delta": -0.2274,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.275,
          "after": 0.333,
          "delta": 0.058,
          "percent_delta": 0.2109,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.431,
          "after": 0.333,
          "delta": -0.098,
          "percent_delta": -0.2274,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 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": 6.0,
          "after": 4.0,
          "delta": -2.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 4.0,
          "delta": -2.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.275,
        "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.3786,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.431,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.333,
          "after": 0.275,
          "delta": -0.058,
          "percent_delta": -0.1743,
          "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.429,
          "after": 0.3786,
          "delta": -0.0504,
          "percent_delta": -0.1175,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.333,
          "after": 0.431,
          "delta": 0.098,
          "percent_delta": 0.2944,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.333,
          "after": 0.431,
          "delta": 0.098,
          "percent_delta": 0.2944,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.333,
          "after": 0.275,
          "delta": -0.058,
          "percent_delta": -0.1743,
          "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.026,
        "after": 0.0,
        "delta": -0.026,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.346,
        "after": 4.0,
        "delta": 0.654,
        "percent_delta": 0.1955,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.263,
        "after": 0.275,
        "delta": 0.012,
        "percent_delta": 0.0456,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.667,
        "after": 1.0,
        "delta": 0.333,
        "percent_delta": 0.4993,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.86,
        "after": 1.0,
        "delta": 0.14,
        "percent_delta": 0.1628,
        "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.353,
        "after": 0.3786,
        "delta": 0.0256,
        "percent_delta": 0.0725,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.378,
        "after": 0.0,
        "delta": -0.378,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "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.432,
        "after": 0.431,
        "delta": -0.001,
        "percent_delta": -0.0023,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.558,
        "after": 3.0,
        "delta": 2.442,
        "percent_delta": 4.3763,
        "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_SO",
        "before": 0.558,
        "after": 3.0,
        "delta": 2.442,
        "percent_delta": 4.3763,
        "direction": "boost",
        "projection_effect": "worse",
        "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": "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.224-
predicted_3B0.026-
predicted_AB3.346-
predicted_AVG0.263-
predicted_BB0.667-
predicted_H0.860-
predicted_HR0.100-
predicted_OBP0.353-
predicted_R0.378-
predicted_RBI0.470-
predicted_SLG0.432-
predicted_SO0.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.3680.144
predicted_3B0.0420.016
predicted_AB6.4723.126
predicted_AVG0.2730.010
predicted_BB1.0810.414
predicted_H1.7940.934
predicted_HBP0.050-
predicted_HR0.1870.087
predicted_OBP0.3630.010
predicted_R0.6990.321
predicted_RBI0.9710.501
predicted_SLG0.4340.002
predicted_SO1.2840.726
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.3680.000
predicted_3B0.0420.000
predicted_AB6.4720.000
predicted_AVG0.2750.002
predicted_BB1.079-0.002
predicted_H1.780-0.014
predicted_HBP0.0500.000
predicted_HR0.186-0.001
predicted_OBP0.3790.016
predicted_R0.689-0.010
predicted_RBI0.956-0.014
predicted_SLG0.431-0.003
predicted_SO1.2860.002
4. ab_floor_and_scaling

AB rounded to 6 (raw=6.47), rates preserved: AVG=0.275 HR/AB=0.029

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB6.000-
BB1.000-
H2.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
5. bvp_blend

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB6.0000.000
BB1.0000.000
H2.0000.000
HR0.0000.000
RBI1.0000.000
SO1.0000.000
6. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB6.0000.000
BB1.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. 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.368
predicted_3B0.000-0.042
predicted_AB6.000-0.472
predicted_AVG0.3330.058
predicted_BB1.000-0.079
predicted_H2.0000.220
predicted_HR0.000-0.186
predicted_OBP0.4290.050
predicted_R1.0000.311
predicted_RBI1.0000.044
predicted_SLG0.333-0.098
predicted_SO1.000-0.286
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 156
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.203-18.0005.0000.0000.0001.0002.0001.0000.0007.0000.27780.27780.44440.27780.05560.11110.00000.3889
last_100.204-38.00014.0000.0000.0001.0002.0005.0000.00013.0000.36840.36840.44740.36840.02630.05260.00000.3421
season0.6044-522.000148.00035.0004.00012.00089.00059.000104.00087.0000.28350.39970.43490.28350.02300.17050.19920.1667
Weighted Prediction From Real Data
MetricValue
predicted_2B0.5540
predicted_3B0.0620
predicted_AB10.5020
predicted_AVG0.2854
predicted_BB1.6150
predicted_H2.9980
predicted_HBP0.0500
predicted_HR0.3000
predicted_OBP0.3759
predicted_R1.1130
predicted_RBI1.6160
predicted_SLG0.4357
predicted_SO2.2200
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.22400.55400.3682model_form_blend
predicted_3B0.02600.06200.0417model_form_blend
predicted_AB3.346010.50206.4722model_form_blend
predicted_AVG0.26300.28540.2728model_form_blend
predicted_BB0.66701.61501.0811model_form_blend
predicted_H0.86002.99801.7940model_form_blend
predicted_HBP-0.05000.0500form_only
predicted_HR0.10000.30000.1874model_form_blend
predicted_OBP0.35300.37590.3630model_form_blend
predicted_R0.37801.11300.6991model_form_blend
predicted_RBI0.47001.61600.9706model_form_blend
predicted_SLG0.43200.43570.4336model_form_blend
predicted_SO0.55802.22001.2841model_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 date156
Season rows before report date156
Report year2026
Profile rows used156
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
SO3
SF0
HBP0
season_avg0.284

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB5
Hitting_AVG0.2
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R1
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB4
Hitting_battingOrder5
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed1B
gameID20260520_PIT@STL
game_typefull
mlbID687462
playerID687462
playerNameSpencer Horwitz
pos1B
startedTrue
startingPosition1B
teamPIT
teamID22
game_date2026-05-20
sl_k_percent14.2
sl_bb_percent14.8
sl_woba0.363
sl_xwoba0.315
sl_xba0.231
sl_xslg0.336
sl_sweet_spot_percent29.4
sl_barrel_batted_rate2.8
sl_hard_hit_percent28.4
sl_exit_velocity_avg85.8
sl_launch_angle_avg15.1
sl_whiff_percent15.4
sl_swing_percent39.5
Oneil Cruz (665833) · BATTER · CF · Team PIT
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 213
All-history rows before 20260521: 213
System season_avg: 0.2690
Data season_avg (2026 season-to-date): 0.2695
Diff (system - data): -0.0005
System opponent_avg: 0.2880

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2070.0000.000Hitting_2B0.2070.000-0.2070.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.6705.00010.000Hitting_AB4.3384.0000.6621.000
predicted_AVG0.2320.2000.300Hitting_AVG0.2690.000-0.0690.200
predicted_BB0.3900.0001.000Hitting_BB0.3901.000-0.390-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0660.000-0.0660.000
predicted_H1.0801.0003.000Hitting_H1.1690.000-0.1691.000
predicted_HR0.1800.0000.000Hitting_HR0.2250.000-0.2250.000
predicted_OBP0.3280.2000.364Hitting_OBP0.3360.200-0.1360.000
predicted_R0.8220.0002.000Hitting_R0.8220.000-0.8220.000
predicted_RBI0.6100.0002.000Hitting_RBI0.7560.000-0.7560.000
predicted_SLG0.4130.2000.300Hitting_SLG0.4730.000-0.2730.200
predicted_SO1.6293.0004.000Hitting_SO1.6291.0001.3712.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics5
Deboosted Metrics6
Better Metrics4
Worse Metrics7
Biggest Boostpredicted_SO: 1.6290 -> 3.0000 (boost 1.3710, worse)
Biggest Deboostpredicted_R: 0.8220 -> 0.0000 (deboost -0.8220, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend11110101predicted_AB: 4.6700 -> 10.4784 (boost 5.8084, better)-Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot22020predicted_AVG: 0.2565 -> 0.2712 (boost 0.0147, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling83526predicted_RBI: 1.6784 -> 2.0000 (boost 0.3216, better)predicted_AB: 10.4784 -> 10.0000 (deboost -0.4784, worse)AB rounded to 10 (raw=10.48), rates preserved: AVG=0.271 HR/AB=0.042
5consistency_constraints11010predicted_R: 1.6697 -> 2.0000 (boost 0.3303, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context32121predicted_AVG: 0.2712 -> 0.3000 (boost 0.0288, better)predicted_SLG: 0.4374 -> 0.3000 (deboost -0.1374, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference60615-predicted_AB: 10.0000 -> 5.0000 (deboost -5.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final31212predicted_SLG: 0.3000 -> 0.4374 (boost 0.1374, better)predicted_AVG: 0.3000 -> 0.2712 (deboost -0.0288, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "665833",
  "player_name": "Oneil Cruz",
  "position": "CF",
  "team": "PIT",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.207,
        "predicted_3B": 0.0,
        "predicted_AB": 4.67,
        "predicted_AVG": 0.232,
        "predicted_BB": 0.39,
        "predicted_H": 1.08,
        "predicted_HR": 0.18,
        "predicted_OBP": 0.328,
        "predicted_R": 0.822,
        "predicted_RBI": 0.61,
        "predicted_SLG": 0.413,
        "predicted_SO": 1.629
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.43,
        "predicted_3B": 0.0009,
        "predicted_AB": 10.4784,
        "predicted_AVG": 0.2565,
        "predicted_BB": 1.0838,
        "predicted_H": 2.865,
        "predicted_HBP": 0.161,
        "predicted_HR": 0.4392,
        "predicted_OBP": 0.3425,
        "predicted_R": 1.6946,
        "predicted_RBI": 1.7034,
        "predicted_SLG": 0.4322,
        "predicted_SO": 3.9359
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.207,
          "after": 0.43,
          "delta": 0.223,
          "percent_delta": 1.0773,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.67,
          "after": 10.4784,
          "delta": 5.8084,
          "percent_delta": 1.2438,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.232,
          "after": 0.2565,
          "delta": 0.0245,
          "percent_delta": 0.1056,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.39,
          "after": 1.0838,
          "delta": 0.6938,
          "percent_delta": 1.779,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.08,
          "after": 2.865,
          "delta": 1.785,
          "percent_delta": 1.6528,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.18,
          "after": 0.4392,
          "delta": 0.2592,
          "percent_delta": 1.44,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.328,
          "after": 0.3425,
          "delta": 0.0145,
          "percent_delta": 0.0442,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.822,
          "after": 1.6946,
          "delta": 0.8726,
          "percent_delta": 1.0616,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.61,
          "after": 1.7034,
          "delta": 1.0934,
          "percent_delta": 1.7925,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.413,
          "after": 0.4322,
          "delta": 0.0192,
          "percent_delta": 0.0465,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.629,
          "after": 3.9359,
          "delta": 2.3069,
          "percent_delta": 1.4161,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 11,
        "boosted_metrics": 11,
        "deboosted_metrics": 0,
        "better_metrics": 10,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.67,
          "after": 10.4784,
          "delta": 5.8084,
          "percent_delta": 1.2438,
          "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": 2,
        "last_10": 3,
        "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.43,
        "predicted_3B": 0.0009,
        "predicted_AB": 10.4784,
        "predicted_AVG": 0.2712,
        "predicted_BB": 1.0818,
        "predicted_H": 2.8421,
        "predicted_HBP": 0.161,
        "predicted_HR": 0.4363,
        "predicted_OBP": 0.3394,
        "predicted_R": 1.6697,
        "predicted_RBI": 1.6784,
        "predicted_SLG": 0.4374,
        "predicted_SO": 3.943
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.43,
          "after": 0.43,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 10.4784,
          "after": 10.4784,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2565,
          "after": 0.2712,
          "delta": 0.0147,
          "percent_delta": 0.0573,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0838,
          "after": 1.0818,
          "delta": -0.002,
          "percent_delta": -0.0018,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.865,
          "after": 2.8421,
          "delta": -0.0229,
          "percent_delta": -0.008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.161,
          "after": 0.161,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.4392,
          "after": 0.4363,
          "delta": -0.0029,
          "percent_delta": -0.0066,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3425,
          "after": 0.3394,
          "delta": -0.0031,
          "percent_delta": -0.0091,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.6946,
          "after": 1.6697,
          "delta": -0.0249,
          "percent_delta": -0.0147,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.7034,
          "after": 1.6784,
          "delta": -0.025,
          "percent_delta": -0.0147,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4322,
          "after": 0.4374,
          "delta": 0.0052,
          "percent_delta": 0.012,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 3.9359,
          "after": 3.943,
          "delta": 0.0071,
          "percent_delta": 0.0018,
          "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.2565,
          "after": 0.2712,
          "delta": 0.0147,
          "percent_delta": 0.0573,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 10 (raw=10.48), rates preserved: AVG=0.271 HR/AB=0.042",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 10.0,
        "predicted_BB": 1.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SO": 4.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.43,
          "after": 0.0,
          "delta": -0.43,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 10.4784,
          "after": 10.0,
          "delta": -0.4784,
          "percent_delta": -0.0457,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0818,
          "after": 1.0,
          "delta": -0.0818,
          "percent_delta": -0.0756,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.8421,
          "after": 3.0,
          "delta": 0.1579,
          "percent_delta": 0.0556,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.161,
          "after": 0.0,
          "delta": -0.161,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.4363,
          "after": 0.0,
          "delta": -0.4363,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.6784,
          "after": 2.0,
          "delta": 0.3216,
          "percent_delta": 0.1916,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 3.943,
          "after": 4.0,
          "delta": 0.057,
          "percent_delta": 0.0145,
          "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": 1.6784,
          "after": 2.0,
          "delta": 0.3216,
          "percent_delta": 0.1916,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 10.4784,
          "after": 10.0,
          "delta": -0.4784,
          "percent_delta": -0.0457,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 10.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 2.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 4.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 10.0,
          "after": 10.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": 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_R",
          "before": 1.6697,
          "after": 2.0,
          "delta": 0.3303,
          "percent_delta": 0.1978,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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_SO",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 1.6697,
          "after": 2.0,
          "delta": 0.3303,
          "percent_delta": 0.1978,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 10.0,
        "predicted_AVG": 0.3,
        "predicted_BB": 1.0,
        "predicted_H": 3.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.364,
        "predicted_R": 2.0,
        "predicted_RBI": 2.0,
        "predicted_SLG": 0.3,
        "predicted_SO": 4.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 10.0,
          "after": 10.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2712,
          "after": 0.3,
          "delta": 0.0288,
          "percent_delta": 0.1062,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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_OBP",
          "before": 0.3394,
          "after": 0.364,
          "delta": 0.0246,
          "percent_delta": 0.0725,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 2.0,
          "after": 2.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_SLG",
          "before": 0.4374,
          "after": 0.3,
          "delta": -0.1374,
          "percent_delta": -0.3141,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.2712,
          "after": 0.3,
          "delta": 0.0288,
          "percent_delta": 0.1062,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4374,
          "after": 0.3,
          "delta": -0.1374,
          "percent_delta": -0.3141,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 10.0,
          "after": 5.0,
          "delta": -5.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 3.0,
          "after": 1.0,
          "delta": -2.0,
          "percent_delta": -0.6667,
          "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": 2.0,
          "after": 0.0,
          "delta": -2.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.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": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 0,
        "deboosted_metrics": 6,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 10.0,
          "after": 5.0,
          "delta": -5.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.2712,
        "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.3394,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4374,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3,
          "after": 0.2712,
          "delta": -0.0288,
          "percent_delta": -0.0959,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.364,
          "after": 0.3394,
          "delta": -0.0246,
          "percent_delta": -0.0675,
          "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.3,
          "after": 0.4374,
          "delta": 0.1374,
          "percent_delta": 0.4579,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.3,
          "after": 0.4374,
          "delta": 0.1374,
          "percent_delta": 0.4579,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.3,
          "after": 0.2712,
          "delta": -0.0288,
          "percent_delta": -0.0959,
          "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": 4.67,
        "after": 5.0,
        "delta": 0.33,
        "percent_delta": 0.0707,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.232,
        "after": 0.2712,
        "delta": 0.0392,
        "percent_delta": 0.169,
        "direction": "boost",
        "projection_effect": "better",
        "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": 1.08,
        "after": 1.0,
        "delta": -0.08,
        "percent_delta": -0.0741,
        "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.328,
        "after": 0.3394,
        "delta": 0.0114,
        "percent_delta": 0.0348,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.822,
        "after": 0.0,
        "delta": -0.822,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.61,
        "after": 0.0,
        "delta": -0.61,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.413,
        "after": 0.4374,
        "delta": 0.0244,
        "percent_delta": 0.0591,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.629,
        "after": 3.0,
        "delta": 1.371,
        "percent_delta": 0.8416,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 5,
      "deboosted_metrics": 6,
      "better_metrics": 4,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 1.629,
        "after": 3.0,
        "delta": 1.371,
        "percent_delta": 0.8416,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.822,
        "after": 0.0,
        "delta": -0.822,
        "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.207-
predicted_3B0.000-
predicted_AB4.670-
predicted_AVG0.232-
predicted_BB0.390-
predicted_H1.080-
predicted_HR0.180-
predicted_OBP0.328-
predicted_R0.822-
predicted_RBI0.610-
predicted_SLG0.413-
predicted_SO1.629-
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.4300.223
predicted_3B0.0010.001
predicted_AB10.4785.808
predicted_AVG0.2570.024
predicted_BB1.0840.694
predicted_H2.8651.785
predicted_HBP0.161-
predicted_HR0.4390.259
predicted_OBP0.3430.015
predicted_R1.6950.873
predicted_RBI1.7031.093
predicted_SLG0.4320.019
predicted_SO3.9362.307
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.4300.000
predicted_3B0.0010.000
predicted_AB10.4780.000
predicted_AVG0.2710.015
predicted_BB1.082-0.002
predicted_H2.842-0.023
predicted_HBP0.1610.000
predicted_HR0.436-0.003
predicted_OBP0.339-0.003
predicted_R1.670-0.025
predicted_RBI1.678-0.025
predicted_SLG0.4370.005
predicted_SO3.9430.007
4. ab_floor_and_scaling

AB rounded to 10 (raw=10.48), rates preserved: AVG=0.271 HR/AB=0.042

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB10.000-
BB1.000-
H3.000-
HBP0.000-
HR0.000-
RBI2.000-
SB0.000-
SO4.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB10.0000.000
BB1.0000.000
CS0.000-
H3.0000.000
HBP0.0000.000
HR0.0000.000
R2.000-
RBI2.0000.000
SB0.0000.000
SF0.000-
SO4.0000.000
6. 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.430
predicted_3B0.000-0.001
predicted_AB10.000-0.478
predicted_AVG0.3000.029
predicted_BB1.000-0.082
predicted_H3.0000.158
predicted_HR0.000-0.436
predicted_OBP0.3640.025
predicted_R2.0000.330
predicted_RBI2.0000.322
predicted_SLG0.300-0.137
predicted_SO4.0000.057
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 213
Reference playing time: 4.670
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-20.0008.0000.0000.0000.0004.0000.0005.0009.0000.40000.52000.40000.40000.00000.20000.25000.4500
last_100.203-40.00014.0000.0000.0000.0005.0000.0006.00019.0000.35000.43480.35000.35000.00000.12500.15000.4750
season0.6047-924.000249.00044.0000.00048.000161.000175.00083.000347.0000.26950.33630.47290.26950.05200.17420.08980.3755
Weighted Prediction From Real Data
MetricValue
predicted_2B0.7120
predicted_3B0.0020
predicted_AB17.8230
predicted_AVG0.2874
predicted_BB1.9610
predicted_H5.1220
predicted_HBP0.1610
predicted_HR0.7670
predicted_OBP0.3608
predicted_R2.7980
predicted_RBI3.0860
predicted_SLG0.4565
predicted_SO6.8530
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.20700.71200.4300model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB4.670017.823010.4784model_form_blend
predicted_AVG0.23200.28740.2565model_form_blend
predicted_BB0.39001.96101.0838model_form_blend
predicted_H1.08005.12202.8650model_form_blend
predicted_HBP-0.16100.1610form_only
predicted_HR0.18000.76700.4392model_form_blend
predicted_OBP0.32800.36080.3425model_form_blend
predicted_R0.82202.79801.6946model_form_blend
predicted_RBI0.61003.08601.7034model_form_blend
predicted_SLG0.41300.45650.4322model_form_blend
predicted_SO1.62906.85303.9359model_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 date213
Season rows before report date213
Report year2026
Profile rows used213
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
SO3
SF0
HBP0
season_avg0.269

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.0
Hitting_BB1
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder4
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedDH
gameID20260520_PIT@STL
game_typefull
mlbID665833
playerID665833
playerNameOneil Cruz
posCF
startedTrue
startingPositionDH
teamPIT
teamID22
game_date2026-05-20
sl_k_percent34.9
sl_bb_percent8.0
sl_woba0.349
sl_xwoba0.343
sl_xba0.251
sl_xslg0.484
sl_sweet_spot_percent31.9
sl_barrel_batted_rate17.8
sl_hard_hit_percent61.3
sl_exit_velocity_avg96.0
sl_launch_angle_avg6.5
sl_whiff_percent36.6
sl_swing_percent44.9
Konnor Griffin (804606) · BATTER · SS · Team PIT
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 172
All-history rows before 20260521: 172
System season_avg: 0.2720
Data season_avg (2026 season-to-date): 0.2718
Diff (system - data): 0.0002
System opponent_avg: 0.2810

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1640.0000.000Hitting_2B0.1630.000-0.1630.000
predicted_3B0.0640.0000.000Hitting_3B0.0640.000-0.0640.000
predicted_AB3.8953.0008.000Hitting_AB3.8725.000-0.872-2.000
predicted_AVG0.2590.0000.250Hitting_AVG0.2720.800-0.272-0.800
predicted_BB0.2810.0000.000Hitting_BB0.2790.000-0.2790.000
predicted_CS-0.0000.000BaseRunning_CS0.0170.000-0.0170.000
predicted_H0.9700.0002.000Hitting_H1.0524.000-1.052-4.000
predicted_HR0.0900.0000.000Hitting_HR0.0810.000-0.0810.000
predicted_OBP0.3400.4000.250Hitting_OBP0.3300.8000.070-0.400
predicted_R0.5381.0001.000Hitting_R0.5353.0000.465-2.000
predicted_RBI0.4001.0001.000Hitting_RBI0.5470.0000.4531.000
predicted_SLG0.4090.0000.250Hitting_SLG0.4100.800-0.410-0.800
predicted_SO1.1581.0002.000Hitting_SO1.1510.000-0.1511.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics12
Boosted Metrics3
Deboosted Metrics9
Better Metrics4
Worse Metrics8
Biggest Boostpredicted_RBI: 0.4000 -> 1.0000 (boost 0.6000, 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_blend11110101predicted_AB: 3.8950 -> 8.4142 (boost 4.5192, 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_snapshot31212predicted_AVG: 0.2734 -> 0.2784 (boost 0.0050, better)predicted_OBP: 0.3468 -> 0.3201 (deboost -0.0267, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling91827predicted_RBI: 0.9100 -> 1.0000 (boost 0.0900, better)predicted_HBP: 0.6780 -> 0.0000 (deboost -0.6780, worse)AB rounded to 8 (raw=8.41), rates preserved: AVG=0.278 HR/AB=0.019
5consistency_constraints10101-predicted_R: 1.3091 -> 1.0000 (deboost -0.3091, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context30303-predicted_SLG: 0.3996 -> 0.2500 (deboost -0.1496, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference41322predicted_HBP: 0.0000 -> 2.0000 (boost 2.0000, better)predicted_AB: 8.0000 -> 3.0000 (deboost -5.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final33030predicted_SLG: 0.2500 -> 0.3996 (boost 0.1496, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "804606",
  "player_name": "Konnor Griffin",
  "position": "SS",
  "team": "PIT",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.164,
        "predicted_3B": 0.064,
        "predicted_AB": 3.895,
        "predicted_AVG": 0.259,
        "predicted_BB": 0.281,
        "predicted_H": 0.97,
        "predicted_HR": 0.09,
        "predicted_OBP": 0.34,
        "predicted_R": 0.538,
        "predicted_RBI": 0.4,
        "predicted_SLG": 0.409,
        "predicted_SO": 1.158
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.3192,
        "predicted_3B": 0.1149,
        "predicted_AB": 8.4142,
        "predicted_AVG": 0.2734,
        "predicted_BB": 0.5174,
        "predicted_H": 2.3614,
        "predicted_HBP": 0.678,
        "predicted_HR": 0.158,
        "predicted_OBP": 0.3468,
        "predicted_R": 1.3286,
        "predicted_RBI": 0.9236,
        "predicted_SLG": 0.4074,
        "predicted_SO": 2.5305
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.164,
          "after": 0.3192,
          "delta": 0.1552,
          "percent_delta": 0.9463,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.064,
          "after": 0.1149,
          "delta": 0.0509,
          "percent_delta": 0.7953,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.895,
          "after": 8.4142,
          "delta": 4.5192,
          "percent_delta": 1.1603,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.259,
          "after": 0.2734,
          "delta": 0.0144,
          "percent_delta": 0.0556,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.281,
          "after": 0.5174,
          "delta": 0.2364,
          "percent_delta": 0.8413,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.97,
          "after": 2.3614,
          "delta": 1.3914,
          "percent_delta": 1.4344,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.09,
          "after": 0.158,
          "delta": 0.068,
          "percent_delta": 0.7556,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.34,
          "after": 0.3468,
          "delta": 0.0068,
          "percent_delta": 0.02,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.538,
          "after": 1.3286,
          "delta": 0.7906,
          "percent_delta": 1.4695,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4,
          "after": 0.9236,
          "delta": 0.5236,
          "percent_delta": 1.309,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.409,
          "after": 0.4074,
          "delta": -0.0016,
          "percent_delta": -0.0039,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.158,
          "after": 2.5305,
          "delta": 1.3725,
          "percent_delta": 1.1852,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 11,
        "boosted_metrics": 11,
        "deboosted_metrics": 0,
        "better_metrics": 10,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.895,
          "after": 8.4142,
          "delta": 4.5192,
          "percent_delta": 1.1603,
          "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": 2,
        "last_10": 4,
        "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.3192,
        "predicted_3B": 0.1149,
        "predicted_AB": 8.4142,
        "predicted_AVG": 0.2784,
        "predicted_BB": 0.5165,
        "predicted_H": 2.3425,
        "predicted_HBP": 0.678,
        "predicted_HR": 0.157,
        "predicted_OBP": 0.3201,
        "predicted_R": 1.3091,
        "predicted_RBI": 0.91,
        "predicted_SLG": 0.3996,
        "predicted_SO": 2.5351
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.3192,
          "after": 0.3192,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.1149,
          "after": 0.1149,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.4142,
          "after": 8.4142,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2734,
          "after": 0.2784,
          "delta": 0.005,
          "percent_delta": 0.0183,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5174,
          "after": 0.5165,
          "delta": -0.0009,
          "percent_delta": -0.0017,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.3614,
          "after": 2.3425,
          "delta": -0.0189,
          "percent_delta": -0.008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.678,
          "after": 0.678,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.158,
          "after": 0.157,
          "delta": -0.001,
          "percent_delta": -0.0063,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3468,
          "after": 0.3201,
          "delta": -0.0267,
          "percent_delta": -0.077,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.3286,
          "after": 1.3091,
          "delta": -0.0195,
          "percent_delta": -0.0147,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.9236,
          "after": 0.91,
          "delta": -0.0136,
          "percent_delta": -0.0147,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4074,
          "after": 0.3996,
          "delta": -0.0078,
          "percent_delta": -0.0191,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.5305,
          "after": 2.5351,
          "delta": 0.0046,
          "percent_delta": 0.0018,
          "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.2734,
          "after": 0.2784,
          "delta": 0.005,
          "percent_delta": 0.0183,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3468,
          "after": 0.3201,
          "delta": -0.0267,
          "percent_delta": -0.077,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 8 (raw=8.41), rates preserved: AVG=0.278 HR/AB=0.019",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.3192,
          "after": 0.0,
          "delta": -0.3192,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.1149,
          "after": 0.0,
          "delta": -0.1149,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 8.4142,
          "after": 8.0,
          "delta": -0.4142,
          "percent_delta": -0.0492,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5165,
          "after": 0.0,
          "delta": -0.5165,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.3425,
          "after": 2.0,
          "delta": -0.3425,
          "percent_delta": -0.1462,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.678,
          "after": 0.0,
          "delta": -0.678,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.157,
          "after": 0.0,
          "delta": -0.157,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.91,
          "after": 1.0,
          "delta": 0.09,
          "percent_delta": 0.0989,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.5351,
          "after": 2.0,
          "delta": -0.5351,
          "percent_delta": -0.2111,
          "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_RBI",
          "before": 0.91,
          "after": 1.0,
          "delta": 0.09,
          "percent_delta": 0.0989,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HBP",
          "before": 0.678,
          "after": 0.0,
          "delta": -0.678,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.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": 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": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.3091,
          "after": 1.0,
          "delta": -0.3091,
          "percent_delta": -0.2361,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.3091,
          "after": 1.0,
          "delta": -0.3091,
          "percent_delta": -0.2361,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 0.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.25,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.25,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2784,
          "after": 0.25,
          "delta": -0.0284,
          "percent_delta": -0.102,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3201,
          "after": 0.25,
          "delta": -0.0701,
          "percent_delta": -0.219,
          "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.3996,
          "after": 0.25,
          "delta": -0.1496,
          "percent_delta": -0.3744,
          "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.3996,
          "after": 0.25,
          "delta": -0.1496,
          "percent_delta": -0.3744,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 2.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": 8.0,
          "after": 3.0,
          "delta": -5.0,
          "percent_delta": -0.625,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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": 0.0,
          "delta": -2.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": 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": 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": 1,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 2,
        "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": 8.0,
          "after": 3.0,
          "delta": -5.0,
          "percent_delta": -0.625,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2784,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3201,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3996,
        "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.25,
          "after": 0.2784,
          "delta": 0.0284,
          "percent_delta": 0.1136,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.25,
          "after": 0.3201,
          "delta": 0.0701,
          "percent_delta": 0.2805,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.3996,
          "delta": 0.1496,
          "percent_delta": 0.5985,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.3996,
          "delta": 0.1496,
          "percent_delta": 0.5985,
          "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.064,
        "after": 0.0,
        "delta": -0.064,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.895,
        "after": 3.0,
        "delta": -0.895,
        "percent_delta": -0.2298,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.259,
        "after": 0.2784,
        "delta": 0.0194,
        "percent_delta": 0.0749,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.281,
        "after": 0.0,
        "delta": -0.281,
        "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.09,
        "after": 0.0,
        "delta": -0.09,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.34,
        "after": 0.3201,
        "delta": -0.0199,
        "percent_delta": -0.0585,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.538,
        "after": 1.0,
        "delta": 0.462,
        "percent_delta": 0.8587,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.4,
        "after": 1.0,
        "delta": 0.6,
        "percent_delta": 1.5,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.409,
        "after": 0.3996,
        "delta": -0.0094,
        "percent_delta": -0.023,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.158,
        "after": 1.0,
        "delta": -0.158,
        "percent_delta": -0.1364,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 12,
      "boosted_metrics": 3,
      "deboosted_metrics": 9,
      "better_metrics": 4,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.4,
        "after": 1.0,
        "delta": 0.6,
        "percent_delta": 1.5,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_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.164-
predicted_3B0.064-
predicted_AB3.895-
predicted_AVG0.259-
predicted_BB0.281-
predicted_H0.970-
predicted_HR0.090-
predicted_OBP0.340-
predicted_R0.538-
predicted_RBI0.400-
predicted_SLG0.409-
predicted_SO1.158-
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.3190.155
predicted_3B0.1150.051
predicted_AB8.4144.519
predicted_AVG0.2730.014
predicted_BB0.5170.236
predicted_H2.3611.391
predicted_HBP0.678-
predicted_HR0.1580.068
predicted_OBP0.3470.007
predicted_R1.3290.791
predicted_RBI0.9240.524
predicted_SLG0.407-0.002
predicted_SO2.5301.373
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.3190.000
predicted_3B0.1150.000
predicted_AB8.4140.000
predicted_AVG0.2780.005
predicted_BB0.516-0.001
predicted_H2.342-0.019
predicted_HBP0.6780.000
predicted_HR0.157-0.001
predicted_OBP0.320-0.027
predicted_R1.309-0.020
predicted_RBI0.910-0.014
predicted_SLG0.400-0.008
predicted_SO2.5350.005
4. ab_floor_and_scaling

AB rounded to 8 (raw=8.41), rates preserved: AVG=0.278 HR/AB=0.019

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB8.000-
BB0.000-
H2.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO2.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB8.0000.000
BB0.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
6. 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.319
predicted_3B0.000-0.115
predicted_AB8.000-0.414
predicted_AVG0.250-0.028
predicted_BB0.000-0.516
predicted_H2.000-0.342
predicted_HR0.000-0.157
predicted_OBP0.250-0.070
predicted_R1.000-0.309
predicted_RBI1.0000.090
predicted_SLG0.250-0.150
predicted_SO2.000-0.535
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-5.000
BB0.0000.000
CS0.0000.000
H0.000-2.000
HBP2.0002.000
HR0.0000.000
PA5.000-
R1.0000.000
RBI1.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: 171
Reference playing time: 3.895
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-21.0008.0000.0000.0000.0000.0007.0000.0008.0000.38100.48000.38100.38100.00000.00000.00000.3810
last_100.204-38.00014.0001.0000.0000.0000.0008.0000.00011.0000.36840.44190.39470.36840.00000.00000.00000.2895
season0.6042-666.000181.00028.00011.00014.00094.00092.00048.000198.0000.27180.32970.40990.27180.02100.14110.07210.2973
Weighted Prediction From Real Data
MetricValue
predicted_2B0.5180
predicted_3B0.1800
predicted_AB14.2010
predicted_AVG0.2918
predicted_BB0.8200
predicted_H4.1430
predicted_HBP0.6780
predicted_HR0.2450
predicted_OBP0.3556
predicted_R2.3410
predicted_RBI1.5940
predicted_SLG0.4054
predicted_SO4.2880
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16400.51800.3192model_form_blend
predicted_3B0.06400.18000.1149model_form_blend
predicted_AB3.895014.20108.4142model_form_blend
predicted_AVG0.25900.29180.2734model_form_blend
predicted_BB0.28100.82000.5174model_form_blend
predicted_H0.97004.14302.3614model_form_blend
predicted_HBP-0.67800.6780form_only
predicted_HR0.09000.24500.1580model_form_blend
predicted_OBP0.34000.35560.3468model_form_blend
predicted_R0.53802.34101.3286model_form_blend
predicted_RBI0.40001.59400.9236model_form_blend
predicted_SLG0.40900.40540.4074model_form_blend
predicted_SO1.15804.28802.5305model_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 date172
Season rows before report date172
Report year2026
Profile rows used171
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
R1
RBI1
BB0
SO1
SF0
HBP2
season_avg0.272

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.8
Hitting_BB0
Hitting_GIDP0
Hitting_H4
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R3
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB4
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
gameID20260520_PIT@STL
game_typefull
mlbID804606
playerID804606
playerNameKonnor Griffin
posSS
startedTrue
startingPositionSS
teamPIT
teamID22
game_date2026-05-20
sl_k_percent27.8
sl_bb_percent6.5
sl_woba0.317
sl_xwoba0.313
sl_xba0.244
sl_xslg0.404
sl_sweet_spot_percent33.3
sl_barrel_batted_rate8.4
sl_hard_hit_percent33.3
sl_exit_velocity_avg87.9
sl_launch_angle_avg6.3
sl_whiff_percent34.1
sl_swing_percent49.6
Marcell Ozuna (542303) · BATTER · DH · Team PIT
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 172
All-history rows before 20260521: 172
System season_avg: 0.1840
Data season_avg (2026 season-to-date): 0.1839
Diff (system - data): 0.0001
System opponent_avg: 0.4550

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1230.0000.000Hitting_2B0.1220.000-0.1220.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.0065.0009.000Hitting_AB3.9833.0001.0172.000
predicted_AVG0.2070.2000.222Hitting_AVG0.1840.0000.0160.200
predicted_BB0.4970.0001.000Hitting_BB0.5002.000-0.500-2.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.7701.0002.000Hitting_H0.7330.0000.2671.000
predicted_HR0.1301.0000.000Hitting_HR0.1450.0000.8551.000
predicted_OBP0.2930.2000.300Hitting_OBP0.2840.400-0.084-0.200
predicted_R0.4151.0001.000Hitting_R0.4130.0000.5871.000
predicted_RBI0.4002.0001.000Hitting_RBI0.4710.0001.5292.000
predicted_SLG0.3500.8000.222Hitting_SLG0.3240.0000.4760.800
predicted_SO1.2753.0003.000Hitting_SO1.2672.0001.7331.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics6
Deboosted Metrics5
Better Metrics5
Worse Metrics6
Biggest Boostpredicted_SO: 1.2750 -> 3.0000 (boost 1.7250, worse)
Biggest Deboostpredicted_BB: 0.4970 -> 0.0000 (deboost -0.4970, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend108273predicted_AB: 4.0060 -> 9.4004 (boost 5.3944, better)predicted_SLG: 0.3500 -> 0.3225 (deboost -0.0275, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot30303-predicted_SLG: 0.3225 -> 0.2932 (deboost -0.0293, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling70716-predicted_H: 1.5633 -> 1.0000 (deboost -0.5633, worse)AB rounded to 9 (raw=9.40), rates preserved: AVG=0.166 HR/AB=0.033
5bvp_blend11010predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better)-Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.455)
6consistency_constraints11010predicted_R: 0.8706 -> 1.0000 (boost 0.1294, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context32121predicted_AVG: 0.1663 -> 0.2220 (boost 0.0557, better)predicted_SLG: 0.2932 -> 0.2220 (deboost -0.0712, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference52323predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 9.0000 -> 5.0000 (deboost -4.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final31212predicted_SLG: 0.2220 -> 0.2932 (boost 0.0712, better)predicted_AVG: 0.2220 -> 0.1663 (deboost -0.0557, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "542303",
  "player_name": "Marcell Ozuna",
  "position": "DH",
  "team": "PIT",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.123,
        "predicted_3B": 0.0,
        "predicted_AB": 4.006,
        "predicted_AVG": 0.207,
        "predicted_BB": 0.497,
        "predicted_H": 0.77,
        "predicted_HR": 0.13,
        "predicted_OBP": 0.293,
        "predicted_R": 0.415,
        "predicted_RBI": 0.4,
        "predicted_SLG": 0.35,
        "predicted_SO": 1.275
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2578,
        "predicted_3B": 0.0009,
        "predicted_AB": 9.4004,
        "predicted_AVG": 0.1863,
        "predicted_BB": 1.5075,
        "predicted_H": 1.5759,
        "predicted_HBP": 0.196,
        "predicted_HR": 0.3131,
        "predicted_OBP": 0.2909,
        "predicted_R": 0.8836,
        "predicted_RBI": 0.9819,
        "predicted_SLG": 0.3225,
        "predicted_SO": 3.4683
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.123,
          "after": 0.2578,
          "delta": 0.1348,
          "percent_delta": 1.0959,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.006,
          "after": 9.4004,
          "delta": 5.3944,
          "percent_delta": 1.3466,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.207,
          "after": 0.1863,
          "delta": -0.0207,
          "percent_delta": -0.1,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.497,
          "after": 1.5075,
          "delta": 1.0105,
          "percent_delta": 2.0332,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.77,
          "after": 1.5759,
          "delta": 0.8059,
          "percent_delta": 1.0466,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.13,
          "after": 0.3131,
          "delta": 0.1831,
          "percent_delta": 1.4085,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.293,
          "after": 0.2909,
          "delta": -0.0021,
          "percent_delta": -0.0072,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.415,
          "after": 0.8836,
          "delta": 0.4686,
          "percent_delta": 1.1292,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4,
          "after": 0.9819,
          "delta": 0.5819,
          "percent_delta": 1.4547,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.35,
          "after": 0.3225,
          "delta": -0.0275,
          "percent_delta": -0.0786,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.275,
          "after": 3.4683,
          "delta": 2.1933,
          "percent_delta": 1.7202,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 10,
        "boosted_metrics": 8,
        "deboosted_metrics": 2,
        "better_metrics": 7,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.006,
          "after": 9.4004,
          "delta": 5.3944,
          "percent_delta": 1.3466,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.35,
          "after": 0.3225,
          "delta": -0.0275,
          "percent_delta": -0.0786,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 1,
        "last_10": 3,
        "season": 39
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2578,
        "predicted_3B": 0.0009,
        "predicted_AB": 9.4004,
        "predicted_AVG": 0.1663,
        "predicted_BB": 1.5048,
        "predicted_H": 1.5633,
        "predicted_HBP": 0.196,
        "predicted_HR": 0.3111,
        "predicted_OBP": 0.2813,
        "predicted_R": 0.8706,
        "predicted_RBI": 0.9675,
        "predicted_SLG": 0.2932,
        "predicted_SO": 3.4745
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2578,
          "after": 0.2578,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.4004,
          "after": 9.4004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1863,
          "after": 0.1663,
          "delta": -0.02,
          "percent_delta": -0.1074,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.5075,
          "after": 1.5048,
          "delta": -0.0027,
          "percent_delta": -0.0018,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.5759,
          "after": 1.5633,
          "delta": -0.0126,
          "percent_delta": -0.008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.196,
          "after": 0.196,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.3131,
          "after": 0.3111,
          "delta": -0.002,
          "percent_delta": -0.0064,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2909,
          "after": 0.2813,
          "delta": -0.0096,
          "percent_delta": -0.033,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.8836,
          "after": 0.8706,
          "delta": -0.013,
          "percent_delta": -0.0147,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.9819,
          "after": 0.9675,
          "delta": -0.0144,
          "percent_delta": -0.0147,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3225,
          "after": 0.2932,
          "delta": -0.0293,
          "percent_delta": -0.0909,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 3.4683,
          "after": 3.4745,
          "delta": 0.0062,
          "percent_delta": 0.0018,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.3225,
          "after": 0.2932,
          "delta": -0.0293,
          "percent_delta": -0.0909,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 9 (raw=9.40), rates preserved: AVG=0.166 HR/AB=0.033",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.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": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2578,
          "after": 0.0,
          "delta": -0.2578,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.4004,
          "after": 9.0,
          "delta": -0.4004,
          "percent_delta": -0.0426,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.5048,
          "after": 1.0,
          "delta": -0.5048,
          "percent_delta": -0.3355,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.5633,
          "after": 1.0,
          "delta": -0.5633,
          "percent_delta": -0.3603,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.196,
          "after": 0.0,
          "delta": -0.196,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.3111,
          "after": 0.0,
          "delta": -0.3111,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.9675,
          "after": 1.0,
          "delta": 0.0325,
          "percent_delta": 0.0336,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 3.4745,
          "after": 3.0,
          "delta": -0.4745,
          "percent_delta": -0.1366,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 0,
        "deboosted_metrics": 7,
        "better_metrics": 1,
        "worse_metrics": 6,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.5633,
          "after": 1.0,
          "delta": -0.5633,
          "percent_delta": -0.3603,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.455)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.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": 9.0,
          "after": 9.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": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "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": {
        "model_expectation": 0.8927,
        "bvp": 0.1073
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.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": 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": 9.0,
          "after": 9.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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.8706,
          "after": 1.0,
          "delta": 0.1294,
          "percent_delta": 0.1486,
          "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": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.8706,
          "after": 1.0,
          "delta": 0.1294,
          "percent_delta": 0.1486,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_AVG": 0.222,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.222,
        "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": 9.0,
          "after": 9.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1663,
          "after": 0.222,
          "delta": 0.0557,
          "percent_delta": 0.3349,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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.2813,
          "after": 0.3,
          "delta": 0.0187,
          "percent_delta": 0.0665,
          "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.2932,
          "after": 0.222,
          "delta": -0.0712,
          "percent_delta": -0.2428,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.1663,
          "after": 0.222,
          "delta": 0.0557,
          "percent_delta": 0.3349,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.2932,
          "after": 0.222,
          "delta": -0.0712,
          "percent_delta": -0.2428,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 2.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": 9.0,
          "after": 5.0,
          "delta": -4.0,
          "percent_delta": -0.4444,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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": 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": 3.0,
          "after": 3.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_HR",
          "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": 9.0,
          "after": 5.0,
          "delta": -4.0,
          "percent_delta": -0.4444,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.1663,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_DH": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.2813,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2932,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.222,
          "after": 0.1663,
          "delta": -0.0557,
          "percent_delta": -0.2509,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "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.2813,
          "delta": -0.0187,
          "percent_delta": -0.0622,
          "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.222,
          "after": 0.2932,
          "delta": 0.0712,
          "percent_delta": 0.3207,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.222,
          "after": 0.2932,
          "delta": 0.0712,
          "percent_delta": 0.3207,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.222,
          "after": 0.1663,
          "delta": -0.0557,
          "percent_delta": -0.2509,
          "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.123,
        "after": 0.0,
        "delta": -0.123,
        "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.006,
        "after": 5.0,
        "delta": 0.994,
        "percent_delta": 0.2481,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.207,
        "after": 0.1663,
        "delta": -0.0407,
        "percent_delta": -0.1966,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.497,
        "after": 0.0,
        "delta": -0.497,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.77,
        "after": 1.0,
        "delta": 0.23,
        "percent_delta": 0.2987,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.13,
        "after": 1.0,
        "delta": 0.87,
        "percent_delta": 6.6923,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.293,
        "after": 0.2813,
        "delta": -0.0117,
        "percent_delta": -0.0399,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.415,
        "after": 1.0,
        "delta": 0.585,
        "percent_delta": 1.4096,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.4,
        "after": 2.0,
        "delta": 1.6,
        "percent_delta": 4.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.35,
        "after": 0.2932,
        "delta": -0.0568,
        "percent_delta": -0.1623,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.275,
        "after": 3.0,
        "delta": 1.725,
        "percent_delta": 1.3529,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 6,
      "deboosted_metrics": 5,
      "better_metrics": 5,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 1.275,
        "after": 3.0,
        "delta": 1.725,
        "percent_delta": 1.3529,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.497,
        "after": 0.0,
        "delta": -0.497,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "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.000-
predicted_AB4.006-
predicted_AVG0.207-
predicted_BB0.497-
predicted_H0.770-
predicted_HR0.130-
predicted_OBP0.293-
predicted_R0.415-
predicted_RBI0.400-
predicted_SLG0.350-
predicted_SO1.275-
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.2580.135
predicted_3B0.0010.001
predicted_AB9.4005.394
predicted_AVG0.186-0.021
predicted_BB1.5081.010
predicted_H1.5760.806
predicted_HBP0.196-
predicted_HR0.3130.183
predicted_OBP0.291-0.002
predicted_R0.8840.469
predicted_RBI0.9820.582
predicted_SLG0.323-0.027
predicted_SO3.4682.193
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.2580.000
predicted_3B0.0010.000
predicted_AB9.4000.000
predicted_AVG0.166-0.020
predicted_BB1.505-0.003
predicted_H1.563-0.013
predicted_HBP0.1960.000
predicted_HR0.311-0.002
predicted_OBP0.281-0.010
predicted_R0.871-0.013
predicted_RBI0.968-0.014
predicted_SLG0.293-0.029
predicted_SO3.4740.006
4. ab_floor_and_scaling

AB rounded to 9 (raw=9.40), rates preserved: AVG=0.166 HR/AB=0.033

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB9.000-
BB1.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO3.000-
5. bvp_blend

Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.455)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB9.0000.000
BB1.0000.000
H2.0001.000
HR0.0000.000
RBI1.0000.000
SO3.0000.000
6. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB9.0000.000
BB1.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO3.0000.000
7. 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.258
predicted_3B0.000-0.001
predicted_AB9.000-0.400
predicted_AVG0.2220.056
predicted_BB1.000-0.505
predicted_H2.0000.437
predicted_HR0.000-0.311
predicted_OBP0.3000.019
predicted_R1.0000.129
predicted_RBI1.0000.032
predicted_SLG0.222-0.071
predicted_SO3.000-0.474
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.000-4.000
BB0.000-1.000
CS0.0000.000
H1.000-1.000
HBP0.0000.000
HR1.0001.000
PA5.000-
R1.0000.000
RBI2.0001.000
SB0.0000.000
SF0.0000.000
SO3.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 171
Reference playing time: 4.006
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.201-15.0000.0000.0000.0000.0000.0000.00010.00010.0000.00000.40000.00000.00000.00000.00000.66670.6667
last_100.203-35.0001.0000.0000.0001.0002.0001.00011.00028.0000.02860.26090.11430.02860.02860.05710.31430.8000
season0.6039-685.000126.00021.0000.00025.00081.00071.00085.000218.0000.18390.28330.32410.18390.03650.11820.12410.3182
Weighted Prediction From Real Data
MetricValue
predicted_2B0.4300
predicted_3B0.0020
predicted_AB16.2890
predicted_AVG0.1599
predicted_BB2.7980
predicted_H2.6050
predicted_HBP0.1960
predicted_HR0.5470
predicted_OBP0.2883
predicted_R1.4820
predicted_RBI1.7250
predicted_SLG0.2874
predicted_SO6.2690
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.12300.43000.2578model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB4.006016.28909.4004model_form_blend
predicted_AVG0.20700.15990.1863model_form_blend
predicted_BB0.49702.79801.5075model_form_blend
predicted_H0.77002.60501.5759model_form_blend
predicted_HBP-0.19600.1960form_only
predicted_HR0.13000.54700.3131model_form_blend
predicted_OBP0.29300.28830.2909model_form_blend
predicted_R0.41501.48200.8836model_form_blend
predicted_RBI0.40001.72500.9819model_form_blend
predicted_SLG0.35000.28740.3225model_form_blend
predicted_SO1.27506.26903.4683model_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 date172
Season rows before report date172
Report year2026
Profile rows used171
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
SO3
SF0
HBP0
season_avg0.184

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_BB2
Hitting_GIDP1
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO2
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
allPositionsPlayedDH
gameID20260519_PIT@STL
game_typefull
mlbID542303
playerID542303
playerNameMarcell Ozuna
posDH
startedTrue
startingPositionDH
teamPIT
teamID22
game_date2026-05-19
game_pk823059.0
sl_k_percent28.1
sl_bb_percent10.5
sl_woba0.266
sl_xwoba0.317
sl_xba0.219
sl_xslg0.412
sl_sweet_spot_percent38.8
sl_barrel_batted_rate8.9
sl_hard_hit_percent38.8
sl_exit_velocity_avg89.1
sl_launch_angle_avg25.1
sl_whiff_percent29.7
sl_swing_percent40.7
at_bat_number73.0
ab_pitcher676617.0
ab_pitcher_nameO'Brien, Riley
ab_home_teamSTL
ab_away_teamPIT
ab_game_typeR
ab_standR
ab_p_throwsR
ab_inning9.0
ab_inning_topbotTop
ab_outs_when_up0.0
ab_on_1b_start668804.0
ab_on_2b_start804606.0
ab_on_3b_start693304.0
ab_balls_start0.0
ab_strikes_start0.0
ab_home_score_start6.0
ab_away_score_start4.0
ab_bat_score_start4.0
ab_fld_score_start6.0
ab_eventgrounded_into_double_play
ab_event_descriptionMarcell Ozuna grounds into a double play, shortstop Thomas Saggese to second baseman JJ Wetherholt to first baseman Alec Burleson. Nick Gonzales scores. Konnor Griffin to 3rd. Bryan Reynolds out at 2nd. Marcell Ozuna out at 1st.
ab_event_typeX
ab_bb_typeground_ball
ab_hit_location6.0
ab_pitch_type_lastSI
ab_pitch_name_lastSinker
ab_zone_last4.0
ab_launch_speed_last71.5
ab_launch_angle_last-19.0
ab_hit_distance_last7.0
ab_estimated_ba_last0.047
ab_estimated_woba_last0.045
ab_estimated_slg_last0.052
ab_woba_value0.0
ab_woba_denom1.0
ab_babip_value0.0
ab_iso_value0.0
ab_balls_end0.0
ab_strikes_end1.0
ab_home_score_end6.0
ab_away_score_end5.0
ab_bat_score_end5.0
ab_fld_score_end6.0
ab_pitch_count2.0
ab_release_speed_avg99.35
ab_release_spin_rate_avg2209.5
ab_effective_speed_avg100.0
ab_launch_speed_avg71.5
ab_launch_angle_avg-19.0
ab_delta_run_exp_avg-0.133
ab_delta_home_win_exp_avg0.15
ab_delta_pitcher_run_exp_avg0.133
ab_bat_speed_avg77.75
ab_swing_length_avg7.0
ab_launch_speed_max71.5
ab_hit_distance_sc_max7.0
ab_release_speed_max99.4
ab_release_spin_rate_max2269.0
ab_release_speed_min99.3
ab_release_spin_rate_min2150.0
ab_delta_run_exp_sum-0.266
ab_delta_home_win_exp_sum0.3
ab_delta_pitcher_run_exp_sum0.266
ab_result_is_hitFalse
ab_result_is_walkFalse
ab_result_is_strikeoutFalse
ab_result_is_hbpFalse
Jake Mangum (663968) · BATTER · RF · Team PIT
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 91
All-history rows before 20260521: 91
System season_avg: 0.2670
Data season_avg (2026 season-to-date): 0.2669
Diff (system - data): 0.0001
System opponent_avg: 0.3640

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1181.0000.000Hitting_2B0.1100.0000.8901.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.6593.0006.000Hitting_AB3.4185.000-0.418-2.000
predicted_AVG0.2630.3330.167Hitting_AVG0.2670.4000.066-0.067
predicted_BB0.3411.0001.000Hitting_BB0.3300.0000.6701.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.6201.0001.000Hitting_H0.9122.0000.088-1.000
predicted_HR0.0500.0000.000Hitting_HR0.0000.0000.0000.000
predicted_OBP0.3060.5000.286Hitting_OBP0.3330.4000.1670.100
predicted_R0.5761.0001.000Hitting_R0.5491.0000.4510.000
predicted_RBI0.2601.0000.000Hitting_RBI0.0661.0000.9340.000
predicted_SLG0.3190.6670.167Hitting_SLG0.2990.4000.3680.267
predicted_SO0.8820.0002.000Hitting_SO0.8240.000-0.8240.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.1180 -> 1.0000 (boost 0.8820, better)
Biggest Deboostpredicted_SO: 0.8820 -> 0.0000 (deboost -0.8820, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend97263predicted_AB: 3.6590 -> 6.0636 (boost 2.4046, better)predicted_SLG: 0.3190 -> 0.3005 (deboost -0.0185, worse)Final model 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.2535 -> 0.2144 (deboost -0.0391, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling62415predicted_SO: 1.5421 -> 2.0000 (boost 0.4579, worse)predicted_H: 1.3001 -> 1.0000 (deboost -0.3001, worse)AB rounded to 6 (raw=6.06), rates preserved: AVG=0.214 HR/AB=0.006
5consistency_constraints11010predicted_R: 0.8754 -> 1.0000 (boost 0.1246, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context30303-predicted_SLG: 0.2624 -> 0.1670 (deboost -0.0954, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference42231predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 6.0000 -> 3.0000 (deboost -3.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final33030predicted_SLG: 0.1670 -> 0.2624 (boost 0.0954, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "663968",
  "player_name": "Jake Mangum",
  "position": "RF",
  "team": "PIT",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.118,
        "predicted_3B": 0.0,
        "predicted_AB": 3.659,
        "predicted_AVG": 0.263,
        "predicted_BB": 0.341,
        "predicted_H": 0.62,
        "predicted_HR": 0.05,
        "predicted_OBP": 0.306,
        "predicted_R": 0.576,
        "predicted_RBI": 0.26,
        "predicted_SLG": 0.319,
        "predicted_SO": 0.882
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1713,
        "predicted_3B": 0.0013,
        "predicted_AB": 6.0636,
        "predicted_AVG": 0.2535,
        "predicted_BB": 0.6799,
        "predicted_H": 1.3106,
        "predicted_HBP": 0.007,
        "predicted_HR": 0.0393,
        "predicted_OBP": 0.3138,
        "predicted_R": 0.8885,
        "predicted_RBI": 0.3035,
        "predicted_SLG": 0.3005,
        "predicted_SO": 1.5393
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.118,
          "after": 0.1713,
          "delta": 0.0533,
          "percent_delta": 0.4517,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0013,
          "delta": 0.0013,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.659,
          "after": 6.0636,
          "delta": 2.4046,
          "percent_delta": 0.6572,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.263,
          "after": 0.2535,
          "delta": -0.0095,
          "percent_delta": -0.0361,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.341,
          "after": 0.6799,
          "delta": 0.3389,
          "percent_delta": 0.9938,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.62,
          "after": 1.3106,
          "delta": 0.6906,
          "percent_delta": 1.1139,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.05,
          "after": 0.0393,
          "delta": -0.0107,
          "percent_delta": -0.214,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.306,
          "after": 0.3138,
          "delta": 0.0078,
          "percent_delta": 0.0255,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.576,
          "after": 0.8885,
          "delta": 0.3125,
          "percent_delta": 0.5425,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.26,
          "after": 0.3035,
          "delta": 0.0435,
          "percent_delta": 0.1673,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.319,
          "after": 0.3005,
          "delta": -0.0185,
          "percent_delta": -0.058,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.882,
          "after": 1.5393,
          "delta": 0.6573,
          "percent_delta": 0.7452,
          "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_AB",
          "before": 3.659,
          "after": 6.0636,
          "delta": 2.4046,
          "percent_delta": 0.6572,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.319,
          "after": 0.3005,
          "delta": -0.0185,
          "percent_delta": -0.058,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 3,
        "last_10": 5,
        "season": 27
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1713,
        "predicted_3B": 0.0013,
        "predicted_AB": 6.0636,
        "predicted_AVG": 0.2144,
        "predicted_BB": 0.6787,
        "predicted_H": 1.3001,
        "predicted_HBP": 0.007,
        "predicted_HR": 0.039,
        "predicted_OBP": 0.2935,
        "predicted_R": 0.8754,
        "predicted_RBI": 0.299,
        "predicted_SLG": 0.2624,
        "predicted_SO": 1.5421
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1713,
          "after": 0.1713,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0013,
          "after": 0.0013,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.0636,
          "after": 6.0636,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2535,
          "after": 0.2144,
          "delta": -0.0391,
          "percent_delta": -0.1542,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.6799,
          "after": 0.6787,
          "delta": -0.0012,
          "percent_delta": -0.0018,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.3106,
          "after": 1.3001,
          "delta": -0.0105,
          "percent_delta": -0.008,
          "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.0393,
          "after": 0.039,
          "delta": -0.0003,
          "percent_delta": -0.0076,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3138,
          "after": 0.2935,
          "delta": -0.0203,
          "percent_delta": -0.0647,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.8885,
          "after": 0.8754,
          "delta": -0.0131,
          "percent_delta": -0.0147,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3035,
          "after": 0.299,
          "delta": -0.0045,
          "percent_delta": -0.0148,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3005,
          "after": 0.2624,
          "delta": -0.0381,
          "percent_delta": -0.1268,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.5393,
          "after": 1.5421,
          "delta": 0.0028,
          "percent_delta": 0.0018,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.2535,
          "after": 0.2144,
          "delta": -0.0391,
          "percent_delta": -0.1542,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 6 (raw=6.06), rates preserved: AVG=0.214 HR/AB=0.006",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.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": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1713,
          "after": 0.0,
          "delta": -0.1713,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0013,
          "after": 0.0,
          "delta": -0.0013,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.0636,
          "after": 6.0,
          "delta": -0.0636,
          "percent_delta": -0.0105,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.6787,
          "after": 1.0,
          "delta": 0.3213,
          "percent_delta": 0.4734,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.3001,
          "after": 1.0,
          "delta": -0.3001,
          "percent_delta": -0.2308,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.007,
          "after": 0.0,
          "delta": -0.007,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.039,
          "after": 0.0,
          "delta": -0.039,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.299,
          "after": 0.0,
          "delta": -0.299,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.5421,
          "after": 2.0,
          "delta": 0.4579,
          "percent_delta": 0.2969,
          "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.5421,
          "after": 2.0,
          "delta": 0.4579,
          "percent_delta": 0.2969,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.3001,
          "after": 1.0,
          "delta": -0.3001,
          "percent_delta": -0.2308,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_BB": 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": 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": 6.0,
          "after": 6.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.8754,
          "after": 1.0,
          "delta": 0.1246,
          "percent_delta": 0.1423,
          "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": 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.8754,
          "after": 1.0,
          "delta": 0.1246,
          "percent_delta": 0.1423,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_AVG": 0.167,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.286,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.167,
        "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": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2144,
          "after": 0.167,
          "delta": -0.0474,
          "percent_delta": -0.2211,
          "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.2935,
          "after": 0.286,
          "delta": -0.0075,
          "percent_delta": -0.0256,
          "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.2624,
          "after": 0.167,
          "delta": -0.0954,
          "percent_delta": -0.3636,
          "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.2624,
          "after": 0.167,
          "delta": -0.0954,
          "percent_delta": -0.3636,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 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": 6.0,
          "after": 3.0,
          "delta": -3.0,
          "percent_delta": -0.5,
          "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_R",
          "before": 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": 2.0,
          "after": 0.0,
          "delta": -2.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 3.0,
          "delta": -3.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2144,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2935,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2624,
        "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.167,
          "after": 0.2144,
          "delta": 0.0474,
          "percent_delta": 0.2839,
          "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.286,
          "after": 0.2935,
          "delta": 0.0075,
          "percent_delta": 0.0262,
          "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.167,
          "after": 0.2624,
          "delta": 0.0954,
          "percent_delta": 0.5713,
          "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.167,
          "after": 0.2624,
          "delta": 0.0954,
          "percent_delta": 0.5713,
          "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": 1.0,
        "delta": 0.882,
        "percent_delta": 7.4746,
        "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.659,
        "after": 3.0,
        "delta": -0.659,
        "percent_delta": -0.1801,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.263,
        "after": 0.2144,
        "delta": -0.0486,
        "percent_delta": -0.1848,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.341,
        "after": 1.0,
        "delta": 0.659,
        "percent_delta": 1.9326,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.62,
        "after": 1.0,
        "delta": 0.38,
        "percent_delta": 0.6129,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.05,
        "after": 0.0,
        "delta": -0.05,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.306,
        "after": 0.2935,
        "delta": -0.0125,
        "percent_delta": -0.0408,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.576,
        "after": 1.0,
        "delta": 0.424,
        "percent_delta": 0.7361,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.26,
        "after": 1.0,
        "delta": 0.74,
        "percent_delta": 2.8462,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.319,
        "after": 0.2624,
        "delta": -0.0566,
        "percent_delta": -0.1774,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.882,
        "after": 0.0,
        "delta": -0.882,
        "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.118,
        "after": 1.0,
        "delta": 0.882,
        "percent_delta": 7.4746,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.882,
        "after": 0.0,
        "delta": -0.882,
        "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.118-
predicted_3B0.000-
predicted_AB3.659-
predicted_AVG0.263-
predicted_BB0.341-
predicted_H0.620-
predicted_HR0.050-
predicted_OBP0.306-
predicted_R0.576-
predicted_RBI0.260-
predicted_SLG0.319-
predicted_SO0.882-
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.1710.053
predicted_3B0.0010.001
predicted_AB6.0642.405
predicted_AVG0.254-0.010
predicted_BB0.6800.339
predicted_H1.3110.691
predicted_HBP0.007-
predicted_HR0.039-0.011
predicted_OBP0.3140.008
predicted_R0.8880.312
predicted_RBI0.3030.043
predicted_SLG0.300-0.019
predicted_SO1.5390.657
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1710.000
predicted_3B0.0010.000
predicted_AB6.0640.000
predicted_AVG0.214-0.039
predicted_BB0.679-0.001
predicted_H1.300-0.010
predicted_HBP0.0070.000
predicted_HR0.039-0.000
predicted_OBP0.293-0.020
predicted_R0.875-0.013
predicted_RBI0.299-0.005
predicted_SLG0.262-0.038
predicted_SO1.5420.003
4. ab_floor_and_scaling

AB rounded to 6 (raw=6.06), rates preserved: AVG=0.214 HR/AB=0.006

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB6.000-
BB1.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO2.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB6.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-
SO2.0000.000
6. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.171
predicted_3B0.000-0.001
predicted_AB6.000-0.064
predicted_AVG0.167-0.047
predicted_BB1.0000.321
predicted_H1.000-0.300
predicted_HR0.000-0.039
predicted_OBP0.286-0.008
predicted_R1.0000.125
predicted_RBI0.000-0.299
predicted_SLG0.167-0.095
predicted_SO2.0000.458
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB3.000-3.000
BB1.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
SO0.000-2.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 85
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.203-12.0002.0000.0000.0000.0001.0001.0003.0004.0000.16670.33330.16670.16670.00000.08330.25000.3333
last_100.205-27.0004.0000.0000.0000.0001.0003.0005.0009.0000.14810.28120.14810.14820.00000.03700.18520.3333
season0.6027-311.00083.00010.0000.0000.0006.00049.00029.00075.0000.26690.32940.29900.26690.00000.01930.09320.2412
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2430
predicted_3B0.0030
predicted_AB9.3000
predicted_AVG0.2408
predicted_BB1.1360
predicted_H2.2400
predicted_HBP0.0070
predicted_HR0.0250
predicted_OBP0.3243
predicted_R1.3090
predicted_RBI0.3620
predicted_SLG0.2757
predicted_SO2.4240
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.11800.24300.1713model_form_blend
predicted_3B0.00000.00300.0013model_form_blend
predicted_AB3.65909.30006.0636model_form_blend
predicted_AVG0.26300.24080.2535model_form_blend
predicted_BB0.34101.13600.6799model_form_blend
predicted_H0.62002.24001.3106model_form_blend
predicted_HBP-0.00700.0070form_only
predicted_HR0.05000.02500.0393model_form_blend
predicted_OBP0.30600.32430.3138model_form_blend
predicted_R0.57601.30900.8885model_form_blend
predicted_RBI0.26000.36200.3035model_form_blend
predicted_SLG0.31900.27570.3005model_form_blend
predicted_SO0.88202.42401.5393model_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 date91
Season rows before report date91
Report year2026
Profile rows used85
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
SO0
SF0
HBP0
season_avg0.267

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_SO0
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
allPositionsPlayedRF
gameID20260520_PIT@STL
game_typefull
mlbID663968
playerID663968
playerNameJake Mangum
posLF
startedTrue
startingPositionRF
teamPIT
teamID22
game_date2026-05-20
sl_k_percent23.3
sl_bb_percent9.3
sl_woba0.28
sl_xwoba0.28
sl_xba0.245
sl_xslg0.293
sl_sweet_spot_percent21.1
sl_barrel_batted_rate0.0
sl_hard_hit_percent29.8
sl_exit_velocity_avg82.5
sl_launch_angle_avg2.4
sl_whiff_percent24.3
sl_swing_percent60.6
Jared Triolo (669707) · BATTER · 3B · Team PIT
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 61
All-history rows before 20260521: 61
System season_avg: 0.2390
Data season_avg (2026 season-to-date): 0.2392
Diff (system - data): -0.0002
System opponent_avg: 0.7500

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1190.0000.000Hitting_2B0.1150.000-0.1150.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.5424.0007.000Hitting_AB3.4264.0000.5740.000
predicted_AVG0.2690.2500.286Hitting_AVG0.2390.7500.011-0.500
predicted_BB0.2200.0000.000Hitting_BB0.2130.000-0.2130.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.6801.0002.000Hitting_H0.8203.0000.180-2.000
predicted_HR0.0500.0000.000Hitting_HR0.0000.0000.0000.000
predicted_OBP0.3200.2500.286Hitting_OBP0.3000.750-0.050-0.500
predicted_R0.1860.0000.000Hitting_R0.1801.000-0.180-1.000
predicted_RBI0.2700.0000.000Hitting_RBI0.1310.000-0.1310.000
predicted_SLG0.3560.2500.286Hitting_SLG0.2730.750-0.023-0.500
predicted_SO0.6950.0001.000Hitting_SO0.6720.000-0.6720.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.5420 -> 4.0000 (boost 0.4580, better)
Biggest Deboostpredicted_SO: 0.6950 -> 0.0000 (deboost -0.6950, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend109182predicted_AB: 3.5420 -> 6.6394 (boost 3.0974, better)predicted_SLG: 0.3560 -> 0.3442 (deboost -0.0118, worse)Final model 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.3442 -> 0.3069 (deboost -0.0373, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling72534predicted_AB: 6.6394 -> 7.0000 (boost 0.3606, better)predicted_BB: 0.3790 -> 0.0000 (deboost -0.3790, worse)AB rounded to 7 (raw=6.64), rates preserved: AVG=0.254 HR/AB=0.007
5consistency_constraints10101-predicted_R: 0.4680 -> 0.0000 (deboost -0.4680, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context31212predicted_AVG: 0.2537 -> 0.2860 (boost 0.0323, better)predicted_SLG: 0.3069 -> 0.2860 (deboost -0.0209, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference30312-predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final32121predicted_SLG: 0.2860 -> 0.3069 (boost 0.0209, better)predicted_AVG: 0.2860 -> 0.2537 (deboost -0.0323, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "669707",
  "player_name": "Jared Triolo",
  "position": "3B",
  "team": "PIT",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.119,
        "predicted_3B": 0.0,
        "predicted_AB": 3.542,
        "predicted_AVG": 0.269,
        "predicted_BB": 0.22,
        "predicted_H": 0.68,
        "predicted_HR": 0.05,
        "predicted_OBP": 0.32,
        "predicted_R": 0.186,
        "predicted_RBI": 0.27,
        "predicted_SLG": 0.356,
        "predicted_SO": 0.695
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2084,
        "predicted_3B": 0.0021,
        "predicted_AB": 6.6394,
        "predicted_AVG": 0.2755,
        "predicted_BB": 0.3797,
        "predicted_H": 1.698,
        "predicted_HBP": 0.205,
        "predicted_HR": 0.0471,
        "predicted_OBP": 0.3269,
        "predicted_R": 0.475,
        "predicted_RBI": 0.3569,
        "predicted_SLG": 0.3442,
        "predicted_SO": 1.3101
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.119,
          "after": 0.2084,
          "delta": 0.0894,
          "percent_delta": 0.7513,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0021,
          "delta": 0.0021,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.542,
          "after": 6.6394,
          "delta": 3.0974,
          "percent_delta": 0.8745,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.269,
          "after": 0.2755,
          "delta": 0.0065,
          "percent_delta": 0.0242,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.22,
          "after": 0.3797,
          "delta": 0.1597,
          "percent_delta": 0.7259,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.68,
          "after": 1.698,
          "delta": 1.018,
          "percent_delta": 1.4971,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.05,
          "after": 0.0471,
          "delta": -0.0029,
          "percent_delta": -0.058,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.32,
          "after": 0.3269,
          "delta": 0.0069,
          "percent_delta": 0.0216,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.186,
          "after": 0.475,
          "delta": 0.289,
          "percent_delta": 1.5538,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.27,
          "after": 0.3569,
          "delta": 0.0869,
          "percent_delta": 0.3219,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.356,
          "after": 0.3442,
          "delta": -0.0118,
          "percent_delta": -0.0331,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.695,
          "after": 1.3101,
          "delta": 0.6151,
          "percent_delta": 0.885,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 10,
        "boosted_metrics": 9,
        "deboosted_metrics": 1,
        "better_metrics": 8,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.542,
          "after": 6.6394,
          "delta": 3.0974,
          "percent_delta": 0.8745,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.356,
          "after": 0.3442,
          "delta": -0.0118,
          "percent_delta": -0.0331,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 2,
        "last_10": 3,
        "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.2084,
        "predicted_3B": 0.0021,
        "predicted_AB": 6.6394,
        "predicted_AVG": 0.2537,
        "predicted_BB": 0.379,
        "predicted_H": 1.6844,
        "predicted_HBP": 0.205,
        "predicted_HR": 0.0468,
        "predicted_OBP": 0.294,
        "predicted_R": 0.468,
        "predicted_RBI": 0.3517,
        "predicted_SLG": 0.3069,
        "predicted_SO": 1.3125
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2084,
          "after": 0.2084,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0021,
          "after": 0.0021,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.6394,
          "after": 6.6394,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2755,
          "after": 0.2537,
          "delta": -0.0218,
          "percent_delta": -0.0791,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3797,
          "after": 0.379,
          "delta": -0.0007,
          "percent_delta": -0.0018,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.698,
          "after": 1.6844,
          "delta": -0.0136,
          "percent_delta": -0.008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.205,
          "after": 0.205,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0471,
          "after": 0.0468,
          "delta": -0.0003,
          "percent_delta": -0.0064,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3269,
          "after": 0.294,
          "delta": -0.0329,
          "percent_delta": -0.1006,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.475,
          "after": 0.468,
          "delta": -0.007,
          "percent_delta": -0.0147,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3569,
          "after": 0.3517,
          "delta": -0.0052,
          "percent_delta": -0.0146,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3442,
          "after": 0.3069,
          "delta": -0.0373,
          "percent_delta": -0.1084,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.3101,
          "after": 1.3125,
          "delta": 0.0024,
          "percent_delta": 0.0018,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.3442,
          "after": 0.3069,
          "delta": -0.0373,
          "percent_delta": -0.1084,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 7 (raw=6.64), rates preserved: AVG=0.254 HR/AB=0.007",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.0,
        "predicted_BB": 0.0,
        "predicted_H": 2.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.2084,
          "after": 0.0,
          "delta": -0.2084,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0021,
          "after": 0.0,
          "delta": -0.0021,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.6394,
          "after": 7.0,
          "delta": 0.3606,
          "percent_delta": 0.0543,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.379,
          "after": 0.0,
          "delta": -0.379,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.6844,
          "after": 2.0,
          "delta": 0.3156,
          "percent_delta": 0.1874,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.205,
          "after": 0.0,
          "delta": -0.205,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0468,
          "after": 0.0,
          "delta": -0.0468,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3517,
          "after": 0.0,
          "delta": -0.3517,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.3125,
          "after": 1.0,
          "delta": -0.3125,
          "percent_delta": -0.2381,
          "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": 6.6394,
          "after": 7.0,
          "delta": 0.3606,
          "percent_delta": 0.0543,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.379,
          "after": 0.0,
          "delta": -0.379,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.0,
          "after": 7.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.468,
          "after": 0.0,
          "delta": -0.468,
          "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.468,
          "after": 0.0,
          "delta": -0.468,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.0,
        "predicted_AVG": 0.286,
        "predicted_BB": 0.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.286,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.286,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.0,
          "after": 7.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2537,
          "after": 0.286,
          "delta": 0.0323,
          "percent_delta": 0.1273,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.294,
          "after": 0.286,
          "delta": -0.008,
          "percent_delta": -0.0272,
          "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.3069,
          "after": 0.286,
          "delta": -0.0209,
          "percent_delta": -0.0681,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.2537,
          "after": 0.286,
          "delta": 0.0323,
          "percent_delta": 0.1273,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3069,
          "after": 0.286,
          "delta": -0.0209,
          "percent_delta": -0.0681,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.0,
          "after": 4.0,
          "delta": -3.0,
          "percent_delta": -0.4286,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 7.0,
          "after": 4.0,
          "delta": -3.0,
          "percent_delta": -0.4286,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2537,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.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.3069,
        "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.286,
          "after": 0.2537,
          "delta": -0.0323,
          "percent_delta": -0.1129,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.286,
          "after": 0.294,
          "delta": 0.008,
          "percent_delta": 0.028,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.286,
          "after": 0.3069,
          "delta": 0.0209,
          "percent_delta": 0.073,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.286,
          "after": 0.3069,
          "delta": 0.0209,
          "percent_delta": 0.073,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.286,
          "after": 0.2537,
          "delta": -0.0323,
          "percent_delta": -0.1129,
          "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": 0.0,
        "delta": -0.119,
        "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.542,
        "after": 4.0,
        "delta": 0.458,
        "percent_delta": 0.1293,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.269,
        "after": 0.2537,
        "delta": -0.0153,
        "percent_delta": -0.0569,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.22,
        "after": 0.0,
        "delta": -0.22,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.68,
        "after": 1.0,
        "delta": 0.32,
        "percent_delta": 0.4706,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.05,
        "after": 0.0,
        "delta": -0.05,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.32,
        "after": 0.294,
        "delta": -0.026,
        "percent_delta": -0.0813,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.186,
        "after": 0.0,
        "delta": -0.186,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.27,
        "after": 0.0,
        "delta": -0.27,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.356,
        "after": 0.3069,
        "delta": -0.0491,
        "percent_delta": -0.1379,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.695,
        "after": 0.0,
        "delta": -0.695,
        "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_AB",
        "before": 3.542,
        "after": 4.0,
        "delta": 0.458,
        "percent_delta": 0.1293,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.695,
        "after": 0.0,
        "delta": -0.695,
        "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.119-
predicted_3B0.000-
predicted_AB3.542-
predicted_AVG0.269-
predicted_BB0.220-
predicted_H0.680-
predicted_HR0.050-
predicted_OBP0.320-
predicted_R0.186-
predicted_RBI0.270-
predicted_SLG0.356-
predicted_SO0.695-
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.2080.089
predicted_3B0.0020.002
predicted_AB6.6393.097
predicted_AVG0.2760.007
predicted_BB0.3800.160
predicted_H1.6981.018
predicted_HBP0.205-
predicted_HR0.047-0.003
predicted_OBP0.3270.007
predicted_R0.4750.289
predicted_RBI0.3570.087
predicted_SLG0.344-0.012
predicted_SO1.3100.615
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.2080.000
predicted_3B0.0020.000
predicted_AB6.6390.000
predicted_AVG0.254-0.022
predicted_BB0.379-0.001
predicted_H1.684-0.014
predicted_HBP0.2050.000
predicted_HR0.047-0.000
predicted_OBP0.294-0.033
predicted_R0.468-0.007
predicted_RBI0.352-0.005
predicted_SLG0.307-0.037
predicted_SO1.3120.002
4. ab_floor_and_scaling

AB rounded to 7 (raw=6.64), rates preserved: AVG=0.254 HR/AB=0.007

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB7.000-
BB0.000-
H2.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB7.0000.000
BB0.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
6. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.208
predicted_3B0.000-0.002
predicted_AB7.0000.361
predicted_AVG0.2860.032
predicted_BB0.000-0.379
predicted_H2.0000.316
predicted_HR0.000-0.047
predicted_OBP0.286-0.008
predicted_R0.000-0.468
predicted_RBI0.000-0.352
predicted_SLG0.286-0.021
predicted_SO1.000-0.312
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.000-3.000
BB0.0000.000
CS0.0000.000
H1.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: 59
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-19.00012.0000.0000.0000.0000.0004.0000.0002.0000.63160.63160.63160.63160.00000.00000.00000.1053
last_100.203-34.00012.0000.0000.0000.0000.0004.0000.00012.0000.35290.35290.35290.35290.00000.00000.00000.3529
season0.6017-209.00050.0007.0000.0000.0008.00011.00013.00041.0000.23920.29960.27270.23920.00000.03830.06220.1962
Weighted Prediction From Real Data
MetricValue
predicted_2B0.3340
predicted_3B0.0050
predicted_AB10.9900
predicted_AVG0.2846
predicted_BB0.6040
predicted_H3.1280
predicted_HBP0.2050
predicted_HR0.0430
predicted_OBP0.3365
predicted_R0.8810
predicted_RBI0.4790
predicted_SLG0.3276
predicted_SO2.1740
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.11900.33400.2084model_form_blend
predicted_3B0.00000.00500.0021model_form_blend
predicted_AB3.542010.99006.6394model_form_blend
predicted_AVG0.26900.28460.2755model_form_blend
predicted_BB0.22000.60400.3797model_form_blend
predicted_H0.68003.12801.6980model_form_blend
predicted_HBP-0.20500.2050form_only
predicted_HR0.05000.04300.0471model_form_blend
predicted_OBP0.32000.33650.3269model_form_blend
predicted_R0.18600.88100.4750model_form_blend
predicted_RBI0.27000.47900.3569model_form_blend
predicted_SLG0.35600.32760.3442model_form_blend
predicted_SO0.69502.17401.3101model_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 date61
Season rows before report date61
Report year2026
Profile rows used59
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.239

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_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB3
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
allPositionsPlayed1B-RF
gameID20260519_PIT@STL
game_typefull
mlbID669707
playerID669707
playerNameJared Triolo
pos3B
startedTrue
startingPosition1B
teamPIT
teamID22
game_date2026-05-19
game_pk823059.0
sl_k_percent20.3
sl_bb_percent5.1
sl_woba0.28
sl_xwoba0.264
sl_xba0.233
sl_xslg0.296
sl_sweet_spot_percent23.3
sl_barrel_batted_rate2.4
sl_hard_hit_percent30.2
sl_exit_velocity_avg85.3
sl_launch_angle_avg5.1
sl_whiff_percent24.0
sl_swing_percent41.9
at_bat_number64.0
ab_pitcher668941.0
ab_pitcher_nameRomero, JoJo
ab_home_teamSTL
ab_away_teamPIT
ab_game_typeR
ab_standR
ab_p_throwsL
ab_inning8.0
ab_inning_topbotTop
ab_outs_when_up1.0
ab_on_1b_start691373.0
ab_balls_start0.0
ab_strikes_start0.0
ab_home_score_start5.0
ab_away_score_start4.0
ab_bat_score_start4.0
ab_fld_score_start5.0
ab_eventfield_out
ab_event_descriptionJared Triolo grounds out softly to first baseman Alec Burleson. Jhostynxon Garcia to 2nd.
ab_event_typeX
ab_bb_typeground_ball
ab_hit_location3.0
ab_pitch_type_lastST
ab_pitch_name_lastSweeper
ab_zone_last7.0
ab_launch_speed_last39.6
ab_launch_angle_last-49.0
ab_hit_distance_last2.0
ab_estimated_ba_last0.347
ab_estimated_woba_last0.321
ab_estimated_slg_last0.35
ab_woba_value0.0
ab_woba_denom1.0
ab_babip_value0.0
ab_iso_value0.0
ab_balls_end3.0
ab_strikes_end2.0
ab_home_score_end5.0
ab_away_score_end4.0
ab_bat_score_end4.0
ab_fld_score_end5.0
ab_pitch_count8.0
ab_release_speed_avg88.075
ab_release_spin_rate_avg2435.875
ab_effective_speed_avg86.425
ab_launch_speed_avg60.96666666666667
ab_launch_angle_avg16.666666666666668
ab_delta_run_exp_avg-0.03975
ab_delta_home_win_exp_avg0.00575
ab_delta_pitcher_run_exp_avg0.03975
ab_bat_speed_avg70.89999999999999
ab_swing_length_avg8.033333333333333
ab_launch_speed_max78.7
ab_hit_distance_sc_max218.0
ab_release_speed_max94.6
ab_release_spin_rate_max2954.0
ab_release_speed_min82.9
ab_release_spin_rate_min1329.0
ab_delta_run_exp_sum-0.318
ab_delta_home_win_exp_sum0.046
ab_delta_pitcher_run_exp_sum0.318
ab_result_is_hitFalse
ab_result_is_walkFalse
ab_result_is_strikeoutFalse
ab_result_is_hbpFalse
Henry Davis (680779) · BATTER · C · Team PIT
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 114
All-history rows before 20260521: 114
System season_avg: 0.1470
Data season_avg (2026 season-to-date): 0.1471
Diff (system - data): -0.0001
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.1020.0000.000Hitting_2B0.0960.000-0.0960.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.3983.0007.000Hitting_AB3.2193.000-0.2190.000
predicted_AVG0.2130.3330.143Hitting_AVG0.1470.0000.1860.333
predicted_BB0.3890.0001.000Hitting_BB0.3770.000-0.3770.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.5101.0001.000Hitting_H0.4740.0000.5261.000
predicted_HR0.0800.0000.000Hitting_HR0.0700.000-0.0700.000
predicted_OBP0.2470.5000.250Hitting_OBP0.2490.0000.2510.500
predicted_R0.3800.0001.000Hitting_R0.3600.000-0.3600.000
predicted_RBI0.3000.0001.000Hitting_RBI0.2890.000-0.2890.000
predicted_SLG0.2880.3330.143Hitting_SLG0.2430.0000.0910.333
predicted_SO0.6671.0001.000Hitting_SO0.6321.0000.3680.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_H: 0.5100 -> 1.0000 (boost 0.4900, better)
Biggest Deboostpredicted_AB: 3.3980 -> 3.0000 (deboost -0.3980, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend118374predicted_AB: 3.3980 -> 6.6916 (boost 3.2936, better)predicted_AVG: 0.2130 -> 0.1752 (deboost -0.0378, worse)Final model 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.1752 -> 0.1314 (deboost -0.0438, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling84453predicted_RBI: 0.5356 -> 1.0000 (boost 0.4644, better)predicted_SO: 1.3890 -> 1.0000 (deboost -0.3890, better)AB rounded to 7 (raw=6.69), rates preserved: AVG=0.131 HR/AB=0.020
5consistency_constraints11010predicted_R: 0.6394 -> 1.0000 (boost 0.3606, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context32121predicted_OBP: 0.2079 -> 0.2500 (boost 0.0421, better)predicted_SLG: 0.2175 -> 0.1430 (deboost -0.0745, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference51414predicted_HBP: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 7.0000 -> 3.0000 (deboost -4.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final31212predicted_SLG: 0.1430 -> 0.2175 (boost 0.0745, better)predicted_OBP: 0.2500 -> 0.2079 (deboost -0.0421, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "680779",
  "player_name": "Henry Davis",
  "position": "C",
  "team": "PIT",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.102,
        "predicted_3B": 0.0,
        "predicted_AB": 3.398,
        "predicted_AVG": 0.213,
        "predicted_BB": 0.389,
        "predicted_H": 0.51,
        "predicted_HR": 0.08,
        "predicted_OBP": 0.247,
        "predicted_R": 0.38,
        "predicted_RBI": 0.3,
        "predicted_SLG": 0.288,
        "predicted_SO": 0.667
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.179,
        "predicted_3B": 0.0013,
        "predicted_AB": 6.6916,
        "predicted_AVG": 0.1752,
        "predicted_BB": 0.6476,
        "predicted_H": 0.8861,
        "predicted_HBP": 0.162,
        "predicted_HR": 0.1325,
        "predicted_OBP": 0.2283,
        "predicted_R": 0.6489,
        "predicted_RBI": 0.5436,
        "predicted_SLG": 0.2527,
        "predicted_SO": 1.3865
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.102,
          "after": 0.179,
          "delta": 0.077,
          "percent_delta": 0.7549,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0013,
          "delta": 0.0013,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.398,
          "after": 6.6916,
          "delta": 3.2936,
          "percent_delta": 0.9693,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.213,
          "after": 0.1752,
          "delta": -0.0378,
          "percent_delta": -0.1775,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.389,
          "after": 0.6476,
          "delta": 0.2586,
          "percent_delta": 0.6648,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.51,
          "after": 0.8861,
          "delta": 0.3761,
          "percent_delta": 0.7375,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.08,
          "after": 0.1325,
          "delta": 0.0525,
          "percent_delta": 0.6562,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.247,
          "after": 0.2283,
          "delta": -0.0187,
          "percent_delta": -0.0757,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.38,
          "after": 0.6489,
          "delta": 0.2689,
          "percent_delta": 0.7076,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3,
          "after": 0.5436,
          "delta": 0.2436,
          "percent_delta": 0.812,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.288,
          "after": 0.2527,
          "delta": -0.0353,
          "percent_delta": -0.1226,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.667,
          "after": 1.3865,
          "delta": 0.7195,
          "percent_delta": 1.0787,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 11,
        "boosted_metrics": 8,
        "deboosted_metrics": 3,
        "better_metrics": 7,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.398,
          "after": 6.6916,
          "delta": 3.2936,
          "percent_delta": 0.9693,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.213,
          "after": 0.1752,
          "delta": -0.0378,
          "percent_delta": -0.1775,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 2,
        "last_10": 4,
        "season": 29
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.179,
        "predicted_3B": 0.0013,
        "predicted_AB": 6.6916,
        "predicted_AVG": 0.1314,
        "predicted_BB": 0.6464,
        "predicted_H": 0.879,
        "predicted_HBP": 0.162,
        "predicted_HR": 0.1316,
        "predicted_OBP": 0.2079,
        "predicted_R": 0.6394,
        "predicted_RBI": 0.5356,
        "predicted_SLG": 0.2175,
        "predicted_SO": 1.389
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.179,
          "after": 0.179,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0013,
          "after": 0.0013,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.6916,
          "after": 6.6916,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1752,
          "after": 0.1314,
          "delta": -0.0438,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.6476,
          "after": 0.6464,
          "delta": -0.0012,
          "percent_delta": -0.0019,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8861,
          "after": 0.879,
          "delta": -0.0071,
          "percent_delta": -0.008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.162,
          "after": 0.162,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1325,
          "after": 0.1316,
          "delta": -0.0009,
          "percent_delta": -0.0068,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2283,
          "after": 0.2079,
          "delta": -0.0204,
          "percent_delta": -0.0894,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6489,
          "after": 0.6394,
          "delta": -0.0095,
          "percent_delta": -0.0146,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5436,
          "after": 0.5356,
          "delta": -0.008,
          "percent_delta": -0.0147,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2527,
          "after": 0.2175,
          "delta": -0.0352,
          "percent_delta": -0.1393,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.3865,
          "after": 1.389,
          "delta": 0.0025,
          "percent_delta": 0.0018,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.1752,
          "after": 0.1314,
          "delta": -0.0438,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 7 (raw=6.69), rates preserved: AVG=0.131 HR/AB=0.020",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.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.179,
          "after": 0.0,
          "delta": -0.179,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0013,
          "after": 0.0,
          "delta": -0.0013,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.6916,
          "after": 7.0,
          "delta": 0.3084,
          "percent_delta": 0.0461,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.6464,
          "after": 1.0,
          "delta": 0.3536,
          "percent_delta": 0.547,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.879,
          "after": 1.0,
          "delta": 0.121,
          "percent_delta": 0.1377,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.162,
          "after": 0.0,
          "delta": -0.162,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1316,
          "after": 0.0,
          "delta": -0.1316,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5356,
          "after": 1.0,
          "delta": 0.4644,
          "percent_delta": 0.8671,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.389,
          "after": 1.0,
          "delta": -0.389,
          "percent_delta": -0.2801,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 4,
        "deboosted_metrics": 4,
        "better_metrics": 5,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5356,
          "after": 1.0,
          "delta": 0.4644,
          "percent_delta": 0.8671,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.389,
          "after": 1.0,
          "delta": -0.389,
          "percent_delta": -0.2801,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.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": 7.0,
          "after": 7.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.6394,
          "after": 1.0,
          "delta": 0.3606,
          "percent_delta": 0.564,
          "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.6394,
          "after": 1.0,
          "delta": 0.3606,
          "percent_delta": 0.564,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.0,
        "predicted_AVG": 0.143,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.25,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.143,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.0,
          "after": 7.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1314,
          "after": 0.143,
          "delta": 0.0116,
          "percent_delta": 0.0883,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2079,
          "after": 0.25,
          "delta": 0.0421,
          "percent_delta": 0.2025,
          "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.2175,
          "after": 0.143,
          "delta": -0.0745,
          "percent_delta": -0.3425,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.2079,
          "after": 0.25,
          "delta": 0.0421,
          "percent_delta": 0.2025,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.2175,
          "after": 0.143,
          "delta": -0.0745,
          "percent_delta": -0.3425,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 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": 7.0,
          "after": 3.0,
          "delta": -4.0,
          "percent_delta": -0.5714,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 7.0,
          "after": 3.0,
          "delta": -4.0,
          "percent_delta": -0.5714,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.1314,
        "predicted_BB": 0.0,
        "predicted_C": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2079,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2175,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.143,
          "after": 0.1314,
          "delta": -0.0116,
          "percent_delta": -0.0814,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.25,
          "after": 0.2079,
          "delta": -0.0421,
          "percent_delta": -0.1685,
          "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.143,
          "after": 0.2175,
          "delta": 0.0745,
          "percent_delta": 0.5211,
          "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.143,
          "after": 0.2175,
          "delta": 0.0745,
          "percent_delta": 0.5211,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.25,
          "after": 0.2079,
          "delta": -0.0421,
          "percent_delta": -0.1685,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.102,
        "after": 0.0,
        "delta": -0.102,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.398,
        "after": 3.0,
        "delta": -0.398,
        "percent_delta": -0.1171,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.213,
        "after": 0.1314,
        "delta": -0.0816,
        "percent_delta": -0.3831,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.389,
        "after": 0.0,
        "delta": -0.389,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.51,
        "after": 1.0,
        "delta": 0.49,
        "percent_delta": 0.9608,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.08,
        "after": 0.0,
        "delta": -0.08,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.247,
        "after": 0.2079,
        "delta": -0.0391,
        "percent_delta": -0.1583,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.38,
        "after": 0.0,
        "delta": -0.38,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.3,
        "after": 0.0,
        "delta": -0.3,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.288,
        "after": 0.2175,
        "delta": -0.0705,
        "percent_delta": -0.2448,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.667,
        "after": 1.0,
        "delta": 0.333,
        "percent_delta": 0.4993,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 2,
      "deboosted_metrics": 9,
      "better_metrics": 1,
      "worse_metrics": 10,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.51,
        "after": 1.0,
        "delta": 0.49,
        "percent_delta": 0.9608,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 3.398,
        "after": 3.0,
        "delta": -0.398,
        "percent_delta": -0.1171,
        "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.102-
predicted_3B0.000-
predicted_AB3.398-
predicted_AVG0.213-
predicted_BB0.389-
predicted_H0.510-
predicted_HR0.080-
predicted_OBP0.247-
predicted_R0.380-
predicted_RBI0.300-
predicted_SLG0.288-
predicted_SO0.667-
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.1790.077
predicted_3B0.0010.001
predicted_AB6.6923.294
predicted_AVG0.175-0.038
predicted_BB0.6480.259
predicted_H0.8860.376
predicted_HBP0.162-
predicted_HR0.1330.053
predicted_OBP0.228-0.019
predicted_R0.6490.269
predicted_RBI0.5440.244
predicted_SLG0.253-0.035
predicted_SO1.3870.720
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1790.000
predicted_3B0.0010.000
predicted_AB6.6920.000
predicted_AVG0.131-0.044
predicted_BB0.646-0.001
predicted_H0.879-0.007
predicted_HBP0.1620.000
predicted_HR0.132-0.001
predicted_OBP0.208-0.020
predicted_R0.639-0.010
predicted_RBI0.536-0.008
predicted_SLG0.217-0.035
predicted_SO1.3890.002
4. ab_floor_and_scaling

AB rounded to 7 (raw=6.69), rates preserved: AVG=0.131 HR/AB=0.020

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB7.000-
BB1.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB7.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
6. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.179
predicted_3B0.000-0.001
predicted_AB7.0000.308
predicted_AVG0.1430.012
predicted_BB1.0000.354
predicted_H1.0000.121
predicted_HR0.000-0.132
predicted_OBP0.2500.042
predicted_R1.0000.361
predicted_RBI1.0000.464
predicted_SLG0.143-0.075
predicted_SO1.000-0.389
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-4.000
BB0.000-1.000
CS0.0000.000
H1.0000.000
HBP1.0001.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: 108
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-15.0000.0000.0000.0000.0000.0000.0000.0005.0000.00000.00000.00000.00000.00000.00000.00000.3333
last_100.204-30.0000.0000.0000.0000.0001.0000.0000.0006.0000.00000.00000.00000.00000.00000.03330.00000.2000
season0.6029-367.00054.00011.0000.0008.00033.00041.00042.00072.0000.14710.24760.24250.14710.02180.08990.11440.1962
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2810
predicted_3B0.0030
predicted_AB11.0520
predicted_AVG0.1252
predicted_BB0.9900
predicted_H1.3840
predicted_HBP0.1620
predicted_HR0.2020
predicted_OBP0.2035
predicted_R1.0050
predicted_RBI0.8660
predicted_SLG0.2060
predicted_SO2.3390
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.10200.28100.1790model_form_blend
predicted_3B0.00000.00300.0013model_form_blend
predicted_AB3.398011.05206.6916model_form_blend
predicted_AVG0.21300.12520.1752model_form_blend
predicted_BB0.38900.99000.6476model_form_blend
predicted_H0.51001.38400.8861model_form_blend
predicted_HBP-0.16200.1620form_only
predicted_HR0.08000.20200.1325model_form_blend
predicted_OBP0.24700.20350.2283model_form_blend
predicted_R0.38001.00500.6489model_form_blend
predicted_RBI0.30000.86600.5436model_form_blend
predicted_SLG0.28800.20600.2527model_form_blend
predicted_SO0.66702.33901.3865model_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 date114
Season rows before report date114
Report year2026
Profile rows used108
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB3
H1
2B0
3B0
HR0
R0
RBI0
BB0
SO1
SF0
HBP1
season_avg0.147

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_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_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
gameID20260519_PIT@STL
game_typefull
mlbID680779
playerID680779
playerNameHenry Davis
posC
startedTrue
startingPositionC
teamPIT
teamID22
game_date2026-05-19
game_pk823059.0
sl_k_percent18.3
sl_bb_percent10.1
sl_woba0.226
sl_xwoba0.281
sl_xba0.202
sl_xslg0.318
sl_sweet_spot_percent23.7
sl_barrel_batted_rate7.9
sl_hard_hit_percent36.8
sl_exit_velocity_avg90.3
sl_launch_angle_avg17.0
sl_whiff_percent20.7
sl_swing_percent51.8
at_bat_number46.0
ab_pitcher700669.0
ab_pitcher_nameGraceffo, Gordon
ab_home_teamSTL
ab_away_teamPIT
ab_game_typeR
ab_standR
ab_p_throwsR
ab_inning6.0
ab_inning_topbotTop
ab_outs_when_up1.0
ab_on_1b_start669707.0
ab_balls_start0.0
ab_strikes_start0.0
ab_home_score_start3.0
ab_away_score_start4.0
ab_bat_score_start4.0
ab_fld_score_start3.0
ab_eventfield_out
ab_event_descriptionHenry Davis pops out to catcher Pedro Pagés in foul territory.
ab_event_typeX
ab_bb_typepopup
ab_hit_location2.0
ab_pitch_type_lastSL
ab_pitch_name_lastSlider
ab_zone_last4.0
ab_launch_speed_last69.7
ab_launch_angle_last86.0
ab_hit_distance_last51.0
ab_estimated_ba_last0.001
ab_estimated_woba_last0.0
ab_estimated_slg_last0.001
ab_woba_value0.0
ab_woba_denom1.0
ab_babip_value0.0
ab_iso_value0.0
ab_balls_end0.0
ab_strikes_end1.0
ab_home_score_end3.0
ab_away_score_end4.0
ab_bat_score_end4.0
ab_fld_score_end3.0
ab_pitch_count2.0
ab_release_speed_avg91.55
ab_release_spin_rate_avg2284.0
ab_effective_speed_avg92.2
ab_launch_speed_avg69.7
ab_launch_angle_avg86.0
ab_delta_run_exp_avg-0.128
ab_delta_home_win_exp_avg0.016
ab_delta_pitcher_run_exp_avg0.128
ab_bat_speed_avg71.6
ab_swing_length_avg6.75
ab_launch_speed_max69.7
ab_hit_distance_sc_max51.0
ab_release_speed_max95.0
ab_release_spin_rate_max2443.0
ab_release_speed_min88.1
ab_release_spin_rate_min2125.0
ab_delta_run_exp_sum-0.256
ab_delta_home_win_exp_sum0.032
ab_delta_pitcher_run_exp_sum0.256
ab_result_is_hitFalse
ab_result_is_walkFalse
ab_result_is_strikeoutFalse
ab_result_is_hbpFalse
Braxton Ashcraft (677952) · PITCHER · Starter · Team PIT
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 9
All-history rows before 20260521: 9

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB1.5560.000-0.5561.000
predicted_ER0.0000.0000.000Pitching_ER2.1114.000-2.111-4.000
predicted_H3.0003.0003.000Pitching_H4.8897.000-1.889-4.000
predicted_IP6.1006.1006.100Pitching_InningsPitched5.9676.2000.133-0.100
predicted_SO7.0007.0007.000Pitching_SO6.2225.0000.7782.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: 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_guardrail10101-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": "677952",
  "player_name": "Braxton Ashcraft",
  "position": "Starter",
  "team": "PIT",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 0.0,
        "predicted_H": 3.0,
        "predicted_HR": 0.0,
        "predicted_IP": 6.3333,
        "predicted_SO": 7.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "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": 0.0,
        "predicted_H": 3.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": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 6.3333,
          "after": 6.1,
          "delta": -0.2333,
          "percent_delta": -0.0368,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 7.0,
          "after": 7.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 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": 0.0,
        "predicted_H": 3.0,
        "predicted_HR": 0.0,
        "predicted_IP": 6.1,
        "predicted_R": 0.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": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 6.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": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 3.0,
        "after": 3.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 6.3333,
        "after": 6.1,
        "delta": -0.2333,
        "percent_delta": -0.0368,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 7.0,
        "after": 7.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 0,
      "deboosted_metrics": 1,
      "better_metrics": 0,
      "worse_metrics": 1,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 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": "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_H3.000-
predicted_HR0.000-
predicted_IP6.333-
predicted_SO7.000-
2. pitcher_quality_guardrail

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

MetricValueDelta vs Prev Step
predicted_BB1.0000.000
predicted_ER0.0000.000
predicted_H3.0000.000
predicted_HR0.0000.000
predicted_IP6.100-0.233
predicted_SO7.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 9
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.20013.00027.0007.00029.0005.0003.58161.04080.39800.82650.21430.88780.1531
last_100.35955.10019.00044.00014.00056.0005.0003.09041.04820.34340.79520.25301.01200.0904
season0.20955.10019.00044.00014.00056.0005.0003.09041.04820.34340.79520.25301.01200.0904
Weighted Prediction From Real Data
MetricValue
predicted_BB1.7980
predicted_ER2.6210
predicted_ERA3.6952
predicted_H5.4880
predicted_HR0.8270
predicted_IP6.1000
predicted_SO6.0070
predicted_WHIP1.1414
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00001.79801.3983model_form_blend
predicted_ER0.00002.62101.3082model_form_blend
predicted_ERA-3.69523.6952form_only
predicted_H3.00005.48804.2418model_form_blend
predicted_HR0.00000.82700.4128model_form_blend
predicted_IP6.10006.10006.1000model_form_blend
predicted_SO7.00006.00706.5044model_form_blend
predicted_WHIP-1.14141.1414form_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 used9
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP6.1
H3
R0
ER0
BB1
SO7
HR0
BF23
Pitches105

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 Faced28
Pitching_ER4
Pitching_ERA3.09
Pitching_Flyouts2
Pitching_Groundouts11
Pitching_H7
Pitching_HBP2
Pitching_HR1
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched6.2
Pitching_Pitches100
Pitching_R4
Pitching_SO5
Pitching_Strikes76
Pitching_Wild Pitch0
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260515_PHI@PIT
game_typefull
mlbID677952
playerID677952
playerNameBraxton Ashcraft
posP
startedTrue
startingPositionP
teamPIT
teamID22
game_date2026-05-15
game_pk823384.0
sl_k_percent25.6
sl_bb_percent6.4
sl_woba0.281
sl_xwoba0.271
sl_sweet_spot_percent28.1
sl_barrel_batted_rate5.5
sl_hard_hit_percent37.7
sl_whiff_percent27.4
sl_swing_percent50.3
sv_pitch_count100.0
sv_outs_recorded_est20.0
sv_release_speed93.223
sv_release_spin_rate2448.66
sv_effective_speed93.524
sv_launch_speed85.48409090909091
sv_launch_angle10.522727272727272
sv_woba_value8.8
sv_woba_denom28.0
sv_delta_run_exp0.5449999999999998
sv_delta_home_win_exp0.141
sl_avg_best_speed79.856144583
sl_avg_hyper_speed94.135084375
Dennis Santana (642701) · PITCHER · Middle Reliever · Team PIT
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 22
All-history rows before 20260521: 22

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.4090.000-0.4090.000
predicted_ER3.0003.0003.000Pitching_ER0.4550.0002.5453.000
predicted_H3.0003.0003.000Pitching_H0.8640.0002.1363.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.8821.0000.1180.000
predicted_SO0.0000.0000.000Pitching_SO0.5911.000-0.591-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": "642701",
  "player_name": "Dennis Santana",
  "position": "Middle Reliever",
  "team": "PIT",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 3.0,
        "predicted_H": 3.0,
        "predicted_HR": 3.0,
        "predicted_IP": 1.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 3.0,
        "predicted_H": 3.0,
        "predicted_HR": 3.0,
        "predicted_IP": 1.0,
        "predicted_R": 3.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 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": 3.0,
        "after": 3.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 3.0,
        "after": 3.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 3.0,
        "after": 3.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_ER3.000-
predicted_H3.000-
predicted_HR3.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: 21
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.0003.0001.0003.0001.0001.92860.85710.21430.64290.21430.64290.2143
last_100.35109.1007.00011.0004.0006.0003.0006.75001.60710.75001.17860.42860.64290.3214
season0.202120.1008.00015.0009.00013.0003.0003.54101.18030.39340.73770.44260.63930.1475
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3580
predicted_ER0.4560
predicted_ERA4.1048
predicted_H0.9000
predicted_HR0.1790
predicted_IP1.0000
predicted_SO0.8130
predicted_WHIP1.2580
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.35800.1489model_form_blend
predicted_ER3.00000.45601.9416model_form_blend
predicted_ERA-4.10484.1048form_only
predicted_H3.00000.90002.1264model_form_blend
predicted_HR3.00000.17901.8264model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO0.00000.81300.3382model_form_blend
predicted_WHIP-1.25801.2580form_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 used21
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H3
R3
ER3
BB0
SO0
HR3
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_BB0
Pitching_Balk0
Pitching_Batters Faced3
Pitching_ER0
Pitching_ERA4.43
Pitching_Flyouts1
Pitching_Groundouts1
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches11
Pitching_R0
Pitching_SO1
Pitching_Strikes10
Pitching_Wild Pitch0
Pitching_pitchingOrder5
allPositionsPlayedP
gameID20260520_PIT@STL
game_typefull
mlbID642701
playerID642701
playerNameDennis Santana
posP
startedFalse
startingPositionP
teamPIT
teamID22
game_date2026-05-20
sl_k_percent14.1
sl_bb_percent10.6
sl_woba0.349
sl_xwoba0.374
sl_sweet_spot_percent42.9
sl_barrel_batted_rate11.1
sl_hard_hit_percent38.1
sl_whiff_percent22.0
sl_swing_percent48.3
sl_avg_best_speed77.274550625
sl_avg_hyper_speed93.870755714
Gregory Soto (642397) · PITCHER · Middle Reliever · Team PIT
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 23
All-history rows before 20260521: 23

Metric-by-Metric Comparison

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

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 23
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.1003.0004.0002.0005.0000.0005.06251.12500.56250.75000.37500.93750.0000
last_100.351010.2003.0005.0003.00010.0000.0002.53120.75000.28120.46880.28120.93750.0000
season0.202323.1006.00010.0009.00029.0001.0002.31430.81430.25710.42860.38571.24290.0429
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3610
predicted_ER0.4380
predicted_ERA3.9448
predicted_H0.7710
predicted_HR0.0720
predicted_IP1.0000
predicted_SO0.9740
predicted_WHIP1.1321
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.36100.1554model_form_blend
predicted_ER0.00000.43800.1885model_form_blend
predicted_ERA-3.94483.9448form_only
predicted_H1.00000.77100.9014model_form_blend
predicted_HR0.00000.07200.0310model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00000.97400.9888model_form_blend
predicted_WHIP-1.13211.1321form_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 date23
Season rows before report date23
Report year2026
Profile rows used23
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
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 Faced3
Pitching_ER0
Pitching_ERA2.31
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches13
Pitching_R0
Pitching_SO3
Pitching_Strikes9
Pitching_Wild Pitch0
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260519_PIT@STL
game_typefull
mlbID642397
playerID642397
playerNameGregory Soto
posP
startedFalse
startingPositionP
teamPIT
teamID22
game_date2026-05-19
game_pk823059.0
sl_k_percent32.6
sl_bb_percent10.1
sl_woba0.207
sl_xwoba0.238
sl_sweet_spot_percent24.0
sl_barrel_batted_rate4.0
sl_hard_hit_percent32.0
sl_whiff_percent27.2
sl_swing_percent42.2
sv_pitch_count13.0
sv_outs_recorded_est3.0
sv_release_speed92.8076923076923
sv_release_spin_rate2467.076923076923
sv_effective_speed92.51538461538462
sv_launch_speed93.3
sv_launch_angle43.0
sv_woba_value0.0
sv_woba_denom3.0
sv_delta_run_exp-0.773
sv_delta_home_win_exp-0.1389999999999999
sl_avg_best_speed71.863982083
sl_avg_hyper_speed92.712075625
Mason Montgomery (682254) · PITCHER · Middle Reliever · Team PIT
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 19
All-history rows before 20260521: 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.4210.0001.5792.000
predicted_ER0.0000.0000.000Pitching_ER0.4212.000-0.421-2.000
predicted_H1.0001.0001.000Pitching_H0.8422.0000.158-1.000
predicted_IP0.2000.2000.200Pitching_InningsPitched0.8000.000-0.6000.200
predicted_SO0.0000.0000.000Pitching_SO1.3680.000-1.3680.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectworse
Changed Metrics1
Boosted Metrics0
Deboosted Metrics1
Better Metrics0
Worse Metrics1
Biggest Boost-
Biggest Deboostpredicted_IP: 0.6667 -> 0.2000 (deboost -0.4667, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final10101-predicted_IP: 0.6667 -> 0.2000 (deboost -0.4667, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "682254",
  "player_name": "Mason Montgomery",
  "position": "Middle Reliever",
  "team": "PIT",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 2.0,
        "predicted_ER": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.6667,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 2.0,
        "predicted_ER": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.2,
        "predicted_R": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 0.6667,
          "after": 0.2,
          "delta": -0.4667,
          "percent_delta": -0.7,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 0.6667,
          "after": 0.2,
          "delta": -0.4667,
          "percent_delta": -0.7,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 0.6667,
        "after": 0.2,
        "delta": -0.4667,
        "percent_delta": -0.7,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 0,
      "deboosted_metrics": 1,
      "better_metrics": 0,
      "worse_metrics": 1,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 0.6667,
        "after": 0.2,
        "delta": -0.4667,
        "percent_delta": -0.7,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB2.000-
predicted_ER0.000-
predicted_H1.000-
predicted_HR0.000-
predicted_IP0.667-
predicted_SO0.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 18
Reference playing time: 0.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.2001.0003.0002.0004.0001.0001.58820.88240.17650.52940.35290.70590.1765
last_100.351010.2001.0005.0003.00010.0001.0000.84380.75000.09380.46880.28120.93750.0938
season0.201818.0006.00014.0008.00026.0002.0003.00001.22220.33330.77780.44441.44440.1111
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2930
predicted_ER0.2810
predicted_ERA3.1444
predicted_H0.6300
predicted_HR0.1060
predicted_IP0.2000
predicted_SO0.7610
predicted_WHIP1.1453
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB2.00000.29301.3114model_form_blend
predicted_ER0.00000.28100.1134model_form_blend
predicted_ERA-3.14443.1444form_only
predicted_H1.00000.63000.8507model_form_blend
predicted_HR0.00000.10600.0428model_form_blend
predicted_IP0.20000.20000.2000model_form_blend
predicted_SO0.00000.76100.3070model_form_blend
predicted_WHIP-1.14531.1453form_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
IP0.2
H1
R0
ER0
BB2
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 Faced2
Pitching_ER2
Pitching_ERA4.00
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H2
Pitching_HBP0
Pitching_HR1
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches5
Pitching_R3
Pitching_SO0
Pitching_Strikes5
Pitching_Wild Pitch0
Pitching_decisionL
Pitching_pitchingOrder5
allPositionsPlayedP
gameID20260519_PIT@STL
game_typefull
mlbID682254
playerID682254
playerNameMason Montgomery
posP
startedFalse
startingPositionP
teamPIT
teamID22
game_date2026-05-19
game_pk823059.0
sl_k_percent33.3
sl_bb_percent10.3
sl_woba0.312
sl_xwoba0.323
sl_sweet_spot_percent27.3
sl_barrel_batted_rate11.4
sl_hard_hit_percent47.7
sl_whiff_percent35.8
sl_swing_percent53.5
sv_pitch_count5.0
sv_outs_recorded_est0.0
sv_release_speed88.86
sv_release_spin_rate2659.0
sv_effective_speed90.3
sv_launch_speed91.33333333333331
sv_launch_angle33.0
sv_woba_value2.9
sv_woba_denom2.0
sv_delta_run_exp1.436
sv_delta_home_win_exp0.195
sl_avg_best_speed77.698796364
sl_avg_hyper_speed96.029164091

Home Team: STL

Home Pitcher Deep Analysis

FieldValue
PitcherDustin May
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.3453
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.1487
Avg Velo92.3380
Avg Spin2514.3851
HB Inches0
IVB Inches0
Release Extension0
Pre IP5.1000
Pre ER2
Pre H5
Pre BB2
Pre SO7
Season ERA4.8082
Season WHIP1.4178
Role Avg IP5.4070
Recent Avg IP5.8670
Last Start IP6
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "STL",
    "games": 55,
    "wins": 34,
    "losses": 21,
    "win_pct": 0.6182,
    "runs_scored": 243.0,
    "runs_allowed": 231.0,
    "run_differential": 12.0,
    "run_differential_per_game": 0.2182,
    "avg_runs_scored": 4.4182,
    "avg_runs_allowed": 4.2,
    "offense_index": 0.9865,
    "defense_index": 1.0663,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 3.5,
      "avg_runs_allowed": 4.2,
      "run_differential": -7.0
    },
    "available": true,
    "quality_score": 0.1273
  },
  "opponent": {
    "team": "PIT",
    "games": 55,
    "wins": 27,
    "losses": 28,
    "win_pct": 0.4909,
    "runs_scored": 261.0,
    "runs_allowed": 248.0,
    "run_differential": 13.0,
    "run_differential_per_game": 0.2364,
    "avg_runs_scored": 4.7455,
    "avg_runs_allowed": 4.5091,
    "offense_index": 1.0596,
    "defense_index": 0.9932,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 5.5,
      "avg_runs_allowed": 5.5,
      "run_differential": 0.0
    },
    "available": true,
    "quality_score": -0.0137
  },
  "edges": {
    "quality_edge": 0.141,
    "offense_edge": -0.0135,
    "opponent_offense_edge": 0.0596,
    "defense_strength": 0.0663,
    "opponent_defense_weakness": 0.0068,
    "recent_win_pct_edge": 0.1
  },
  "player_factors": {
    "ip": 1.0052,
    "run_prevention": 0.9959,
    "strikeout": 0.9995
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "669160",
    "profile": {
      "available": true,
      "pitcher_id": "669160",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 178.0,
        "k_percent": 17.1,
        "bb_percent": 7.3,
        "woba": 0.346,
        "xwoba": 0.332,
        "sweet_spot_percent": 35.5,
        "barrel_batted_rate": 6.6,
        "hard_hit_percent": 52.0,
        "avg_best_speed": 79.8268,
        "avg_hyper_speed": 95.3944,
        "whiff_percent": 17.9,
        "swing_percent": 46.6
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": -0.6592,
        "command_and_miss": -0.645,
        "regression_edge": 0.4,
        "xwoba_edge": -0.5714,
        "barrel_edge": 0.1333,
        "hard_hit_edge": -1.9,
        "whiff_edge": -1.1143,
        "bb_edge": 0.525,
        "pitch_design_score": 0.1487
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "669160",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 95,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 95,
          "pitch_usage": 0.0,
          "release_speed": 92.33804694338221,
          "release_spin_rate": 2514.3850730700665,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 95,
            "pitch_usage": 0.0,
            "release_speed": 92.33804694338221,
            "release_spin_rate": 2514.3850730700665,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.338,
          "release_spin_rate": 2514.3851,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.1487,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.0618,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.3453,
      "sample_weight": 0.712,
      "run_prevention_factor": 1.0293,
      "strikeout_factor": 0.9455,
      "walk_factor": 0.9701,
      "homer_factor": 1.0587,
      "woba_minus_xwoba": 0.014,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "669160",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 2.0,
        "factor": 1.0209,
        "adjusted": 2
      },
      "predicted_H": {
        "original": 6.0,
        "factor": 1.0209,
        "adjusted": 6
      },
      "predicted_BB": {
        "original": 2.0,
        "factor": 0.9787,
        "adjusted": 2
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0418,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 4.0,
        "factor": 0.9612,
        "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": 48.2,
    "ER": 26,
    "H": 54,
    "BB": 15,
    "SO": 35,
    "HR": 4,
    "ERA": 4.808219178082192,
    "WHIP": 1.4178082191780823,
    "K9": 6.472602739726027,
    "HR9": 0.7397260273972603,
    "games_pitched": 9,
    "quality_starts": 6,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 9,
    "error_prone": false
  },
  "games_count": 9,
  "latest_game_date": "2026-05-15T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "669160",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 95,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 95,
    "pitch_usage": 0.0,
    "release_speed": 92.33804694338221,
    "release_spin_rate": 2514.3850730700665,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 95,
      "pitch_usage": 0.0,
      "release_speed": 92.33804694338221,
      "release_spin_rate": 2514.3850730700665,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.338,
    "release_spin_rate": 2514.3851,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1487,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.0618,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.6164383561643836,
    "last_10": 0.3835616438356164
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 9.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6429,
    "prior_weight": 0.3571
  },
  "role": "pitcher",
  "player_id": "669160",
  "report_date": "20260521_P",
  "season_year": 2026,
  "rows_used": 9,
  "reference_playing_time": 5.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 29.1,
        "ER": 11.0,
        "R": 12.0,
        "H": 27.0,
        "BB": 11.0,
        "SO": 20.0,
        "HR": 2.0,
        "BF": 121.0,
        "Pitches": 475.0
      },
      "per_game": {
        "IP": 6.0,
        "ER": 2.2,
        "R": 2.4,
        "H": 5.4,
        "BB": 2.2,
        "SO": 4.0,
        "HR": 0.4,
        "BF": 24.2,
        "Pitches": 95.0
      },
      "rates": {
        "ERA": 3.375,
        "WHIP": 1.2955,
        "ER_per_IP": 0.375,
        "H_per_IP": 0.92045,
        "BB_per_IP": 0.375,
        "SO_per_IP": 0.68182,
        "HR_per_IP": 0.06818
      }
    },
    "last_10": {
      "games": 9,
      "totals": {
        "IP": 48.2,
        "ER": 26.0,
        "R": 28.0,
        "H": 54.0,
        "BB": 15.0,
        "SO": 35.0,
        "HR": 4.0,
        "BF": 205.0,
        "Pitches": 781.0
      },
      "per_game": {
        "IP": 5.1,
        "ER": 2.8889,
        "R": 3.1111,
        "H": 6.0,
        "BB": 1.6667,
        "SO": 3.8889,
        "HR": 0.4444,
        "BF": 22.7778,
        "Pitches": 86.7778
      },
      "rates": {
        "ERA": 4.8082,
        "WHIP": 1.4178,
        "ER_per_IP": 0.53425,
        "H_per_IP": 1.10959,
        "BB_per_IP": 0.30822,
        "SO_per_IP": 0.71918,
        "HR_per_IP": 0.08219
      }
    },
    "season": {
      "games": 9,
      "totals": {
        "IP": 48.2,
        "ER": 26.0,
        "R": 28.0,
        "H": 54.0,
        "BB": 15.0,
        "SO": 35.0,
        "HR": 4.0,
        "BF": 205.0,
        "Pitches": 781.0
      },
      "per_game": {
        "IP": 5.1,
        "ER": 2.8889,
        "R": 3.1111,
        "H": 6.0,
        "BB": 1.6667,
        "SO": 3.8889,
        "HR": 0.4444,
        "BF": 22.7778,
        "Pitches": 86.7778
      },
      "rates": {
        "ERA": 4.8082,
        "WHIP": 1.4178,
        "ER_per_IP": 0.53425,
        "H_per_IP": 1.10959,
        "BB_per_IP": 0.30822,
        "SO_per_IP": 0.71918,
        "HR_per_IP": 0.08219
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 5.2,
    "predicted_ER": 2.564,
    "predicted_H": 5.571,
    "predicted_BB": 2.052,
    "predicted_SO": 4.5,
    "predicted_HR": 0.536,
    "predicted_ERA": 4.0369,
    "predicted_WHIP": 1.3335
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5009,
  "form_weight": 0.4991,
  "form_reliability": 0.6429,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 9.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6429,
    "prior_weight": 0.3571
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 5.2,
      "form": 5.2,
      "final": 5.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 2.0,
      "form": 2.564,
      "final": 2.2815,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 5.0,
      "form": 5.571,
      "final": 5.285,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 2.0,
      "form": 2.052,
      "final": 2.026,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 7.0,
      "form": 4.5,
      "final": 5.7522,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.536,
      "final": 0.2675,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.0369,
      "final": 4.0369,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.3335,
      "final": 1.3335,
      "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
PitcherGeorge Soriano
RoleMiddle Reliever
Projection Source-
Savant Quality Score-0.2764
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.0994
Avg Velo91.4592
Avg Spin2194.8691
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER1
Pre H2
Pre BB0
Pre SO1
Season ERA3.4839
Season WHIP1.2097
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "STL",
    "games": 55,
    "wins": 34,
    "losses": 21,
    "win_pct": 0.6182,
    "runs_scored": 243.0,
    "runs_allowed": 231.0,
    "run_differential": 12.0,
    "run_differential_per_game": 0.2182,
    "avg_runs_scored": 4.4182,
    "avg_runs_allowed": 4.2,
    "offense_index": 0.9865,
    "defense_index": 1.0663,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 3.5,
      "avg_runs_allowed": 4.2,
      "run_differential": -7.0
    },
    "available": true,
    "quality_score": 0.1273
  },
  "opponent": {
    "team": "PIT",
    "games": 55,
    "wins": 27,
    "losses": 28,
    "win_pct": 0.4909,
    "runs_scored": 261.0,
    "runs_allowed": 248.0,
    "run_differential": 13.0,
    "run_differential_per_game": 0.2364,
    "avg_runs_scored": 4.7455,
    "avg_runs_allowed": 4.5091,
    "offense_index": 1.0596,
    "defense_index": 0.9932,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 5.5,
      "avg_runs_allowed": 5.5,
      "run_differential": 0.0
    },
    "available": true,
    "quality_score": -0.0137
  },
  "edges": {
    "quality_edge": 0.141,
    "offense_edge": -0.0135,
    "opponent_offense_edge": 0.0596,
    "defense_strength": 0.0663,
    "opponent_defense_weakness": 0.0068,
    "recent_win_pct_edge": 0.1
  },
  "player_factors": {
    "ip": 1.0052,
    "run_prevention": 0.9959,
    "strikeout": 0.9995
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "666277",
    "profile": {
      "available": true,
      "pitcher_id": "666277",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 83.0,
        "k_percent": 19.5,
        "bb_percent": 11.5,
        "woba": 0.294,
        "xwoba": 0.369,
        "sweet_spot_percent": 25.4,
        "barrel_batted_rate": 11.9,
        "hard_hit_percent": 39.0,
        "avg_best_speed": 79.2207,
        "avg_hyper_speed": 95.0912,
        "whiff_percent": 30.1,
        "swing_percent": 47.7
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": -0.7117,
        "command_and_miss": -0.0907,
        "regression_edge": -2.0,
        "xwoba_edge": -1.6286,
        "barrel_edge": -1.0444,
        "hard_hit_edge": -0.0429,
        "whiff_edge": 0.6286,
        "bb_edge": -0.525,
        "pitch_design_score": 0.0994
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "666277",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 12,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 12,
          "pitch_usage": 0.0,
          "release_speed": 91.45923116004955,
          "release_spin_rate": 2194.8690826039483,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 12,
            "pitch_usage": 0.0,
            "release_speed": 91.45923116004955,
            "release_spin_rate": 2194.8690826039483,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.4592,
          "release_spin_rate": 2194.8691,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.0994,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.7103,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.2764,
      "sample_weight": 0.45,
      "run_prevention_factor": 1.0235,
      "strikeout_factor": 1.0031,
      "walk_factor": 1.0189,
      "homer_factor": 1.0604,
      "woba_minus_xwoba": -0.075,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "666277",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 1.0106,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 1.0106,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0085,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0272,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0014,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 9.1,
    "ER": 2,
    "H": 9,
    "BB": 4,
    "SO": 8,
    "HR": 2,
    "ERA": 1.9285714285714288,
    "WHIP": 1.392857142857143,
    "K9": 7.714285714285715,
    "HR9": 1.9285714285714288,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-05-19T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "666277",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 12,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 12,
    "pitch_usage": 0.0,
    "release_speed": 91.45923116004955,
    "release_spin_rate": 2194.8690826039483,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 12,
      "pitch_usage": 0.0,
      "release_speed": 91.45923116004955,
      "release_spin_rate": 2194.8690826039483,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.4592,
    "release_spin_rate": 2194.8691,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.0994,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.7103,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.094,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4502,
    "prior_weight": 0.5498
  },
  "role": "pitcher",
  "player_id": "666277",
  "report_date": "20260521_P",
  "season_year": 2026,
  "rows_used": 22,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.1,
        "ER": 2.0,
        "R": 2.0,
        "H": 5.0,
        "BB": 1.0,
        "SO": 3.0,
        "HR": 2.0,
        "BF": 18.0,
        "Pitches": 63.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.4,
        "H": 1.0,
        "BB": 0.2,
        "SO": 0.6,
        "HR": 0.4,
        "BF": 3.6,
        "Pitches": 12.6
      },
      "rates": {
        "ERA": 4.1538,
        "WHIP": 1.3846,
        "ER_per_IP": 0.46154,
        "H_per_IP": 1.15385,
        "BB_per_IP": 0.23077,
        "SO_per_IP": 0.69231,
        "HR_per_IP": 0.46154
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.1,
        "ER": 2.0,
        "R": 3.0,
        "H": 9.0,
        "BB": 4.0,
        "SO": 8.0,
        "HR": 2.0,
        "BF": 40.0,
        "Pitches": 168.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.3,
        "H": 0.9,
        "BB": 0.4,
        "SO": 0.8,
        "HR": 0.2,
        "BF": 4.0,
        "Pitches": 16.8
      },
      "rates": {
        "ERA": 1.9286,
        "WHIP": 1.3929,
        "ER_per_IP": 0.21429,
        "H_per_IP": 0.96429,
        "BB_per_IP": 0.42857,
        "SO_per_IP": 0.85714,
        "HR_per_IP": 0.21429
      }
    },
    "season": {
      "games": 22,
      "totals": {
        "IP": 20.2,
        "ER": 8.0,
        "R": 9.0,
        "H": 15.0,
        "BB": 10.0,
        "SO": 17.0,
        "HR": 3.0,
        "BF": 87.0,
        "Pitches": 342.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3636,
        "R": 0.4091,
        "H": 0.6818,
        "BB": 0.4545,
        "SO": 0.7727,
        "HR": 0.1364,
        "BF": 3.9545,
        "Pitches": 15.5455
      },
      "rates": {
        "ERA": 3.4839,
        "WHIP": 1.2097,
        "ER_per_IP": 0.3871,
        "H_per_IP": 0.72581,
        "BB_per_IP": 0.48387,
        "SO_per_IP": 0.82258,
        "HR_per_IP": 0.14516
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.421,
    "predicted_H": 0.969,
    "predicted_BB": 0.365,
    "predicted_SO": 0.872,
    "predicted_HR": 0.212,
    "predicted_ERA": 3.7896,
    "predicted_WHIP": 1.3332
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5823,
  "form_weight": 0.4177,
  "form_reliability": 0.4502,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.094,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4502,
    "prior_weight": 0.5498
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 0.421,
      "final": 0.7581,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 0.969,
      "final": 1.5693,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.365,
      "final": 0.1525,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.872,
      "final": 0.9465,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.212,
      "final": 0.6708,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.7896,
      "final": 3.7896,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.3332,
      "final": 1.3332,
      "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
PitcherJoJo Romero
RoleMiddle Reliever
Projection Source-
Savant Quality Score-0.1976
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0526
Avg Velo88.7438
Avg Spin2239.5719
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H1
Pre BB0
Pre SO1
Season ERA3.0423
Season WHIP1.1831
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "STL",
    "games": 55,
    "wins": 34,
    "losses": 21,
    "win_pct": 0.6182,
    "runs_scored": 243.0,
    "runs_allowed": 231.0,
    "run_differential": 12.0,
    "run_differential_per_game": 0.2182,
    "avg_runs_scored": 4.4182,
    "avg_runs_allowed": 4.2,
    "offense_index": 0.9865,
    "defense_index": 1.0663,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 3.5,
      "avg_runs_allowed": 4.2,
      "run_differential": -7.0
    },
    "available": true,
    "quality_score": 0.1273
  },
  "opponent": {
    "team": "PIT",
    "games": 55,
    "wins": 27,
    "losses": 28,
    "win_pct": 0.4909,
    "runs_scored": 261.0,
    "runs_allowed": 248.0,
    "run_differential": 13.0,
    "run_differential_per_game": 0.2364,
    "avg_runs_scored": 4.7455,
    "avg_runs_allowed": 4.5091,
    "offense_index": 1.0596,
    "defense_index": 0.9932,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 5.5,
      "avg_runs_allowed": 5.5,
      "run_differential": 0.0
    },
    "available": true,
    "quality_score": -0.0137
  },
  "edges": {
    "quality_edge": 0.141,
    "offense_edge": -0.0135,
    "opponent_offense_edge": 0.0596,
    "defense_strength": 0.0663,
    "opponent_defense_weakness": 0.0068,
    "recent_win_pct_edge": 0.1
  },
  "player_factors": {
    "ip": 1.0052,
    "run_prevention": 0.9959,
    "strikeout": 0.9995
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "668941",
    "profile": {
      "available": true,
      "pitcher_id": "668941",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 91.0,
        "k_percent": 21.6,
        "bb_percent": 9.3,
        "woba": 0.297,
        "xwoba": 0.34,
        "sweet_spot_percent": 36.4,
        "barrel_batted_rate": 7.6,
        "hard_hit_percent": 43.9,
        "avg_best_speed": 81.0338,
        "avg_hyper_speed": 95.4497,
        "whiff_percent": 24.2,
        "swing_percent": 39.0
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": -0.4917,
        "command_and_miss": -0.1407,
        "regression_edge": -1.2286,
        "xwoba_edge": -0.8,
        "barrel_edge": -0.0889,
        "hard_hit_edge": -0.7429,
        "whiff_edge": -0.2143,
        "bb_edge": 0.025,
        "pitch_design_score": -0.0526
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "668941",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 16,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 16,
          "pitch_usage": 0.0,
          "release_speed": 88.74378736064418,
          "release_spin_rate": 2239.5719070639543,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 16,
            "pitch_usage": 0.0,
            "release_speed": 88.74378736064418,
            "release_spin_rate": 2239.5719070639543,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.7438,
          "release_spin_rate": 2239.5719,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.0526,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.3759,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.1976,
      "sample_weight": 0.45,
      "run_prevention_factor": 1.0168,
      "strikeout_factor": 0.9933,
      "walk_factor": 0.9991,
      "homer_factor": 1.0274,
      "woba_minus_xwoba": -0.043,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "668941",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 1.0076,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 1.0076,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9996,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0123,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 0.997,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 10.0,
    "ER": 2,
    "H": 7,
    "BB": 5,
    "SO": 13,
    "HR": 1,
    "ERA": 1.8000000000000003,
    "WHIP": 1.2000000000000002,
    "K9": 11.700000000000003,
    "HR9": 0.9000000000000001,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-05-19T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "668941",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 16,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 16,
    "pitch_usage": 0.0,
    "release_speed": 88.74378736064418,
    "release_spin_rate": 2239.5719070639543,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 16,
      "pitch_usage": 0.0,
      "release_speed": 88.74378736064418,
      "release_spin_rate": 2239.5719070639543,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.7438,
    "release_spin_rate": 2239.5719,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0526,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.3759,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.689,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4839,
    "prior_weight": 0.5161
  },
  "role": "pitcher",
  "player_id": "668941",
  "report_date": "20260521_P",
  "season_year": 2026,
  "rows_used": 23,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.2,
        "ER": 1.0,
        "R": 1.0,
        "H": 4.0,
        "BB": 2.0,
        "SO": 7.0,
        "HR": 0.0,
        "BF": 23.0,
        "Pitches": 102.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.8,
        "BB": 0.4,
        "SO": 1.4,
        "HR": 0.0,
        "BF": 4.6,
        "Pitches": 20.4
      },
      "rates": {
        "ERA": 1.5882,
        "WHIP": 1.0588,
        "ER_per_IP": 0.17647,
        "H_per_IP": 0.70588,
        "BB_per_IP": 0.35294,
        "SO_per_IP": 1.23529,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.0,
        "ER": 2.0,
        "R": 2.0,
        "H": 7.0,
        "BB": 5.0,
        "SO": 13.0,
        "HR": 1.0,
        "BF": 41.0,
        "Pitches": 180.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.7,
        "BB": 0.5,
        "SO": 1.3,
        "HR": 0.1,
        "BF": 4.1,
        "Pitches": 18.0
      },
      "rates": {
        "ERA": 1.8,
        "WHIP": 1.2,
        "ER_per_IP": 0.2,
        "H_per_IP": 0.7,
        "BB_per_IP": 0.5,
        "SO_per_IP": 1.3,
        "HR_per_IP": 0.1
      }
    },
    "season": {
      "games": 23,
      "totals": {
        "IP": 23.2,
        "ER": 8.0,
        "R": 8.0,
        "H": 19.0,
        "BB": 9.0,
        "SO": 21.0,
        "HR": 3.0,
        "BF": 97.0,
        "Pitches": 403.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3478,
        "R": 0.3478,
        "H": 0.8261,
        "BB": 0.3913,
        "SO": 0.913,
        "HR": 0.1304,
        "BF": 4.2174,
        "Pitches": 17.5217
      },
      "rates": {
        "ERA": 3.0423,
        "WHIP": 1.1831,
        "ER_per_IP": 0.33803,
        "H_per_IP": 0.80282,
        "BB_per_IP": 0.38028,
        "SO_per_IP": 0.88732,
        "HR_per_IP": 0.12676
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.348,
    "predicted_H": 0.836,
    "predicted_BB": 0.392,
    "predicted_SO": 1.066,
    "predicted_HR": 0.096,
    "predicted_ERA": 3.1328,
    "predicted_WHIP": 1.2282
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5681,
  "form_weight": 0.4319,
  "form_reliability": 0.4839,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.689,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4839,
    "prior_weight": 0.5161
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.348,
      "final": 0.1503,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.836,
      "final": 0.9292,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.392,
      "final": 0.1693,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.066,
      "final": 1.0285,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.096,
      "final": 0.0415,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.1328,
      "final": 3.1328,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2282,
      "final": 1.2282,
      "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
PitcherRiley O'Brien
RoleMiddle Reliever
Projection Source-
Savant Quality Score0.2724
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.2163
Avg Velo93.5461
Avg Spin2285.6375
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB1
Pre SO2
Season ERA3.1304
Season WHIP1
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "STL",
    "games": 55,
    "wins": 34,
    "losses": 21,
    "win_pct": 0.6182,
    "runs_scored": 243.0,
    "runs_allowed": 231.0,
    "run_differential": 12.0,
    "run_differential_per_game": 0.2182,
    "avg_runs_scored": 4.4182,
    "avg_runs_allowed": 4.2,
    "offense_index": 0.9865,
    "defense_index": 1.0663,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 3.5,
      "avg_runs_allowed": 4.2,
      "run_differential": -7.0
    },
    "available": true,
    "quality_score": 0.1273
  },
  "opponent": {
    "team": "PIT",
    "games": 55,
    "wins": 27,
    "losses": 28,
    "win_pct": 0.4909,
    "runs_scored": 261.0,
    "runs_allowed": 248.0,
    "run_differential": 13.0,
    "run_differential_per_game": 0.2364,
    "avg_runs_scored": 4.7455,
    "avg_runs_allowed": 4.5091,
    "offense_index": 1.0596,
    "defense_index": 0.9932,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 5.5,
      "avg_runs_allowed": 5.5,
      "run_differential": 0.0
    },
    "available": true,
    "quality_score": -0.0137
  },
  "edges": {
    "quality_edge": 0.141,
    "offense_edge": -0.0135,
    "opponent_offense_edge": 0.0596,
    "defense_strength": 0.0663,
    "opponent_defense_weakness": 0.0068,
    "recent_win_pct_edge": 0.1
  },
  "player_factors": {
    "ip": 1.0052,
    "run_prevention": 0.9959,
    "strikeout": 0.9995
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "676617",
    "profile": {
      "available": true,
      "pitcher_id": "676617",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 85.0,
        "k_percent": 27.2,
        "bb_percent": 3.3,
        "woba": 0.276,
        "xwoba": 0.282,
        "sweet_spot_percent": 27.1,
        "barrel_batted_rate": 3.4,
        "hard_hit_percent": 40.7,
        "avg_best_speed": 74.6894,
        "avg_hyper_speed": 94.2632,
        "whiff_percent": 28.0,
        "swing_percent": 48.7
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": 0.7515,
        "command_and_miss": 0.7093,
        "regression_edge": -0.1714,
        "xwoba_edge": 0.8571,
        "barrel_edge": 0.8444,
        "hard_hit_edge": -0.2857,
        "whiff_edge": 0.3286,
        "bb_edge": 1.525,
        "pitch_design_score": 0.2163
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "676617",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 16,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 16,
          "pitch_usage": 0.0,
          "release_speed": 93.5461271029228,
          "release_spin_rate": 2285.6374516430137,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 16,
            "pitch_usage": 0.0,
            "release_speed": 93.5461271029228,
            "release_spin_rate": 2285.6374516430137,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.5461,
          "release_spin_rate": 2285.6375,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.2163,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.545,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.2724,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9768,
      "strikeout_factor": 1.0175,
      "walk_factor": 0.9451,
      "homer_factor": 0.9632,
      "woba_minus_xwoba": -0.006,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "676617",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9896,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9896,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9753,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9834,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0079,
        "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": 8,
    "H": 14,
    "BB": 3,
    "SO": 10,
    "HR": 1,
    "ERA": 7.448275862068966,
    "WHIP": 1.7586206896551726,
    "K9": 9.310344827586208,
    "HR9": 0.9310344827586208,
    "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-05-19T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "676617",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 16,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 16,
    "pitch_usage": 0.0,
    "release_speed": 93.5461271029228,
    "release_spin_rate": 2285.6374516430137,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 16,
      "pitch_usage": 0.0,
      "release_speed": 93.5461271029228,
      "release_spin_rate": 2285.6374516430137,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.5461,
    "release_spin_rate": 2285.6375,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.2163,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.545,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.557,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4768,
    "prior_weight": 0.5232
  },
  "role": "pitcher",
  "player_id": "676617",
  "report_date": "20260521_P",
  "season_year": 2026,
  "rows_used": 23,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.0,
        "ER": 4.0,
        "R": 4.0,
        "H": 5.0,
        "BB": 2.0,
        "SO": 5.0,
        "HR": 1.0,
        "BF": 22.0,
        "Pitches": 92.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.8,
        "R": 0.8,
        "H": 1.0,
        "BB": 0.4,
        "SO": 1.0,
        "HR": 0.2,
        "BF": 4.4,
        "Pitches": 18.4
      },
      "rates": {
        "ERA": 7.2,
        "WHIP": 1.4,
        "ER_per_IP": 0.8,
        "H_per_IP": 1.0,
        "BB_per_IP": 0.4,
        "SO_per_IP": 1.0,
        "HR_per_IP": 0.2
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.2,
        "ER": 8.0,
        "R": 8.0,
        "H": 14.0,
        "BB": 3.0,
        "SO": 10.0,
        "HR": 1.0,
        "BF": 47.0,
        "Pitches": 181.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.8,
        "R": 0.8,
        "H": 1.4,
        "BB": 0.3,
        "SO": 1.0,
        "HR": 0.1,
        "BF": 4.7,
        "Pitches": 18.1
      },
      "rates": {
        "ERA": 7.4483,
        "WHIP": 1.7586,
        "ER_per_IP": 0.82759,
        "H_per_IP": 1.44828,
        "BB_per_IP": 0.31034,
        "SO_per_IP": 1.03448,
        "HR_per_IP": 0.10345
      }
    },
    "season": {
      "games": 23,
      "totals": {
        "IP": 23.0,
        "ER": 8.0,
        "R": 9.0,
        "H": 20.0,
        "BB": 3.0,
        "SO": 25.0,
        "HR": 1.0,
        "BF": 92.0,
        "Pitches": 359.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3478,
        "R": 0.3913,
        "H": 0.8696,
        "BB": 0.1304,
        "SO": 1.087,
        "HR": 0.0435,
        "BF": 4.0,
        "Pitches": 15.6087
      },
      "rates": {
        "ERA": 3.1304,
        "WHIP": 1.0,
        "ER_per_IP": 0.34783,
        "H_per_IP": 0.86957,
        "BB_per_IP": 0.13043,
        "SO_per_IP": 1.08696,
        "HR_per_IP": 0.04348
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.589,
    "predicted_H": 1.032,
    "predicted_BB": 0.347,
    "predicted_SO": 0.989,
    "predicted_HR": 0.133,
    "predicted_ERA": 5.3041,
    "predicted_WHIP": 1.3785
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5711,
  "form_weight": 0.4289,
  "form_reliability": 0.4768,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.557,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4768,
    "prior_weight": 0.5232
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.589,
      "final": 0.2527,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 1.032,
      "final": 0.4427,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.347,
      "final": 0.7199,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 0.989,
      "final": 1.5663,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.133,
      "final": 0.0571,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 5.3041,
      "final": 5.3041,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.3785,
      "final": 1.3785,
      "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
PitcherRyne Stanek
RoleMiddle Reliever
Projection Source-
Savant Quality Score-0.0518
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.2770
Avg Velo94.6302
Avg Spin2181.6621
HB Inches0
IVB Inches0
Release Extension0
Pre IP0.2000
Pre ER1
Pre H1
Pre BB0
Pre SO2
Season ERA6.3000
Season WHIP1.9000
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "STL",
    "games": 55,
    "wins": 34,
    "losses": 21,
    "win_pct": 0.6182,
    "runs_scored": 243.0,
    "runs_allowed": 231.0,
    "run_differential": 12.0,
    "run_differential_per_game": 0.2182,
    "avg_runs_scored": 4.4182,
    "avg_runs_allowed": 4.2,
    "offense_index": 0.9865,
    "defense_index": 1.0663,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 3.5,
      "avg_runs_allowed": 4.2,
      "run_differential": -7.0
    },
    "available": true,
    "quality_score": 0.1273
  },
  "opponent": {
    "team": "PIT",
    "games": 55,
    "wins": 27,
    "losses": 28,
    "win_pct": 0.4909,
    "runs_scored": 261.0,
    "runs_allowed": 248.0,
    "run_differential": 13.0,
    "run_differential_per_game": 0.2364,
    "avg_runs_scored": 4.7455,
    "avg_runs_allowed": 4.5091,
    "offense_index": 1.0596,
    "defense_index": 0.9932,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 5.5,
      "avg_runs_allowed": 5.5,
      "run_differential": 0.0
    },
    "available": true,
    "quality_score": -0.0137
  },
  "edges": {
    "quality_edge": 0.141,
    "offense_edge": -0.0135,
    "opponent_offense_edge": 0.0596,
    "defense_strength": 0.0663,
    "opponent_defense_weakness": 0.0068,
    "recent_win_pct_edge": 0.1
  },
  "player_factors": {
    "ip": 1.0052,
    "run_prevention": 0.9959,
    "strikeout": 0.9995
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "592773",
    "profile": {
      "available": true,
      "pitcher_id": "592773",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 93.0,
        "k_percent": 27.8,
        "bb_percent": 17.5,
        "woba": 0.359,
        "xwoba": 0.329,
        "sweet_spot_percent": 34.6,
        "barrel_batted_rate": 7.7,
        "hard_hit_percent": 42.3,
        "avg_best_speed": 80.3957,
        "avg_hyper_speed": 96.0816,
        "whiff_percent": 36.0,
        "swing_percent": 46.9
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": -0.6014,
        "command_and_miss": 0.4379,
        "regression_edge": 0.8571,
        "xwoba_edge": -0.4857,
        "barrel_edge": -0.1111,
        "hard_hit_edge": -0.5143,
        "whiff_edge": 1.4714,
        "bb_edge": -2.025,
        "pitch_design_score": 0.277
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "592773",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 14,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 14,
          "pitch_usage": 0.0,
          "release_speed": 94.63022588898993,
          "release_spin_rate": 2181.66212684401,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 14,
            "pitch_usage": 0.0,
            "release_speed": 94.63022588898993,
            "release_spin_rate": 2181.66212684401,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.6302,
          "release_spin_rate": 2181.6621,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.277,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.9787,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.0518,
      "sample_weight": 0.45,
      "run_prevention_factor": 1.0044,
      "strikeout_factor": 1.0396,
      "walk_factor": 1.0729,
      "homer_factor": 1.0198,
      "woba_minus_xwoba": 0.03,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "592773",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 1.002,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 1.002,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0328,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0089,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0178,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 8.1,
    "ER": 4,
    "H": 6,
    "BB": 7,
    "SO": 10,
    "HR": 1,
    "ERA": 4.319999999999999,
    "WHIP": 1.5599999999999998,
    "K9": 10.799999999999999,
    "HR9": 1.0799999999999998,
    "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-05-19T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "592773",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 14,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 14,
    "pitch_usage": 0.0,
    "release_speed": 94.63022588898993,
    "release_spin_rate": 2181.66212684401,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 14,
      "pitch_usage": 0.0,
      "release_speed": 94.63022588898993,
      "release_spin_rate": 2181.66212684401,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.6302,
    "release_spin_rate": 2181.6621,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.277,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.9787,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 3.962,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4421,
    "prior_weight": 0.5579
  },
  "role": "pitcher",
  "player_id": "592773",
  "report_date": "20260521_P",
  "season_year": 2026,
  "rows_used": 23,
  "reference_playing_time": 0.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.0,
        "ER": 2.0,
        "R": 3.0,
        "H": 3.0,
        "BB": 4.0,
        "SO": 6.0,
        "HR": 1.0,
        "BF": 18.0,
        "Pitches": 65.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.4,
        "R": 0.6,
        "H": 0.6,
        "BB": 0.8,
        "SO": 1.2,
        "HR": 0.2,
        "BF": 3.6,
        "Pitches": 13.0
      },
      "rates": {
        "ERA": 4.5,
        "WHIP": 1.75,
        "ER_per_IP": 0.5,
        "H_per_IP": 0.75,
        "BB_per_IP": 1.0,
        "SO_per_IP": 1.5,
        "HR_per_IP": 0.25
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 8.1,
        "ER": 4.0,
        "R": 5.0,
        "H": 6.0,
        "BB": 7.0,
        "SO": 10.0,
        "HR": 1.0,
        "BF": 37.0,
        "Pitches": 146.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.4,
        "R": 0.5,
        "H": 0.6,
        "BB": 0.7,
        "SO": 1.0,
        "HR": 0.1,
        "BF": 3.7,
        "Pitches": 14.6
      },
      "rates": {
        "ERA": 4.32,
        "WHIP": 1.56,
        "ER_per_IP": 0.48,
        "H_per_IP": 0.72,
        "BB_per_IP": 0.84,
        "SO_per_IP": 1.2,
        "HR_per_IP": 0.12
      }
    },
    "season": {
      "games": 23,
      "totals": {
        "IP": 20.0,
        "ER": 14.0,
        "R": 16.0,
        "H": 21.0,
        "BB": 17.0,
        "SO": 27.0,
        "HR": 2.0,
        "BF": 97.0,
        "Pitches": 426.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.6087,
        "R": 0.6957,
        "H": 0.913,
        "BB": 0.7391,
        "SO": 1.1739,
        "HR": 0.087,
        "BF": 4.2174,
        "Pitches": 18.5217
      },
      "rates": {
        "ERA": 6.3,
        "WHIP": 1.9,
        "ER_per_IP": 0.7,
        "H_per_IP": 1.05,
        "BB_per_IP": 0.85,
        "SO_per_IP": 1.35,
        "HR_per_IP": 0.1
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 0.2,
    "predicted_ER": 0.254,
    "predicted_H": 0.448,
    "predicted_BB": 0.313,
    "predicted_SO": 0.579,
    "predicted_HR": 0.076,
    "predicted_ERA": 4.4856,
    "predicted_WHIP": 1.4925
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5857,
  "form_weight": 0.4143,
  "form_reliability": 0.4421,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 3.962,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4421,
    "prior_weight": 0.5579
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.1,
      "form": 0.2,
      "final": 0.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 0.254,
      "final": 0.6909,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.448,
      "final": 0.7713,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.313,
      "final": 0.1297,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 0.579,
      "final": 1.4113,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.076,
      "final": 0.0315,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.4856,
      "final": 4.4856,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.4925,
      "final": 1.4925,
      "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."
}
JJ Wetherholt (802139) · BATTER · 2B · Team STL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 215
All-history rows before 20260521: 215
System season_avg: 0.2450
Data season_avg (2026 season-to-date): 0.2449
Diff (system - data): 0.0001
System opponent_avg: 0.4100

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1210.0000.000Hitting_2B0.1210.000-0.1210.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.3004.00010.000Hitting_AB3.8744.0000.1260.000
predicted_AVG0.2280.0000.300Hitting_AVG0.2450.500-0.245-0.500
predicted_BB0.5721.0002.000Hitting_BB0.5720.0000.4281.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.9800.0003.000Hitting_H0.9492.000-0.949-2.000
predicted_HR0.1700.0001.000Hitting_HR0.1950.000-0.1950.000
predicted_OBP0.3480.2000.417Hitting_OBP0.3700.500-0.170-0.300
predicted_R0.7950.0002.000Hitting_R0.7950.000-0.7950.000
predicted_RBI0.5100.0002.000Hitting_RBI0.5440.000-0.5440.000
predicted_SB-0.0000.000BaseRunning_SB0.1261.000-0.126-1.000
predicted_SLG0.4070.0000.600Hitting_SLG0.4270.500-0.427-0.500
predicted_SO0.8283.0002.000Hitting_SO0.8280.0002.1723.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.8280 -> 3.0000 (boost 2.1720, worse)
Biggest Deboostpredicted_H: 0.9800 -> 0.0000 (deboost -0.9800, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend11110101predicted_AB: 4.3000 -> 9.5476 (boost 5.2476, better)-Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot32121predicted_SLG: 0.4555 -> 0.4844 (boost 0.0289, better)predicted_OBP: 0.3696 -> 0.3634 (deboost -0.0062, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling75252predicted_BB: 1.4455 -> 2.0000 (boost 0.5545, better)predicted_HBP: 0.7750 -> 0.0000 (deboost -0.7750, worse)AB rounded to 10 (raw=9.55), rates preserved: AVG=0.267 HR/AB=0.063
5consistency_constraints10101-predicted_R: 2.1043 -> 2.0000 (deboost -0.1043, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context33030predicted_SLG: 0.4844 -> 0.6000 (boost 0.1156, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference71607predicted_SO: 2.0000 -> 3.0000 (boost 1.0000, worse)predicted_AB: 10.0000 -> 4.0000 (deboost -6.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final30303-predicted_SLG: 0.6000 -> 0.4844 (deboost -0.1156, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "802139",
  "player_name": "JJ Wetherholt",
  "position": "2B",
  "team": "STL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.121,
        "predicted_3B": 0.0,
        "predicted_AB": 4.3,
        "predicted_AVG": 0.228,
        "predicted_BB": 0.572,
        "predicted_H": 0.98,
        "predicted_HR": 0.17,
        "predicted_OBP": 0.348,
        "predicted_R": 0.795,
        "predicted_RBI": 0.51,
        "predicted_SLG": 0.407,
        "predicted_SO": 0.828
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2583,
        "predicted_3B": 0.0009,
        "predicted_AB": 9.5476,
        "predicted_AVG": 0.2498,
        "predicted_BB": 1.4402,
        "predicted_H": 2.5296,
        "predicted_HBP": 0.775,
        "predicted_HR": 0.6014,
        "predicted_OBP": 0.3696,
        "predicted_R": 2.0734,
        "predicted_RBI": 1.5398,
        "predicted_SLG": 0.4555,
        "predicted_SO": 1.9943
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.121,
          "after": 0.2583,
          "delta": 0.1373,
          "percent_delta": 1.1347,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.3,
          "after": 9.5476,
          "delta": 5.2476,
          "percent_delta": 1.2204,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.228,
          "after": 0.2498,
          "delta": 0.0218,
          "percent_delta": 0.0956,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.572,
          "after": 1.4402,
          "delta": 0.8682,
          "percent_delta": 1.5178,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.98,
          "after": 2.5296,
          "delta": 1.5496,
          "percent_delta": 1.5812,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.17,
          "after": 0.6014,
          "delta": 0.4314,
          "percent_delta": 2.5376,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.348,
          "after": 0.3696,
          "delta": 0.0216,
          "percent_delta": 0.0621,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.795,
          "after": 2.0734,
          "delta": 1.2784,
          "percent_delta": 1.6081,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.51,
          "after": 1.5398,
          "delta": 1.0298,
          "percent_delta": 2.0192,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.407,
          "after": 0.4555,
          "delta": 0.0485,
          "percent_delta": 0.1192,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.828,
          "after": 1.9943,
          "delta": 1.1663,
          "percent_delta": 1.4086,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 11,
        "boosted_metrics": 11,
        "deboosted_metrics": 0,
        "better_metrics": 10,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.3,
          "after": 9.5476,
          "delta": 5.2476,
          "percent_delta": 1.2204,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 2,
        "last_10": 3,
        "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.2583,
        "predicted_3B": 0.0009,
        "predicted_AB": 9.5476,
        "predicted_AVG": 0.267,
        "predicted_BB": 1.4455,
        "predicted_H": 2.5493,
        "predicted_HBP": 0.775,
        "predicted_HR": 0.6051,
        "predicted_OBP": 0.3634,
        "predicted_R": 2.1043,
        "predicted_RBI": 1.5627,
        "predicted_SLG": 0.4844,
        "predicted_SO": 1.9869
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2583,
          "after": 0.2583,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.5476,
          "after": 9.5476,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2498,
          "after": 0.267,
          "delta": 0.0172,
          "percent_delta": 0.0689,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.4402,
          "after": 1.4455,
          "delta": 0.0053,
          "percent_delta": 0.0037,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.5296,
          "after": 2.5493,
          "delta": 0.0197,
          "percent_delta": 0.0078,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.775,
          "after": 0.775,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.6014,
          "after": 0.6051,
          "delta": 0.0037,
          "percent_delta": 0.0062,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3696,
          "after": 0.3634,
          "delta": -0.0062,
          "percent_delta": -0.0168,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 2.0734,
          "after": 2.1043,
          "delta": 0.0309,
          "percent_delta": 0.0149,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.5398,
          "after": 1.5627,
          "delta": 0.0229,
          "percent_delta": 0.0149,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4555,
          "after": 0.4844,
          "delta": 0.0289,
          "percent_delta": 0.0634,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.9943,
          "after": 1.9869,
          "delta": -0.0074,
          "percent_delta": -0.0037,
          "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.4555,
          "after": 0.4844,
          "delta": 0.0289,
          "percent_delta": 0.0634,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3696,
          "after": 0.3634,
          "delta": -0.0062,
          "percent_delta": -0.0168,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 10 (raw=9.55), rates preserved: AVG=0.267 HR/AB=0.063",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 10.0,
        "predicted_BB": 2.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2583,
          "after": 0.0,
          "delta": -0.2583,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.5476,
          "after": 10.0,
          "delta": 0.4524,
          "percent_delta": 0.0474,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.4455,
          "after": 2.0,
          "delta": 0.5545,
          "percent_delta": 0.3836,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.5493,
          "after": 3.0,
          "delta": 0.4507,
          "percent_delta": 0.1768,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.775,
          "after": 0.0,
          "delta": -0.775,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.6051,
          "after": 1.0,
          "delta": 0.3949,
          "percent_delta": 0.6526,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.5627,
          "after": 2.0,
          "delta": 0.4373,
          "percent_delta": 0.2798,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.9869,
          "after": 2.0,
          "delta": 0.0131,
          "percent_delta": 0.0066,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 5,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 1.4455,
          "after": 2.0,
          "delta": 0.5545,
          "percent_delta": 0.3836,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HBP",
          "before": 0.775,
          "after": 0.0,
          "delta": -0.775,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 10.0,
        "predicted_BB": 2.0,
        "predicted_CS": 0.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 2.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": 10.0,
          "after": 10.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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_H",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 2.1043,
          "after": 2.0,
          "delta": -0.1043,
          "percent_delta": -0.0496,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "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_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 2.1043,
          "after": 2.0,
          "delta": -0.1043,
          "percent_delta": -0.0496,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 10.0,
        "predicted_AVG": 0.3,
        "predicted_BB": 2.0,
        "predicted_H": 3.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.417,
        "predicted_R": 2.0,
        "predicted_RBI": 2.0,
        "predicted_SLG": 0.6,
        "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": 10.0,
          "after": 10.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.267,
          "after": 0.3,
          "delta": 0.033,
          "percent_delta": 0.1236,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3634,
          "after": 0.417,
          "delta": 0.0536,
          "percent_delta": 0.1475,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 2.0,
          "after": 2.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_SLG",
          "before": 0.4844,
          "after": 0.6,
          "delta": 0.1156,
          "percent_delta": 0.2386,
          "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.4844,
          "after": 0.6,
          "delta": 0.1156,
          "percent_delta": 0.2386,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 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": 10.0,
          "after": 4.0,
          "delta": -6.0,
          "percent_delta": -0.6,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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": 3.0,
          "after": 0.0,
          "delta": -3.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": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 3.0,
          "delta": 1.0,
          "percent_delta": 0.5,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 1,
        "deboosted_metrics": 6,
        "better_metrics": 0,
        "worse_metrics": 7,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 3.0,
          "delta": 1.0,
          "percent_delta": 0.5,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 10.0,
          "after": 4.0,
          "delta": -6.0,
          "percent_delta": -0.6,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.267,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3634,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4844,
        "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.3,
          "after": 0.267,
          "delta": -0.033,
          "percent_delta": -0.11,
          "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.417,
          "after": 0.3634,
          "delta": -0.0536,
          "percent_delta": -0.1285,
          "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.6,
          "after": 0.4844,
          "delta": -0.1156,
          "percent_delta": -0.1927,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.6,
          "after": 0.4844,
          "delta": -0.1156,
          "percent_delta": -0.1927,
          "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.121,
        "after": 0.0,
        "delta": -0.121,
        "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.3,
        "after": 4.0,
        "delta": -0.3,
        "percent_delta": -0.0698,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.228,
        "after": 0.267,
        "delta": 0.039,
        "percent_delta": 0.1711,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.572,
        "after": 1.0,
        "delta": 0.428,
        "percent_delta": 0.7483,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.98,
        "after": 0.0,
        "delta": -0.98,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.17,
        "after": 0.0,
        "delta": -0.17,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.348,
        "after": 0.3634,
        "delta": 0.0154,
        "percent_delta": 0.0443,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.795,
        "after": 0.0,
        "delta": -0.795,
        "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.407,
        "after": 0.4844,
        "delta": 0.0774,
        "percent_delta": 0.1902,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.828,
        "after": 3.0,
        "delta": 2.172,
        "percent_delta": 2.6232,
        "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.828,
        "after": 3.0,
        "delta": 2.172,
        "percent_delta": 2.6232,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.98,
        "after": 0.0,
        "delta": -0.98,
        "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.121-
predicted_3B0.000-
predicted_AB4.300-
predicted_AVG0.228-
predicted_BB0.572-
predicted_H0.980-
predicted_HR0.170-
predicted_OBP0.348-
predicted_R0.795-
predicted_RBI0.510-
predicted_SLG0.407-
predicted_SO0.828-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.2580.137
predicted_3B0.0010.001
predicted_AB9.5485.248
predicted_AVG0.2500.022
predicted_BB1.4400.868
predicted_H2.5301.550
predicted_HBP0.775-
predicted_HR0.6010.431
predicted_OBP0.3700.022
predicted_R2.0731.278
predicted_RBI1.5401.030
predicted_SLG0.4560.049
predicted_SO1.9941.166
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.2580.000
predicted_3B0.0010.000
predicted_AB9.5480.000
predicted_AVG0.2670.017
predicted_BB1.4460.005
predicted_H2.5490.020
predicted_HBP0.7750.000
predicted_HR0.6050.004
predicted_OBP0.363-0.006
predicted_R2.1040.031
predicted_RBI1.5630.023
predicted_SLG0.4840.029
predicted_SO1.987-0.007
4. ab_floor_and_scaling

AB rounded to 10 (raw=9.55), rates preserved: AVG=0.267 HR/AB=0.063

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB10.000-
BB2.000-
H3.000-
HBP0.000-
HR1.000-
RBI2.000-
SB0.000-
SO2.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB10.0000.000
BB2.0000.000
CS0.000-
H3.0000.000
HBP0.0000.000
HR1.0000.000
R2.000-
RBI2.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
6. 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.258
predicted_3B0.000-0.001
predicted_AB10.0000.452
predicted_AVG0.3000.033
predicted_BB2.0000.554
predicted_H3.0000.451
predicted_HR1.0000.395
predicted_OBP0.4170.054
predicted_R2.000-0.104
predicted_RBI2.0000.437
predicted_SLG0.6000.116
predicted_SO2.0000.013
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.000-6.000
BB1.000-1.000
CS0.0000.000
H0.000-3.000
HBP0.0000.000
HR0.000-1.000
PA5.000-
R0.000-2.000
RBI0.000-2.000
SB0.0000.000
SF0.0000.000
SO3.0001.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 215
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.202-20.00010.0000.0000.0004.0008.0008.0004.0004.0000.50000.58331.10000.50000.20000.40000.20000.2000
last_100.203-36.00012.0000.0000.0005.00010.00010.0009.0009.0000.33330.46670.75000.33330.13890.27780.25000.2500
season0.6047-833.000204.00026.0000.00042.000117.000171.000123.000178.0000.24490.37040.42740.24490.05040.14050.14770.2137
Weighted Prediction From Real Data
MetricValue
predicted_2B0.4320
predicted_3B0.0020
predicted_AB16.1830
predicted_AVG0.2774
predicted_BB2.5380
predicted_H4.4890
predicted_HBP0.7750
predicted_HR1.1470
predicted_OBP0.3970
predicted_R3.6900
predicted_RBI2.8420
predicted_SLG0.5168
predicted_SO3.4690
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.12100.43200.2583model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB4.300016.18309.5476model_form_blend
predicted_AVG0.22800.27740.2498model_form_blend
predicted_BB0.57202.53801.4402model_form_blend
predicted_H0.98004.48902.5296model_form_blend
predicted_HBP-0.77500.7750form_only
predicted_HR0.17001.14700.6014model_form_blend
predicted_OBP0.34800.39700.3696model_form_blend
predicted_R0.79503.69002.0734model_form_blend
predicted_RBI0.51002.84201.5398model_form_blend
predicted_SLG0.40700.51680.4555model_form_blend
predicted_SO0.82803.46901.9943model_form_blend

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB1
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.5
Hitting_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB2
Hitting_battingOrder1
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed2B
gameID20260520_PIT@STL
game_typefull
mlbID802139
playerID802139
playerNameJJ Wetherholt
posSS
startedTrue
startingPosition2B
teamSTL
teamID26
game_date2026-05-20
sl_k_percent17.8
sl_bb_percent11.7
sl_woba0.35
sl_xwoba0.36
sl_xba0.24
sl_xslg0.446
sl_sweet_spot_percent38.6
sl_barrel_batted_rate7.9
sl_hard_hit_percent44.3
sl_exit_velocity_avg89.9
sl_launch_angle_avg15.9
sl_whiff_percent23.5
sl_swing_percent43.5
Alec Burleson (676475) · BATTER · 1B · Team STL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 202
All-history rows before 20260521: 202
System season_avg: 0.2880
Data season_avg (2026 season-to-date): 0.2876
Diff (system - data): 0.0004
System opponent_avg: 0.2440

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2570.0000.000Hitting_2B0.2570.000-0.2570.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.1904.0009.000Hitting_AB4.0452.000-0.0452.000
predicted_AVG0.2590.5000.333Hitting_AVG0.2880.5000.2120.000
predicted_BB0.4010.0001.000Hitting_BB0.4011.000-0.401-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H1.0802.0003.000Hitting_H1.1631.0000.8371.000
predicted_HR0.1601.0001.000Hitting_HR0.1530.0000.8471.000
predicted_OBP0.3540.5000.400Hitting_OBP0.3520.7500.148-0.250
predicted_R0.5351.0002.000Hitting_R0.5350.0000.4651.000
predicted_RBI0.6401.0002.000Hitting_RBI0.7720.0000.2281.000
predicted_SLG0.4571.2500.667Hitting_SLG0.4650.5000.7850.750
predicted_SO0.7430.0002.000Hitting_SO0.7430.000-0.7430.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: 1.0800 -> 2.0000 (boost 0.9200, better)
Biggest Deboostpredicted_SO: 0.7430 -> 0.0000 (deboost -0.7430, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend11110101predicted_AB: 4.1900 -> 8.9373 (boost 4.7473, better)-Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot22020predicted_SLG: 0.5207 -> 0.5611 (boost 0.0404, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling85362predicted_HR: 0.5644 -> 1.0000 (boost 0.4356, better)predicted_HBP: 0.8500 -> 0.0000 (deboost -0.8500, worse)AB rounded to 9 (raw=8.94), rates preserved: AVG=0.318 HR/AB=0.063
5bvp_blend11001predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse)-Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)
6consistency_constraints11010predicted_R: 1.8399 -> 2.0000 (boost 0.1601, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context33030predicted_SLG: 0.5611 -> 0.6670 (boost 0.1059, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference60615-predicted_AB: 9.0000 -> 4.0000 (deboost -5.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final30303-predicted_SLG: 0.6670 -> 0.5611 (deboost -0.1059, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "676475",
  "player_name": "Alec Burleson",
  "position": "1B",
  "team": "STL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.257,
        "predicted_3B": 0.0,
        "predicted_AB": 4.19,
        "predicted_AVG": 0.259,
        "predicted_BB": 0.401,
        "predicted_H": 1.08,
        "predicted_HR": 0.16,
        "predicted_OBP": 0.354,
        "predicted_R": 0.535,
        "predicted_RBI": 0.64,
        "predicted_SLG": 0.457,
        "predicted_SO": 0.743
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.4747,
        "predicted_3B": 0.0009,
        "predicted_AB": 8.9373,
        "predicted_AVG": 0.2932,
        "predicted_BB": 0.8086,
        "predicted_H": 2.8233,
        "predicted_HBP": 0.85,
        "predicted_HR": 0.561,
        "predicted_OBP": 0.3772,
        "predicted_R": 1.8129,
        "predicted_RBI": 1.6624,
        "predicted_SLG": 0.5207,
        "predicted_SO": 1.4075
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.257,
          "after": 0.4747,
          "delta": 0.2177,
          "percent_delta": 0.8471,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.19,
          "after": 8.9373,
          "delta": 4.7473,
          "percent_delta": 1.133,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.259,
          "after": 0.2932,
          "delta": 0.0342,
          "percent_delta": 0.132,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.401,
          "after": 0.8086,
          "delta": 0.4076,
          "percent_delta": 1.0165,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.08,
          "after": 2.8233,
          "delta": 1.7433,
          "percent_delta": 1.6142,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.16,
          "after": 0.561,
          "delta": 0.401,
          "percent_delta": 2.5063,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.354,
          "after": 0.3772,
          "delta": 0.0232,
          "percent_delta": 0.0655,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.535,
          "after": 1.8129,
          "delta": 1.2779,
          "percent_delta": 2.3886,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.64,
          "after": 1.6624,
          "delta": 1.0224,
          "percent_delta": 1.5975,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.457,
          "after": 0.5207,
          "delta": 0.0637,
          "percent_delta": 0.1394,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.743,
          "after": 1.4075,
          "delta": 0.6645,
          "percent_delta": 0.8943,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 11,
        "boosted_metrics": 11,
        "deboosted_metrics": 0,
        "better_metrics": 10,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.19,
          "after": 8.9373,
          "delta": 4.7473,
          "percent_delta": 1.133,
          "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": 2,
        "last_10": 4,
        "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.4747,
        "predicted_3B": 0.0009,
        "predicted_AB": 8.9373,
        "predicted_AVG": 0.3184,
        "predicted_BB": 0.8116,
        "predicted_H": 2.8453,
        "predicted_HBP": 0.85,
        "predicted_HR": 0.5644,
        "predicted_OBP": 0.3751,
        "predicted_R": 1.8399,
        "predicted_RBI": 1.6872,
        "predicted_SLG": 0.5611,
        "predicted_SO": 1.4023
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.4747,
          "after": 0.4747,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.9373,
          "after": 8.9373,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2932,
          "after": 0.3184,
          "delta": 0.0252,
          "percent_delta": 0.0859,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.8086,
          "after": 0.8116,
          "delta": 0.003,
          "percent_delta": 0.0037,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.8233,
          "after": 2.8453,
          "delta": 0.022,
          "percent_delta": 0.0078,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.85,
          "after": 0.85,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.561,
          "after": 0.5644,
          "delta": 0.0034,
          "percent_delta": 0.0061,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3772,
          "after": 0.3751,
          "delta": -0.0021,
          "percent_delta": -0.0056,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.8129,
          "after": 1.8399,
          "delta": 0.027,
          "percent_delta": 0.0149,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.6624,
          "after": 1.6872,
          "delta": 0.0248,
          "percent_delta": 0.0149,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5207,
          "after": 0.5611,
          "delta": 0.0404,
          "percent_delta": 0.0776,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.4075,
          "after": 1.4023,
          "delta": -0.0052,
          "percent_delta": -0.0037,
          "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.5207,
          "after": 0.5611,
          "delta": 0.0404,
          "percent_delta": 0.0776,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 9 (raw=8.94), rates preserved: AVG=0.318 HR/AB=0.063",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 1.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.4747,
          "after": 0.0,
          "delta": -0.4747,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.9373,
          "after": 9.0,
          "delta": 0.0627,
          "percent_delta": 0.007,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.8116,
          "after": 1.0,
          "delta": 0.1884,
          "percent_delta": 0.2321,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.8453,
          "after": 3.0,
          "delta": 0.1547,
          "percent_delta": 0.0544,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.85,
          "after": 0.0,
          "delta": -0.85,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.5644,
          "after": 1.0,
          "delta": 0.4356,
          "percent_delta": 0.7718,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.6872,
          "after": 2.0,
          "delta": 0.3128,
          "percent_delta": 0.1854,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.4023,
          "after": 1.0,
          "delta": -0.4023,
          "percent_delta": -0.2869,
          "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_HR",
          "before": 0.5644,
          "after": 1.0,
          "delta": 0.4356,
          "percent_delta": 0.7718,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HBP",
          "before": 0.85,
          "after": 0.0,
          "delta": -0.85,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 1.0,
        "predicted_H": 3.0,
        "predicted_HR": 1.0,
        "predicted_RBI": 2.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": 9.0,
          "after": 9.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": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9429,
        "bvp": 0.0571
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 2.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": 9.0,
          "after": 9.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": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.8399,
          "after": 2.0,
          "delta": 0.1601,
          "percent_delta": 0.087,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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_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": 1.8399,
          "after": 2.0,
          "delta": 0.1601,
          "percent_delta": 0.087,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_AVG": 0.333,
        "predicted_BB": 1.0,
        "predicted_H": 3.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.4,
        "predicted_R": 2.0,
        "predicted_RBI": 2.0,
        "predicted_SLG": 0.667,
        "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": 9.0,
          "after": 9.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3184,
          "after": 0.333,
          "delta": 0.0146,
          "percent_delta": 0.0459,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3751,
          "after": 0.4,
          "delta": 0.0249,
          "percent_delta": 0.0664,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 2.0,
          "after": 2.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_SLG",
          "before": 0.5611,
          "after": 0.667,
          "delta": 0.1059,
          "percent_delta": 0.1887,
          "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.5611,
          "after": 0.667,
          "delta": 0.1059,
          "percent_delta": 0.1887,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 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": 9.0,
          "after": 4.0,
          "delta": -5.0,
          "percent_delta": -0.5556,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 3.0,
          "after": 2.0,
          "delta": -1.0,
          "percent_delta": -0.3333,
          "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": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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": 6,
        "boosted_metrics": 0,
        "deboosted_metrics": 6,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 4.0,
          "delta": -5.0,
          "percent_delta": -0.5556,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.3184,
        "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.3751,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.5611,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.333,
          "after": 0.3184,
          "delta": -0.0146,
          "percent_delta": -0.0439,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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.4,
          "after": 0.3751,
          "delta": -0.0249,
          "percent_delta": -0.0622,
          "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.667,
          "after": 0.5611,
          "delta": -0.1059,
          "percent_delta": -0.1587,
          "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.667,
          "after": 0.5611,
          "delta": -0.1059,
          "percent_delta": -0.1587,
          "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.257,
        "after": 0.0,
        "delta": -0.257,
        "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.19,
        "after": 4.0,
        "delta": -0.19,
        "percent_delta": -0.0453,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.259,
        "after": 0.3184,
        "delta": 0.0594,
        "percent_delta": 0.2293,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.401,
        "after": 0.0,
        "delta": -0.401,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.08,
        "after": 2.0,
        "delta": 0.92,
        "percent_delta": 0.8519,
        "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.354,
        "after": 0.3751,
        "delta": 0.0211,
        "percent_delta": 0.0596,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.535,
        "after": 1.0,
        "delta": 0.465,
        "percent_delta": 0.8692,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.64,
        "after": 1.0,
        "delta": 0.36,
        "percent_delta": 0.5625,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.457,
        "after": 0.5611,
        "delta": 0.1041,
        "percent_delta": 0.2278,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.743,
        "after": 0.0,
        "delta": -0.743,
        "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": 1.08,
        "after": 2.0,
        "delta": 0.92,
        "percent_delta": 0.8519,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.743,
        "after": 0.0,
        "delta": -0.743,
        "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.257-
predicted_3B0.000-
predicted_AB4.190-
predicted_AVG0.259-
predicted_BB0.401-
predicted_H1.080-
predicted_HR0.160-
predicted_OBP0.354-
predicted_R0.535-
predicted_RBI0.640-
predicted_SLG0.457-
predicted_SO0.743-
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.4750.218
predicted_3B0.0010.001
predicted_AB8.9374.747
predicted_AVG0.2930.034
predicted_BB0.8090.408
predicted_H2.8231.743
predicted_HBP0.850-
predicted_HR0.5610.401
predicted_OBP0.3770.023
predicted_R1.8131.278
predicted_RBI1.6621.022
predicted_SLG0.5210.064
predicted_SO1.4070.664
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.4750.000
predicted_3B0.0010.000
predicted_AB8.9370.000
predicted_AVG0.3180.025
predicted_BB0.8120.003
predicted_H2.8450.022
predicted_HBP0.8500.000
predicted_HR0.5640.003
predicted_OBP0.375-0.002
predicted_R1.8400.027
predicted_RBI1.6870.025
predicted_SLG0.5610.040
predicted_SO1.402-0.005
4. ab_floor_and_scaling

AB rounded to 9 (raw=8.94), rates preserved: AVG=0.318 HR/AB=0.063

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB9.000-
BB1.000-
H3.000-
HBP0.000-
HR1.000-
RBI2.000-
SB0.000-
SO1.000-
5. 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
AB9.0000.000
BB1.0000.000
H3.0000.000
HR1.0000.000
RBI2.0000.000
SO2.0001.000
6. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB9.0000.000
BB1.0000.000
CS0.000-
H3.0000.000
HBP0.0000.000
HR1.0000.000
R2.000-
RBI2.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
7. 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.475
predicted_3B0.000-0.001
predicted_AB9.0000.063
predicted_AVG0.3330.015
predicted_BB1.0000.188
predicted_H3.0000.155
predicted_HR1.0000.436
predicted_OBP0.4000.025
predicted_R2.0000.160
predicted_RBI2.0000.313
predicted_SLG0.6670.106
predicted_SO2.0000.598
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.000-5.000
BB0.000-1.000
CS0.0000.000
H2.000-1.000
HBP0.0000.000
HR1.0000.000
PA4.000-
R1.000-1.000
RBI1.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: 202
Reference playing time: 4.190
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-14.0009.0000.0000.0004.0004.00012.0001.0000.0000.64290.75001.50000.64290.28570.28570.07140.0000
last_100.204-33.00014.0000.0000.0004.0006.00012.0001.0001.0000.42420.50000.78790.42420.12120.18180.03030.0303
season0.6047-817.000235.00052.0000.00031.000156.000108.00081.000150.0000.28760.35240.46510.28760.03790.19090.09910.1836
Weighted Prediction From Real Data
MetricValue
predicted_2B0.7510
predicted_3B0.0020
predicted_AB14.9630
predicted_AVG0.3365
predicted_BB1.3260
predicted_H5.0360
predicted_HBP0.8500
predicted_HR1.0700
predicted_OBP0.4067
predicted_R3.4350
predicted_RBI2.9600
predicted_SLG0.6016
predicted_SO2.2510
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.25700.75100.4747model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB4.190014.96308.9373model_form_blend
predicted_AVG0.25900.33650.2932model_form_blend
predicted_BB0.40101.32600.8086model_form_blend
predicted_H1.08005.03602.8233model_form_blend
predicted_HBP-0.85000.8500form_only
predicted_HR0.16001.07000.5610model_form_blend
predicted_OBP0.35400.40670.3772model_form_blend
predicted_R0.53503.43501.8129model_form_blend
predicted_RBI0.64002.96001.6624model_form_blend
predicted_SLG0.45700.60160.5207model_form_blend
predicted_SO0.74302.25101.4075model_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 date202
Season rows before report date202
Report year2026
Profile rows used202
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
RBI1
BB0
SO0
SF0
HBP0
season_avg0.288

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB2
Hitting_AVG0.5
Hitting_BB1
Hitting_GIDP1
Hitting_H1
Hitting_HBP1
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
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
allPositionsPlayed1B
gameID20260520_PIT@STL
game_typefull
mlbID676475
playerID676475
playerNameAlec Burleson
pos1B
startedTrue
startingPosition1B
teamSTL
teamID26
game_date2026-05-20
sl_k_percent15.9
sl_bb_percent9.0
sl_woba0.354
sl_xwoba0.388
sl_xba0.292
sl_xslg0.556
sl_sweet_spot_percent32.0
sl_barrel_batted_rate11.4
sl_hard_hit_percent48.7
sl_exit_velocity_avg91.5
sl_launch_angle_avg9.5
sl_whiff_percent20.3
sl_swing_percent49.4
Jordan Walker (691023) · BATTER · RF · Team STL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 199
All-history rows before 20260521: 199
System season_avg: 0.3020
Data season_avg (2026 season-to-date): 0.3021
Diff (system - data): -0.0001
System opponent_avg: 0.2810

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2210.0000.000Hitting_2B0.2210.000-0.2210.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.0404.0009.000Hitting_AB3.9102.0000.0902.000
predicted_AVG0.2480.5000.222Hitting_AVG0.3020.0000.1980.500
predicted_BB0.4120.0001.000Hitting_BB0.4120.000-0.4120.000
predicted_CS-0.0000.000BaseRunning_CS0.0750.000-0.0750.000
predicted_H1.0002.0002.000Hitting_H1.1810.0000.8192.000
predicted_HR0.2201.0001.000Hitting_HR0.2960.0000.7041.000
predicted_OBP0.3290.5000.300Hitting_OBP0.3710.3330.1290.167
predicted_R0.7491.0001.000Hitting_R0.7490.0000.2511.000
predicted_RBI0.6001.0001.000Hitting_RBI0.7740.0000.2261.000
predicted_SLG0.4801.2500.556Hitting_SLG0.5860.0000.6641.250
predicted_SO1.1461.0002.000Hitting_SO1.1460.000-0.1461.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics9
Boosted Metrics6
Deboosted Metrics3
Better Metrics7
Worse Metrics2
Biggest Boostpredicted_H: 1.0000 -> 2.0000 (boost 1.0000, better)
Biggest Deboostpredicted_BB: 0.4120 -> 0.0000 (deboost -0.4120, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend1010091predicted_AB: 4.0400 -> 8.7090 (boost 4.6690, 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_AVG: 0.2598 -> 0.2698 (boost 0.0100, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling83544predicted_HR: 0.5066 -> 1.0000 (boost 0.4934, better)predicted_2B: 0.4125 -> 0.0000 (deboost -0.4125, worse)AB rounded to 9 (raw=8.71), rates preserved: AVG=0.270 HR/AB=0.058
5consistency_constraints10101-predicted_R: 1.4098 -> 1.0000 (deboost -0.4098, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context31212predicted_SLG: 0.4919 -> 0.5560 (boost 0.0641, better)predicted_AVG: 0.2698 -> 0.2220 (deboost -0.0478, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference30312-predicted_AB: 9.0000 -> 4.0000 (deboost -5.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final32121predicted_AVG: 0.2220 -> 0.2698 (boost 0.0478, better)predicted_SLG: 0.5560 -> 0.4919 (deboost -0.0641, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "691023",
  "player_name": "Jordan Walker",
  "position": "RF",
  "team": "STL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.221,
        "predicted_3B": 0.0,
        "predicted_AB": 4.04,
        "predicted_AVG": 0.248,
        "predicted_BB": 0.412,
        "predicted_H": 1.0,
        "predicted_HR": 0.22,
        "predicted_OBP": 0.329,
        "predicted_R": 0.749,
        "predicted_RBI": 0.6,
        "predicted_SLG": 0.48,
        "predicted_SO": 1.146
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.4125,
        "predicted_3B": 0.0009,
        "predicted_AB": 8.709,
        "predicted_AVG": 0.2598,
        "predicted_BB": 0.766,
        "predicted_H": 2.3318,
        "predicted_HBP": 0.213,
        "predicted_HR": 0.5035,
        "predicted_OBP": 0.332,
        "predicted_R": 1.3891,
        "predicted_RBI": 1.3383,
        "predicted_SLG": 0.4874,
        "predicted_SO": 2.148
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.221,
          "after": 0.4125,
          "delta": 0.1915,
          "percent_delta": 0.8665,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.04,
          "after": 8.709,
          "delta": 4.669,
          "percent_delta": 1.1557,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.248,
          "after": 0.2598,
          "delta": 0.0118,
          "percent_delta": 0.0476,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.412,
          "after": 0.766,
          "delta": 0.354,
          "percent_delta": 0.8592,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.3318,
          "delta": 1.3318,
          "percent_delta": 1.3318,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.22,
          "after": 0.5035,
          "delta": 0.2835,
          "percent_delta": 1.2886,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.329,
          "after": 0.332,
          "delta": 0.003,
          "percent_delta": 0.0091,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.749,
          "after": 1.3891,
          "delta": 0.6401,
          "percent_delta": 0.8546,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6,
          "after": 1.3383,
          "delta": 0.7383,
          "percent_delta": 1.2305,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.48,
          "after": 0.4874,
          "delta": 0.0074,
          "percent_delta": 0.0154,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.146,
          "after": 2.148,
          "delta": 1.002,
          "percent_delta": 0.8743,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 10,
        "boosted_metrics": 10,
        "deboosted_metrics": 0,
        "better_metrics": 9,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.04,
          "after": 8.709,
          "delta": 4.669,
          "percent_delta": 1.1557,
          "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": 2,
        "last_10": 4,
        "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.4125,
        "predicted_3B": 0.0009,
        "predicted_AB": 8.709,
        "predicted_AVG": 0.2698,
        "predicted_BB": 0.7688,
        "predicted_H": 2.35,
        "predicted_HBP": 0.213,
        "predicted_HR": 0.5066,
        "predicted_OBP": 0.3291,
        "predicted_R": 1.4098,
        "predicted_RBI": 1.3582,
        "predicted_SLG": 0.4919,
        "predicted_SO": 2.1401
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.4125,
          "after": 0.4125,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.709,
          "after": 8.709,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2598,
          "after": 0.2698,
          "delta": 0.01,
          "percent_delta": 0.0385,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.766,
          "after": 0.7688,
          "delta": 0.0028,
          "percent_delta": 0.0037,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.3318,
          "after": 2.35,
          "delta": 0.0182,
          "percent_delta": 0.0078,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.213,
          "after": 0.213,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.5035,
          "after": 0.5066,
          "delta": 0.0031,
          "percent_delta": 0.0062,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.332,
          "after": 0.3291,
          "delta": -0.0029,
          "percent_delta": -0.0087,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.3891,
          "after": 1.4098,
          "delta": 0.0207,
          "percent_delta": 0.0149,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.3383,
          "after": 1.3582,
          "delta": 0.0199,
          "percent_delta": 0.0149,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4874,
          "after": 0.4919,
          "delta": 0.0045,
          "percent_delta": 0.0092,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.148,
          "after": 2.1401,
          "delta": -0.0079,
          "percent_delta": -0.0037,
          "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.2598,
          "after": 0.2698,
          "delta": 0.01,
          "percent_delta": 0.0385,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 9 (raw=8.71), rates preserved: AVG=0.270 HR/AB=0.058",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.4125,
          "after": 0.0,
          "delta": -0.4125,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.709,
          "after": 9.0,
          "delta": 0.291,
          "percent_delta": 0.0334,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.7688,
          "after": 1.0,
          "delta": 0.2312,
          "percent_delta": 0.3007,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.35,
          "after": 2.0,
          "delta": -0.35,
          "percent_delta": -0.1489,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.213,
          "after": 0.0,
          "delta": -0.213,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.5066,
          "after": 1.0,
          "delta": 0.4934,
          "percent_delta": 0.9739,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.3582,
          "after": 1.0,
          "delta": -0.3582,
          "percent_delta": -0.2637,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.1401,
          "after": 2.0,
          "delta": -0.1401,
          "percent_delta": -0.0655,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 3,
        "deboosted_metrics": 5,
        "better_metrics": 4,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_HR",
          "before": 0.5066,
          "after": 1.0,
          "delta": 0.4934,
          "percent_delta": 0.9739,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.4125,
          "after": 0.0,
          "delta": -0.4125,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.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": 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": 9.0,
          "after": 9.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": 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_R",
          "before": 1.4098,
          "after": 1.0,
          "delta": -0.4098,
          "percent_delta": -0.2907,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.4098,
          "after": 1.0,
          "delta": -0.4098,
          "percent_delta": -0.2907,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_AVG": 0.222,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.3,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.556,
        "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": 9.0,
          "after": 9.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2698,
          "after": 0.222,
          "delta": -0.0478,
          "percent_delta": -0.1772,
          "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": 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_OBP",
          "before": 0.3291,
          "after": 0.3,
          "delta": -0.0291,
          "percent_delta": -0.0884,
          "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.4919,
          "after": 0.556,
          "delta": 0.0641,
          "percent_delta": 0.1303,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.4919,
          "after": 0.556,
          "delta": 0.0641,
          "percent_delta": 0.1303,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.2698,
          "after": 0.222,
          "delta": -0.0478,
          "percent_delta": -0.1772,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 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": 9.0,
          "after": 4.0,
          "delta": -5.0,
          "percent_delta": -0.5556,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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_R",
          "before": 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": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 4.0,
          "delta": -5.0,
          "percent_delta": -0.5556,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2698,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.3291,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4919,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.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.2698,
          "delta": 0.0478,
          "percent_delta": 0.2155,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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.3291,
          "delta": 0.0291,
          "percent_delta": 0.0969,
          "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.556,
          "after": 0.4919,
          "delta": -0.0641,
          "percent_delta": -0.1153,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.222,
          "after": 0.2698,
          "delta": 0.0478,
          "percent_delta": 0.2155,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.556,
          "after": 0.4919,
          "delta": -0.0641,
          "percent_delta": -0.1153,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.221,
        "after": 0.0,
        "delta": -0.221,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.04,
        "after": 4.0,
        "delta": -0.04,
        "percent_delta": -0.0099,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AVG",
        "before": 0.248,
        "after": 0.2698,
        "delta": 0.0218,
        "percent_delta": 0.0879,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.412,
        "after": 0.0,
        "delta": -0.412,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 2.0,
        "delta": 1.0,
        "percent_delta": 1.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.22,
        "after": 1.0,
        "delta": 0.78,
        "percent_delta": 3.5455,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.329,
        "after": 0.3291,
        "delta": 0.0001,
        "percent_delta": 0.0003,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.749,
        "after": 1.0,
        "delta": 0.251,
        "percent_delta": 0.3351,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.6,
        "after": 1.0,
        "delta": 0.4,
        "percent_delta": 0.6667,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.48,
        "after": 0.4919,
        "delta": 0.0119,
        "percent_delta": 0.0248,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.146,
        "after": 1.0,
        "delta": -0.146,
        "percent_delta": -0.1274,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 6,
      "deboosted_metrics": 3,
      "better_metrics": 7,
      "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": 0.412,
        "after": 0.0,
        "delta": -0.412,
        "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.221-
predicted_3B0.000-
predicted_AB4.040-
predicted_AVG0.248-
predicted_BB0.412-
predicted_H1.000-
predicted_HR0.220-
predicted_OBP0.329-
predicted_R0.749-
predicted_RBI0.600-
predicted_SLG0.480-
predicted_SO1.146-
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.4120.191
predicted_3B0.0010.001
predicted_AB8.7094.669
predicted_AVG0.2600.012
predicted_BB0.7660.354
predicted_H2.3321.332
predicted_HBP0.213-
predicted_HR0.5030.283
predicted_OBP0.3320.003
predicted_R1.3890.640
predicted_RBI1.3380.738
predicted_SLG0.4870.007
predicted_SO2.1481.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.4120.000
predicted_3B0.0010.000
predicted_AB8.7090.000
predicted_AVG0.2700.010
predicted_BB0.7690.003
predicted_H2.3500.018
predicted_HBP0.2130.000
predicted_HR0.5070.003
predicted_OBP0.329-0.003
predicted_R1.4100.021
predicted_RBI1.3580.020
predicted_SLG0.4920.005
predicted_SO2.140-0.008
4. ab_floor_and_scaling

AB rounded to 9 (raw=8.71), rates preserved: AVG=0.270 HR/AB=0.058

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB9.000-
BB1.000-
H2.000-
HBP0.000-
HR1.000-
RBI1.000-
SB0.000-
SO2.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB9.0000.000
BB1.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR1.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
6. 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.412
predicted_3B0.000-0.001
predicted_AB9.0000.291
predicted_AVG0.222-0.048
predicted_BB1.0000.231
predicted_H2.000-0.350
predicted_HR1.0000.493
predicted_OBP0.300-0.029
predicted_R1.000-0.410
predicted_RBI1.000-0.358
predicted_SLG0.5560.064
predicted_SO2.000-0.140
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.000-5.000
BB0.000-1.000
CS0.0000.000
H2.0000.000
HBP0.0000.000
HR1.0000.000
PA4.000-
R1.0000.000
RBI1.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: 199
Reference playing time: 4.040
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-18.0004.0000.0000.0000.0000.0000.0000.0000.0000.22220.26320.22220.22220.00000.00000.00000.0000
last_100.204-38.0005.0000.0000.0000.0000.0000.0000.0001.0000.13160.15380.13160.13160.00000.00000.00000.0263
season0.6047-778.000235.00044.0000.00059.000154.000149.00082.000228.0000.30210.37080.58610.30210.07580.19790.10540.2931
Weighted Prediction From Real Data
MetricValue
predicted_2B0.6560
predicted_3B0.0020
predicted_AB14.6450
predicted_AVG0.2749
predicted_BB1.2160
predicted_H4.0250
predicted_HBP0.2130
predicted_HR0.8640
predicted_OBP0.3359
predicted_R2.2030
predicted_RBI2.2770
predicted_SLG0.4969
predicted_SO3.4220
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.22100.65600.4125model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB4.040014.64508.7090model_form_blend
predicted_AVG0.24800.27490.2598model_form_blend
predicted_BB0.41201.21600.7660model_form_blend
predicted_H1.00004.02502.3318model_form_blend
predicted_HBP-0.21300.2130form_only
predicted_HR0.22000.86400.5035model_form_blend
predicted_OBP0.32900.33590.3320model_form_blend
predicted_R0.74902.20301.3891model_form_blend
predicted_RBI0.60002.27701.3383model_form_blend
predicted_SLG0.48000.49690.4874model_form_blend
predicted_SO1.14603.42202.1480model_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 date199
Season rows before report date199
Report year2026
Profile rows used199
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
RBI1
BB0
SO1
SF0
HBP0
season_avg0.302

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_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
gameID20260520_PIT@STL
game_typefull
mlbID691023
playerID691023
playerNameJordan Walker
posRF
startedTrue
startingPositionRF
teamSTL
teamID26
game_date2026-05-20
sl_k_percent26.3
sl_bb_percent9.6
sl_woba0.409
sl_xwoba0.385
sl_xba0.28
sl_xslg0.539
sl_sweet_spot_percent34.9
sl_barrel_batted_rate16.7
sl_hard_hit_percent53.2
sl_exit_velocity_avg94.5
sl_launch_angle_avg13.8
sl_whiff_percent33.0
sl_swing_percent52.0
Iván Herrera (671056) · BATTER · DH · Team STL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 216
All-history rows before 20260521: 216
System season_avg: 0.2620
Data season_avg (2026 season-to-date): 0.2620
Diff (system - data): 0.0000
System opponent_avg: 0.2570

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2450.0000.000Hitting_2B0.2450.000-0.2450.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.1105.0009.000Hitting_AB3.7644.0001.2361.000
predicted_AVG0.2320.4000.222Hitting_AVG0.2620.0000.1380.400
predicted_BB0.6250.0001.000Hitting_BB0.6250.000-0.6250.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.9502.0002.000Hitting_H0.9860.0001.0142.000
predicted_HR0.1201.0000.000Hitting_HR0.1060.0000.8941.000
predicted_OBP0.3270.4000.300Hitting_OBP0.3910.0000.0090.400
predicted_R0.5791.0001.000Hitting_R0.5790.0000.4211.000
predicted_RBI0.5001.0002.000Hitting_RBI0.4950.0000.5051.000
predicted_SLG0.3941.0000.222Hitting_SLG0.4120.0000.5881.000
predicted_SO0.7691.0002.000Hitting_SO0.7690.0000.2311.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics11
Boosted Metrics9
Deboosted Metrics2
Better Metrics8
Worse Metrics3
Biggest Boostpredicted_H: 0.9500 -> 2.0000 (boost 1.0500, better)
Biggest Deboostpredicted_BB: 0.6250 -> 0.0000 (deboost -0.6250, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend11110101predicted_AB: 4.1100 -> 9.3240 (boost 5.2140, better)-Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot22020predicted_SLG: 0.4170 -> 0.4321 (boost 0.0151, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling71616predicted_RBI: 1.5832 -> 2.0000 (boost 0.4168, better)predicted_HBP: 0.6850 -> 0.0000 (deboost -0.6850, worse)AB rounded to 9 (raw=9.32), rates preserved: AVG=0.246 HR/AB=0.044
5consistency_constraints10101-predicted_R: 1.4135 -> 1.0000 (deboost -0.4135, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context30303-predicted_SLG: 0.4321 -> 0.2220 (deboost -0.2101, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference51423predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 9.0000 -> 5.0000 (deboost -4.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final33030predicted_SLG: 0.2220 -> 0.4321 (boost 0.2101, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "671056",
  "player_name": "Iván Herrera",
  "position": "DH",
  "team": "STL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.245,
        "predicted_3B": 0.0,
        "predicted_AB": 4.11,
        "predicted_AVG": 0.232,
        "predicted_BB": 0.625,
        "predicted_H": 0.95,
        "predicted_HR": 0.12,
        "predicted_OBP": 0.327,
        "predicted_R": 0.579,
        "predicted_RBI": 0.5,
        "predicted_SLG": 0.394,
        "predicted_SO": 0.769
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.5174,
        "predicted_3B": 0.0009,
        "predicted_AB": 9.324,
        "predicted_AVG": 0.2391,
        "predicted_BB": 1.3093,
        "predicted_H": 2.274,
        "predicted_HBP": 0.685,
        "predicted_HR": 0.4034,
        "predicted_OBP": 0.3389,
        "predicted_R": 1.3927,
        "predicted_RBI": 1.56,
        "predicted_SLG": 0.417,
        "predicted_SO": 1.9725
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.245,
          "after": 0.5174,
          "delta": 0.2724,
          "percent_delta": 1.1118,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.11,
          "after": 9.324,
          "delta": 5.214,
          "percent_delta": 1.2686,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.232,
          "after": 0.2391,
          "delta": 0.0071,
          "percent_delta": 0.0306,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.625,
          "after": 1.3093,
          "delta": 0.6843,
          "percent_delta": 1.0949,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.95,
          "after": 2.274,
          "delta": 1.324,
          "percent_delta": 1.3937,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.12,
          "after": 0.4034,
          "delta": 0.2834,
          "percent_delta": 2.3617,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.327,
          "after": 0.3389,
          "delta": 0.0119,
          "percent_delta": 0.0364,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.579,
          "after": 1.3927,
          "delta": 0.8137,
          "percent_delta": 1.4054,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5,
          "after": 1.56,
          "delta": 1.06,
          "percent_delta": 2.12,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.394,
          "after": 0.417,
          "delta": 0.023,
          "percent_delta": 0.0584,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.769,
          "after": 1.9725,
          "delta": 1.2035,
          "percent_delta": 1.565,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 11,
        "boosted_metrics": 11,
        "deboosted_metrics": 0,
        "better_metrics": 10,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.11,
          "after": 9.324,
          "delta": 5.214,
          "percent_delta": 1.2686,
          "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": 2,
        "last_10": 3,
        "season": 48
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.5174,
        "predicted_3B": 0.0009,
        "predicted_AB": 9.324,
        "predicted_AVG": 0.2458,
        "predicted_BB": 1.3141,
        "predicted_H": 2.2917,
        "predicted_HBP": 0.685,
        "predicted_HR": 0.4059,
        "predicted_OBP": 0.339,
        "predicted_R": 1.4135,
        "predicted_RBI": 1.5832,
        "predicted_SLG": 0.4321,
        "predicted_SO": 1.9652
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.5174,
          "after": 0.5174,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.324,
          "after": 9.324,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2391,
          "after": 0.2458,
          "delta": 0.0067,
          "percent_delta": 0.028,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.3093,
          "after": 1.3141,
          "delta": 0.0048,
          "percent_delta": 0.0037,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.274,
          "after": 2.2917,
          "delta": 0.0177,
          "percent_delta": 0.0078,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.685,
          "after": 0.685,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.4034,
          "after": 0.4059,
          "delta": 0.0025,
          "percent_delta": 0.0062,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3389,
          "after": 0.339,
          "delta": 0.0001,
          "percent_delta": 0.0003,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.3927,
          "after": 1.4135,
          "delta": 0.0208,
          "percent_delta": 0.0149,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.56,
          "after": 1.5832,
          "delta": 0.0232,
          "percent_delta": 0.0149,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.417,
          "after": 0.4321,
          "delta": 0.0151,
          "percent_delta": 0.0362,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.9725,
          "after": 1.9652,
          "delta": -0.0073,
          "percent_delta": -0.0037,
          "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.417,
          "after": 0.4321,
          "delta": 0.0151,
          "percent_delta": 0.0362,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 9 (raw=9.32), rates preserved: AVG=0.246 HR/AB=0.044",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.5174,
          "after": 0.0,
          "delta": -0.5174,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.324,
          "after": 9.0,
          "delta": -0.324,
          "percent_delta": -0.0347,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.3141,
          "after": 1.0,
          "delta": -0.3141,
          "percent_delta": -0.239,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.2917,
          "after": 2.0,
          "delta": -0.2917,
          "percent_delta": -0.1273,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.685,
          "after": 0.0,
          "delta": -0.685,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.4059,
          "after": 0.0,
          "delta": -0.4059,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.5832,
          "after": 2.0,
          "delta": 0.4168,
          "percent_delta": 0.2633,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.9652,
          "after": 2.0,
          "delta": 0.0348,
          "percent_delta": 0.0177,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 1,
        "deboosted_metrics": 6,
        "better_metrics": 1,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 1.5832,
          "after": 2.0,
          "delta": 0.4168,
          "percent_delta": 0.2633,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HBP",
          "before": 0.685,
          "after": 0.0,
          "delta": -0.685,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.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": 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": 9.0,
          "after": 9.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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.4135,
          "after": 1.0,
          "delta": -0.4135,
          "percent_delta": -0.2925,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "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_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.4135,
          "after": 1.0,
          "delta": -0.4135,
          "percent_delta": -0.2925,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_AVG": 0.222,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SLG": 0.222,
        "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": 9.0,
          "after": 9.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2458,
          "after": 0.222,
          "delta": -0.0238,
          "percent_delta": -0.0968,
          "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": 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.339,
          "after": 0.3,
          "delta": -0.039,
          "percent_delta": -0.115,
          "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_SLG",
          "before": 0.4321,
          "after": 0.222,
          "delta": -0.2101,
          "percent_delta": -0.4862,
          "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.4321,
          "after": 0.222,
          "delta": -0.2101,
          "percent_delta": -0.4862,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 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": 9.0,
          "after": 5.0,
          "delta": -4.0,
          "percent_delta": -0.4444,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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": 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": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 5.0,
          "delta": -4.0,
          "percent_delta": -0.4444,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.2458,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_DH": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.339,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4321,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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.222,
          "after": 0.2458,
          "delta": 0.0238,
          "percent_delta": 0.1072,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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.339,
          "delta": 0.039,
          "percent_delta": 0.1299,
          "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.222,
          "after": 0.4321,
          "delta": 0.2101,
          "percent_delta": 0.9462,
          "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.222,
          "after": 0.4321,
          "delta": 0.2101,
          "percent_delta": 0.9462,
          "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.245,
        "after": 0.0,
        "delta": -0.245,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.11,
        "after": 5.0,
        "delta": 0.89,
        "percent_delta": 0.2165,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.232,
        "after": 0.2458,
        "delta": 0.0138,
        "percent_delta": 0.0595,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.625,
        "after": 0.0,
        "delta": -0.625,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.95,
        "after": 2.0,
        "delta": 1.05,
        "percent_delta": 1.1053,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.12,
        "after": 1.0,
        "delta": 0.88,
        "percent_delta": 7.3333,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.327,
        "after": 0.339,
        "delta": 0.012,
        "percent_delta": 0.0367,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "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.5,
        "after": 1.0,
        "delta": 0.5,
        "percent_delta": 1.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.394,
        "after": 0.4321,
        "delta": 0.0381,
        "percent_delta": 0.0967,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.769,
        "after": 1.0,
        "delta": 0.231,
        "percent_delta": 0.3004,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 9,
      "deboosted_metrics": 2,
      "better_metrics": 8,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.95,
        "after": 2.0,
        "delta": 1.05,
        "percent_delta": 1.1053,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.625,
        "after": 0.0,
        "delta": -0.625,
        "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.245-
predicted_3B0.000-
predicted_AB4.110-
predicted_AVG0.232-
predicted_BB0.625-
predicted_H0.950-
predicted_HR0.120-
predicted_OBP0.327-
predicted_R0.579-
predicted_RBI0.500-
predicted_SLG0.394-
predicted_SO0.769-
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.5170.272
predicted_3B0.0010.001
predicted_AB9.3245.214
predicted_AVG0.2390.007
predicted_BB1.3090.684
predicted_H2.2741.324
predicted_HBP0.685-
predicted_HR0.4030.283
predicted_OBP0.3390.012
predicted_R1.3930.814
predicted_RBI1.5601.060
predicted_SLG0.4170.023
predicted_SO1.9721.204
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.5170.000
predicted_3B0.0010.000
predicted_AB9.3240.000
predicted_AVG0.2460.007
predicted_BB1.3140.005
predicted_H2.2920.018
predicted_HBP0.6850.000
predicted_HR0.4060.003
predicted_OBP0.3390.000
predicted_R1.4130.021
predicted_RBI1.5830.023
predicted_SLG0.4320.015
predicted_SO1.965-0.007
4. ab_floor_and_scaling

AB rounded to 9 (raw=9.32), rates preserved: AVG=0.246 HR/AB=0.044

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB9.000-
BB1.000-
H2.000-
HBP0.000-
HR0.000-
RBI2.000-
SB0.000-
SO2.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB9.0000.000
BB1.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI2.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
6. 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.517
predicted_3B0.000-0.001
predicted_AB9.000-0.324
predicted_AVG0.222-0.024
predicted_BB1.000-0.314
predicted_H2.000-0.292
predicted_HR0.000-0.406
predicted_OBP0.300-0.039
predicted_R1.000-0.413
predicted_RBI2.0000.417
predicted_SLG0.222-0.210
predicted_SO2.0000.035
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.000-4.000
BB0.000-1.000
CS0.0000.000
H2.0000.000
HBP0.0000.000
HR1.0001.000
PA5.000-
R1.0000.000
RBI1.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: 216
Reference playing time: 4.110
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-24.0004.0000.0000.0004.00012.0004.0000.0008.0000.16670.16670.66670.16670.16670.50000.00000.3333
last_100.203-45.0009.0000.0000.0005.00015.0005.0000.00010.0000.20000.20000.53330.20000.11110.33330.00000.2222
season0.6048-813.000213.00053.0000.00023.000107.000125.000135.000166.0000.26200.39060.41210.26200.02830.13160.16610.2042
Weighted Prediction From Real Data
MetricValue
predicted_2B0.8620
predicted_3B0.0020
predicted_AB15.9200
predicted_AVG0.2480
predicted_BB2.1750
predicted_H3.9490
predicted_HBP0.6850
predicted_HR0.7620
predicted_OBP0.3539
predicted_R2.4220
predicted_RBI2.9010
predicted_SLG0.4460
predicted_SO3.4950
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.24500.86200.5174model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB4.110015.92009.3240model_form_blend
predicted_AVG0.23200.24800.2391model_form_blend
predicted_BB0.62502.17501.3093model_form_blend
predicted_H0.95003.94902.2740model_form_blend
predicted_HBP-0.68500.6850form_only
predicted_HR0.12000.76200.4034model_form_blend
predicted_OBP0.32700.35390.3389model_form_blend
predicted_R0.57902.42201.3927model_form_blend
predicted_RBI0.50002.90101.5600model_form_blend
predicted_SLG0.39400.44600.4170model_form_blend
predicted_SO0.76903.49501.9725model_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 date216
Season rows before report date216
Report year2026
Profile rows used216
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
HR1
R1
RBI1
BB0
SO1
SF0
HBP0
season_avg0.262

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
allPositionsPlayedC
gameID20260520_PIT@STL
game_typefull
mlbID671056
playerID671056
playerNameIván Herrera
posDH
startedTrue
startingPositionC
teamSTL
teamID26
game_date2026-05-20
sl_k_percent16.7
sl_bb_percent13.5
sl_woba0.361
sl_xwoba0.357
sl_xba0.263
sl_xslg0.409
sl_sweet_spot_percent30.5
sl_barrel_batted_rate6.4
sl_hard_hit_percent42.6
sl_exit_velocity_avg89.3
sl_launch_angle_avg7.3
sl_whiff_percent21.5
sl_swing_percent42.3
Nolan Gorman (669357) · BATTER · 3B · Team STL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 176
All-history rows before 20260521: 176
System season_avg: 0.2430
Data season_avg (2026 season-to-date): 0.2429
Diff (system - data): 0.0001
System opponent_avg: 0.2460

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0911.0000.000Hitting_2B0.0910.0000.9091.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.6024.0007.000Hitting_AB3.6023.0000.3981.000
predicted_AVG0.2440.2500.286Hitting_AVG0.2430.0000.0070.250
predicted_BB0.4770.0001.000Hitting_BB0.4771.000-0.477-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0230.000-0.0230.000
predicted_H0.8301.0002.000Hitting_H0.8750.0000.1251.000
predicted_HR0.1300.0000.000Hitting_HR0.1360.000-0.1360.000
predicted_OBP0.3440.2500.375Hitting_OBP0.3260.250-0.0760.000
predicted_R0.4090.0001.000Hitting_R0.4090.000-0.4090.000
predicted_RBI0.4900.0001.000Hitting_RBI0.6190.000-0.6190.000
predicted_SLG0.3960.5000.286Hitting_SLG0.3820.0000.1180.500
predicted_SO1.1420.0002.000Hitting_SO1.1421.000-1.142-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_2B: 0.0910 -> 1.0000 (boost 0.9090, better)
Biggest Deboostpredicted_SO: 1.1420 -> 0.0000 (deboost -1.1420, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend99081predicted_AB: 3.6020 -> 7.3488 (boost 3.7468, 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_SLG: 0.4351 -> 0.4549 (boost 0.0198, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling71625predicted_H: 1.8312 -> 2.0000 (boost 0.1688, better)predicted_HR: 0.4488 -> 0.0000 (deboost -0.4488, worse)AB rounded to 7 (raw=7.35), rates preserved: AVG=0.249 HR/AB=0.061
5consistency_constraints11010predicted_R: 0.9424 -> 1.0000 (boost 0.0576, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context32121predicted_AVG: 0.2492 -> 0.2860 (boost 0.0368, better)predicted_SLG: 0.4549 -> 0.2860 (deboost -0.1689, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference71625predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final31212predicted_SLG: 0.2860 -> 0.4549 (boost 0.1689, better)predicted_AVG: 0.2860 -> 0.2492 (deboost -0.0368, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "669357",
  "player_name": "Nolan Gorman",
  "position": "3B",
  "team": "STL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.091,
        "predicted_3B": 0.0,
        "predicted_AB": 3.602,
        "predicted_AVG": 0.244,
        "predicted_BB": 0.477,
        "predicted_H": 0.83,
        "predicted_HR": 0.13,
        "predicted_OBP": 0.344,
        "predicted_R": 0.409,
        "predicted_RBI": 0.49,
        "predicted_SLG": 0.396,
        "predicted_SO": 1.142
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1633,
        "predicted_3B": 0.0009,
        "predicted_AB": 7.3488,
        "predicted_AVG": 0.2483,
        "predicted_BB": 1.1729,
        "predicted_H": 1.817,
        "predicted_HBP": 0.004,
        "predicted_HR": 0.4461,
        "predicted_OBP": 0.3484,
        "predicted_R": 0.9286,
        "predicted_RBI": 1.4235,
        "predicted_SLG": 0.4351,
        "predicted_SO": 2.1084
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.091,
          "after": 0.1633,
          "delta": 0.0723,
          "percent_delta": 0.7945,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.602,
          "after": 7.3488,
          "delta": 3.7468,
          "percent_delta": 1.0402,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.244,
          "after": 0.2483,
          "delta": 0.0043,
          "percent_delta": 0.0176,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.477,
          "after": 1.1729,
          "delta": 0.6959,
          "percent_delta": 1.4589,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.83,
          "after": 1.817,
          "delta": 0.987,
          "percent_delta": 1.1892,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.13,
          "after": 0.4461,
          "delta": 0.3161,
          "percent_delta": 2.4315,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.344,
          "after": 0.3484,
          "delta": 0.0044,
          "percent_delta": 0.0128,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.409,
          "after": 0.9286,
          "delta": 0.5196,
          "percent_delta": 1.2704,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.49,
          "after": 1.4235,
          "delta": 0.9335,
          "percent_delta": 1.9051,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.396,
          "after": 0.4351,
          "delta": 0.0391,
          "percent_delta": 0.0987,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.142,
          "after": 2.1084,
          "delta": 0.9664,
          "percent_delta": 0.8462,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 9,
        "deboosted_metrics": 0,
        "better_metrics": 8,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.602,
          "after": 7.3488,
          "delta": 3.7468,
          "percent_delta": 1.0402,
          "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": 2,
        "last_10": 4,
        "season": 46
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1633,
        "predicted_3B": 0.0009,
        "predicted_AB": 7.3488,
        "predicted_AVG": 0.2492,
        "predicted_BB": 1.1772,
        "predicted_H": 1.8312,
        "predicted_HBP": 0.004,
        "predicted_HR": 0.4488,
        "predicted_OBP": 0.3528,
        "predicted_R": 0.9424,
        "predicted_RBI": 1.4447,
        "predicted_SLG": 0.4549,
        "predicted_SO": 2.1006
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1633,
          "after": 0.1633,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.3488,
          "after": 7.3488,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2483,
          "after": 0.2492,
          "delta": 0.0009,
          "percent_delta": 0.0036,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.1729,
          "after": 1.1772,
          "delta": 0.0043,
          "percent_delta": 0.0037,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.817,
          "after": 1.8312,
          "delta": 0.0142,
          "percent_delta": 0.0078,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.004,
          "after": 0.004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.4461,
          "after": 0.4488,
          "delta": 0.0027,
          "percent_delta": 0.0061,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3484,
          "after": 0.3528,
          "delta": 0.0044,
          "percent_delta": 0.0126,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.9286,
          "after": 0.9424,
          "delta": 0.0138,
          "percent_delta": 0.0149,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.4235,
          "after": 1.4447,
          "delta": 0.0212,
          "percent_delta": 0.0149,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4351,
          "after": 0.4549,
          "delta": 0.0198,
          "percent_delta": 0.0455,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.1084,
          "after": 2.1006,
          "delta": -0.0078,
          "percent_delta": -0.0037,
          "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.4351,
          "after": 0.4549,
          "delta": 0.0198,
          "percent_delta": 0.0455,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 7 (raw=7.35), rates preserved: AVG=0.249 HR/AB=0.061",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.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.1633,
          "after": 0.0,
          "delta": -0.1633,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.3488,
          "after": 7.0,
          "delta": -0.3488,
          "percent_delta": -0.0475,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.1772,
          "after": 1.0,
          "delta": -0.1772,
          "percent_delta": -0.1505,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.8312,
          "after": 2.0,
          "delta": 0.1688,
          "percent_delta": 0.0922,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.004,
          "after": 0.0,
          "delta": -0.004,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.4488,
          "after": 0.0,
          "delta": -0.4488,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.4447,
          "after": 1.0,
          "delta": -0.4447,
          "percent_delta": -0.3078,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.1006,
          "after": 2.0,
          "delta": -0.1006,
          "percent_delta": -0.0479,
          "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": 1.8312,
          "after": 2.0,
          "delta": 0.1688,
          "percent_delta": 0.0922,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.4488,
          "after": 0.0,
          "delta": -0.4488,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.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": 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": 7.0,
          "after": 7.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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.9424,
          "after": 1.0,
          "delta": 0.0576,
          "percent_delta": 0.0611,
          "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.9424,
          "after": 1.0,
          "delta": 0.0576,
          "percent_delta": 0.0611,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.0,
        "predicted_AVG": 0.286,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.375,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.286,
        "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": 7.0,
          "after": 7.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2492,
          "after": 0.286,
          "delta": 0.0368,
          "percent_delta": 0.1477,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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.3528,
          "after": 0.375,
          "delta": 0.0222,
          "percent_delta": 0.0629,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4549,
          "after": 0.286,
          "delta": -0.1689,
          "percent_delta": -0.3713,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.2492,
          "after": 0.286,
          "delta": 0.0368,
          "percent_delta": 0.1477,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4549,
          "after": 0.286,
          "delta": -0.1689,
          "percent_delta": -0.3713,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.0,
          "after": 4.0,
          "delta": -3.0,
          "percent_delta": -0.4286,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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": 0.0,
          "delta": -2.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 1,
        "deboosted_metrics": 6,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_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": 7.0,
          "after": 4.0,
          "delta": -3.0,
          "percent_delta": -0.4286,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2492,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3528,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4549,
        "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.286,
          "after": 0.2492,
          "delta": -0.0368,
          "percent_delta": -0.1287,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.375,
          "after": 0.3528,
          "delta": -0.0222,
          "percent_delta": -0.0591,
          "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.286,
          "after": 0.4549,
          "delta": 0.1689,
          "percent_delta": 0.5904,
          "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.286,
          "after": 0.4549,
          "delta": 0.1689,
          "percent_delta": 0.5904,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.286,
          "after": 0.2492,
          "delta": -0.0368,
          "percent_delta": -0.1287,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.091,
        "after": 1.0,
        "delta": 0.909,
        "percent_delta": 9.989,
        "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.602,
        "after": 4.0,
        "delta": 0.398,
        "percent_delta": 0.1105,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.244,
        "after": 0.2492,
        "delta": 0.0052,
        "percent_delta": 0.0213,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.477,
        "after": 0.0,
        "delta": -0.477,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.83,
        "after": 1.0,
        "delta": 0.17,
        "percent_delta": 0.2048,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.13,
        "after": 0.0,
        "delta": -0.13,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.344,
        "after": 0.3528,
        "delta": 0.0088,
        "percent_delta": 0.0256,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.409,
        "after": 0.0,
        "delta": -0.409,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.49,
        "after": 0.0,
        "delta": -0.49,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.396,
        "after": 0.4549,
        "delta": 0.0589,
        "percent_delta": 0.1487,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.142,
        "after": 0.0,
        "delta": -1.142,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 6,
      "deboosted_metrics": 5,
      "better_metrics": 7,
      "worse_metrics": 4,
      "biggest_boost": {
        "metric": "predicted_2B",
        "before": 0.091,
        "after": 1.0,
        "delta": 0.909,
        "percent_delta": 9.989,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.142,
        "after": 0.0,
        "delta": -1.142,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "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.091-
predicted_3B0.000-
predicted_AB3.602-
predicted_AVG0.244-
predicted_BB0.477-
predicted_H0.830-
predicted_HR0.130-
predicted_OBP0.344-
predicted_R0.409-
predicted_RBI0.490-
predicted_SLG0.396-
predicted_SO1.142-
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.072
predicted_3B0.0010.001
predicted_AB7.3493.747
predicted_AVG0.2480.004
predicted_BB1.1730.696
predicted_H1.8170.987
predicted_HBP0.004-
predicted_HR0.4460.316
predicted_OBP0.3480.004
predicted_R0.9290.520
predicted_RBI1.4230.933
predicted_SLG0.4350.039
predicted_SO2.1080.966
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.0010.000
predicted_AB7.3490.000
predicted_AVG0.2490.001
predicted_BB1.1770.004
predicted_H1.8310.014
predicted_HBP0.0040.000
predicted_HR0.4490.003
predicted_OBP0.3530.004
predicted_R0.9420.014
predicted_RBI1.4450.021
predicted_SLG0.4550.020
predicted_SO2.101-0.008
4. ab_floor_and_scaling

AB rounded to 7 (raw=7.35), rates preserved: AVG=0.249 HR/AB=0.061

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB7.000-
BB1.000-
H2.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO2.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB7.0000.000
BB1.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
6. 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.001
predicted_AB7.000-0.349
predicted_AVG0.2860.037
predicted_BB1.000-0.177
predicted_H2.0000.169
predicted_HR0.000-0.449
predicted_OBP0.3750.022
predicted_R1.0000.058
predicted_RBI1.000-0.445
predicted_SLG0.286-0.169
predicted_SO2.000-0.101
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB4.000-3.000
BB0.000-1.000
CS0.0000.000
H1.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-2.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 176
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-15.0004.0000.0000.0004.0008.0004.0005.0001.0000.26670.45001.06670.26670.26670.53330.33330.0667
last_100.204-31.00010.0000.0000.0004.0008.0004.00010.0006.0000.32260.48780.70970.32260.12900.25810.32260.1935
season0.6046-634.000154.00016.0000.00024.000109.00072.00084.000201.0000.24290.32560.38170.24290.03790.17190.13250.3170
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2560
predicted_3B0.0020
predicted_AB12.1470
predicted_AVG0.2537
predicted_BB2.0640
predicted_H3.0810
predicted_HBP0.0040
predicted_HR0.8510
predicted_OBP0.3541
predicted_R1.5940
predicted_RBI2.6190
predicted_SLG0.4852
predicted_SO3.3460
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.09100.25600.1633model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB3.602012.14707.3488model_form_blend
predicted_AVG0.24400.25370.2483model_form_blend
predicted_BB0.47702.06401.1729model_form_blend
predicted_H0.83003.08101.8170model_form_blend
predicted_HBP-0.00400.0040form_only
predicted_HR0.13000.85100.4461model_form_blend
predicted_OBP0.34400.35410.3484model_form_blend
predicted_R0.40901.59400.9286model_form_blend
predicted_RBI0.49002.61901.4235model_form_blend
predicted_SLG0.39600.48520.4351model_form_blend
predicted_SO1.14203.34602.1084model_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 date176
Season rows before report date176
Report year2026
Profile rows used176
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
R0
RBI0
BB0
SO0
SF0
HBP0
season_avg0.243

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.0
Hitting_BB1
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder5
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedDH
gameID20260520_PIT@STL
game_typefull
mlbID669357
playerID669357
playerNameNolan Gorman
pos3B
startedTrue
startingPositionDH
teamSTL
teamID26
game_date2026-05-20
sl_k_percent27.0
sl_bb_percent11.5
sl_woba0.312
sl_xwoba0.327
sl_xba0.243
sl_xslg0.431
sl_sweet_spot_percent39.3
sl_barrel_batted_rate10.3
sl_hard_hit_percent47.7
sl_exit_velocity_avg89.5
sl_launch_angle_avg20.0
sl_whiff_percent34.6
sl_swing_percent49.2
Pedro Pagés (686780) · BATTER · C · Team STL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 115
All-history rows before 20260521: 115
System season_avg: 0.2200
Data season_avg (2026 season-to-date): 0.2200
Diff (system - data): 0.0000
System opponent_avg: 0.3100

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1050.0000.000Hitting_2B0.1040.000-0.1040.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.5093.0007.000Hitting_AB3.4783.000-0.4780.000
predicted_AVG0.2250.0000.286Hitting_AVG0.2200.333-0.220-0.333
predicted_BB0.1751.0000.000Hitting_BB0.1741.0000.8260.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.6500.0002.000Hitting_H0.7651.000-0.765-1.000
predicted_HR0.1100.0000.000Hitting_HR0.1390.000-0.1390.000
predicted_OBP0.2650.2500.286Hitting_OBP0.2650.500-0.015-0.250
predicted_R0.4040.0001.000Hitting_R0.4001.000-0.400-1.000
predicted_RBI0.2900.0001.000Hitting_RBI0.3130.000-0.3130.000
predicted_SLG0.3550.0000.286Hitting_SLG0.3700.333-0.370-0.333
predicted_SO1.0001.0002.000Hitting_SO0.9911.0000.0090.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics8
Boosted Metrics1
Deboosted Metrics7
Better Metrics1
Worse Metrics7
Biggest Boostpredicted_BB: 0.1750 -> 1.0000 (boost 0.8250, 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_blend1010091predicted_AB: 3.5090 -> 7.1633 (boost 3.6543, 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.2256 -> 0.2166 (deboost -0.0090, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling72525predicted_H: 1.5519 -> 2.0000 (boost 0.4481, better)predicted_BB: 0.5048 -> 0.0000 (deboost -0.5048, worse)AB rounded to 7 (raw=7.16), rates preserved: AVG=0.217 HR/AB=0.036
5consistency_constraints00000--Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context32121predicted_AVG: 0.2166 -> 0.2860 (boost 0.0694, better)predicted_SLG: 0.3537 -> 0.2860 (deboost -0.0677, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference61524predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 7.0000 -> 3.0000 (deboost -4.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final31212predicted_SLG: 0.2860 -> 0.3537 (boost 0.0677, better)predicted_AVG: 0.2860 -> 0.2166 (deboost -0.0694, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "686780",
  "player_name": "Pedro Pagés",
  "position": "C",
  "team": "STL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.105,
        "predicted_3B": 0.0,
        "predicted_AB": 3.509,
        "predicted_AVG": 0.225,
        "predicted_BB": 0.175,
        "predicted_H": 0.65,
        "predicted_HR": 0.11,
        "predicted_OBP": 0.265,
        "predicted_R": 0.404,
        "predicted_RBI": 0.29,
        "predicted_SLG": 0.355,
        "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.1972,
        "predicted_3B": 0.0013,
        "predicted_AB": 7.1633,
        "predicted_AVG": 0.2256,
        "predicted_BB": 0.5029,
        "predicted_H": 1.5399,
        "predicted_HBP": 0.147,
        "predicted_HR": 0.2591,
        "predicted_OBP": 0.2741,
        "predicted_R": 0.9362,
        "predicted_RBI": 0.596,
        "predicted_SLG": 0.3605,
        "predicted_SO": 2.0148
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.105,
          "after": 0.1972,
          "delta": 0.0922,
          "percent_delta": 0.8781,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0013,
          "delta": 0.0013,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.509,
          "after": 7.1633,
          "delta": 3.6543,
          "percent_delta": 1.0414,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.225,
          "after": 0.2256,
          "delta": 0.0006,
          "percent_delta": 0.0027,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.175,
          "after": 0.5029,
          "delta": 0.3279,
          "percent_delta": 1.8737,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.65,
          "after": 1.5399,
          "delta": 0.8899,
          "percent_delta": 1.3691,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.11,
          "after": 0.2591,
          "delta": 0.1491,
          "percent_delta": 1.3555,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.265,
          "after": 0.2741,
          "delta": 0.0091,
          "percent_delta": 0.0343,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.404,
          "after": 0.9362,
          "delta": 0.5322,
          "percent_delta": 1.3173,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.29,
          "after": 0.596,
          "delta": 0.306,
          "percent_delta": 1.0552,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.355,
          "after": 0.3605,
          "delta": 0.0055,
          "percent_delta": 0.0155,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0148,
          "delta": 1.0148,
          "percent_delta": 1.0148,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 10,
        "boosted_metrics": 10,
        "deboosted_metrics": 0,
        "better_metrics": 9,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.509,
          "after": 7.1633,
          "delta": 3.6543,
          "percent_delta": 1.0414,
          "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": 2,
        "last_10": 3,
        "season": 30
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1972,
        "predicted_3B": 0.0013,
        "predicted_AB": 7.1633,
        "predicted_AVG": 0.2166,
        "predicted_BB": 0.5048,
        "predicted_H": 1.5519,
        "predicted_HBP": 0.147,
        "predicted_HR": 0.2607,
        "predicted_OBP": 0.2682,
        "predicted_R": 0.9501,
        "predicted_RBI": 0.6049,
        "predicted_SLG": 0.3537,
        "predicted_SO": 2.0073
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1972,
          "after": 0.1972,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0013,
          "after": 0.0013,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.1633,
          "after": 7.1633,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2256,
          "after": 0.2166,
          "delta": -0.009,
          "percent_delta": -0.0399,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5029,
          "after": 0.5048,
          "delta": 0.0019,
          "percent_delta": 0.0038,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.5399,
          "after": 1.5519,
          "delta": 0.012,
          "percent_delta": 0.0078,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.147,
          "after": 0.147,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2591,
          "after": 0.2607,
          "delta": 0.0016,
          "percent_delta": 0.0062,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2741,
          "after": 0.2682,
          "delta": -0.0059,
          "percent_delta": -0.0215,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.9362,
          "after": 0.9501,
          "delta": 0.0139,
          "percent_delta": 0.0148,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.596,
          "after": 0.6049,
          "delta": 0.0089,
          "percent_delta": 0.0149,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3605,
          "after": 0.3537,
          "delta": -0.0068,
          "percent_delta": -0.0189,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0148,
          "after": 2.0073,
          "delta": -0.0075,
          "percent_delta": -0.0037,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.2256,
          "after": 0.2166,
          "delta": -0.009,
          "percent_delta": -0.0399,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 7 (raw=7.16), rates preserved: AVG=0.217 HR/AB=0.036",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.0,
        "predicted_BB": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1972,
          "after": 0.0,
          "delta": -0.1972,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0013,
          "after": 0.0,
          "delta": -0.0013,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.1633,
          "after": 7.0,
          "delta": -0.1633,
          "percent_delta": -0.0228,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5048,
          "after": 0.0,
          "delta": -0.5048,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.5519,
          "after": 2.0,
          "delta": 0.4481,
          "percent_delta": 0.2887,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.147,
          "after": 0.0,
          "delta": -0.147,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2607,
          "after": 0.0,
          "delta": -0.2607,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6049,
          "after": 1.0,
          "delta": 0.3951,
          "percent_delta": 0.6532,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0073,
          "after": 2.0,
          "delta": -0.0073,
          "percent_delta": -0.0036,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 2,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 1.5519,
          "after": 2.0,
          "delta": 0.4481,
          "percent_delta": 0.2887,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.5048,
          "after": 0.0,
          "delta": -0.5048,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.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": 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": 7.0,
          "after": 7.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.9501,
          "after": 1.0,
          "delta": 0.0499,
          "percent_delta": 0.0525,
          "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_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.0,
        "predicted_AVG": 0.286,
        "predicted_BB": 0.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.286,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.286,
        "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": 7.0,
          "after": 7.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2166,
          "after": 0.286,
          "delta": 0.0694,
          "percent_delta": 0.3204,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2682,
          "after": 0.286,
          "delta": 0.0178,
          "percent_delta": 0.0664,
          "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.3537,
          "after": 0.286,
          "delta": -0.0677,
          "percent_delta": -0.1914,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.2166,
          "after": 0.286,
          "delta": 0.0694,
          "percent_delta": 0.3204,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3537,
          "after": 0.286,
          "delta": -0.0677,
          "percent_delta": -0.1914,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.0,
          "after": 3.0,
          "delta": -4.0,
          "percent_delta": -0.5714,
          "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": 2.0,
          "after": 0.0,
          "delta": -2.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": 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": 7.0,
          "after": 3.0,
          "delta": -4.0,
          "percent_delta": -0.5714,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2166,
        "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.2682,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3537,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.286,
          "after": 0.2166,
          "delta": -0.0694,
          "percent_delta": -0.2425,
          "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.286,
          "after": 0.2682,
          "delta": -0.0178,
          "percent_delta": -0.0622,
          "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.286,
          "after": 0.3537,
          "delta": 0.0677,
          "percent_delta": 0.2368,
          "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.286,
          "after": 0.3537,
          "delta": 0.0677,
          "percent_delta": 0.2368,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.286,
          "after": 0.2166,
          "delta": -0.0694,
          "percent_delta": -0.2425,
          "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.105,
        "after": 0.0,
        "delta": -0.105,
        "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.509,
        "after": 3.0,
        "delta": -0.509,
        "percent_delta": -0.1451,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.225,
        "after": 0.2166,
        "delta": -0.0084,
        "percent_delta": -0.0373,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.175,
        "after": 1.0,
        "delta": 0.825,
        "percent_delta": 4.7143,
        "direction": "boost",
        "projection_effect": "better",
        "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.265,
        "after": 0.2682,
        "delta": 0.0032,
        "percent_delta": 0.0121,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.404,
        "after": 0.0,
        "delta": -0.404,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.29,
        "after": 0.0,
        "delta": -0.29,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.355,
        "after": 0.3537,
        "delta": -0.0013,
        "percent_delta": -0.0037,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 8,
      "boosted_metrics": 1,
      "deboosted_metrics": 7,
      "better_metrics": 1,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.175,
        "after": 1.0,
        "delta": 0.825,
        "percent_delta": 4.7143,
        "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.105-
predicted_3B0.000-
predicted_AB3.509-
predicted_AVG0.225-
predicted_BB0.175-
predicted_H0.650-
predicted_HR0.110-
predicted_OBP0.265-
predicted_R0.404-
predicted_RBI0.290-
predicted_SLG0.355-
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.1970.092
predicted_3B0.0010.001
predicted_AB7.1633.654
predicted_AVG0.2260.001
predicted_BB0.5030.328
predicted_H1.5400.890
predicted_HBP0.147-
predicted_HR0.2590.149
predicted_OBP0.2740.009
predicted_R0.9360.532
predicted_RBI0.5960.306
predicted_SLG0.3600.006
predicted_SO2.0151.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.1970.000
predicted_3B0.0010.000
predicted_AB7.1630.000
predicted_AVG0.217-0.009
predicted_BB0.5050.002
predicted_H1.5520.012
predicted_HBP0.1470.000
predicted_HR0.2610.002
predicted_OBP0.268-0.006
predicted_R0.9500.014
predicted_RBI0.6050.009
predicted_SLG0.354-0.007
predicted_SO2.007-0.008
4. ab_floor_and_scaling

AB rounded to 7 (raw=7.16), rates preserved: AVG=0.217 HR/AB=0.036

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB7.000-
BB0.000-
H2.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO2.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB7.0000.000
BB0.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
6. 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.001
predicted_AB7.000-0.163
predicted_AVG0.2860.069
predicted_BB0.000-0.505
predicted_H2.0000.448
predicted_HR0.000-0.261
predicted_OBP0.2860.018
predicted_R1.0000.050
predicted_RBI1.0000.395
predicted_SLG0.286-0.068
predicted_SO2.000-0.007
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-4.000
BB1.0001.000
CS0.0000.000
H0.000-2.000
HBP0.0000.000
HR0.0000.000
PA4.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: 114
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-15.0004.0000.0000.0000.0000.0004.0004.0004.0000.26670.42110.26670.26670.00000.00000.26670.2667
last_100.203-33.0007.0000.0000.0003.0003.0007.0004.00010.0000.21210.29730.48480.21210.09090.09090.12120.3030
season0.6030-400.00088.00012.0000.00016.00036.00046.00020.000114.0000.22000.26510.37000.22000.04000.09000.05000.2850
Weighted Prediction From Real Data
MetricValue
predicted_2B0.3190
predicted_3B0.0030
predicted_AB11.9890
predicted_AVG0.2264
predicted_BB0.9360
predicted_H2.7150
predicted_HBP0.1470
predicted_HR0.4560
predicted_OBP0.2862
predicted_R1.6390
predicted_RBI1.0000
predicted_SLG0.3677
predicted_SO3.3550
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.10500.31900.1972model_form_blend
predicted_3B0.00000.00300.0013model_form_blend
predicted_AB3.509011.98907.1633model_form_blend
predicted_AVG0.22500.22640.2256model_form_blend
predicted_BB0.17500.93600.5029model_form_blend
predicted_H0.65002.71501.5399model_form_blend
predicted_HBP-0.14700.1470form_only
predicted_HR0.11000.45600.2591model_form_blend
predicted_OBP0.26500.28620.2741model_form_blend
predicted_R0.40401.63900.9362model_form_blend
predicted_RBI0.29001.00000.5960model_form_blend
predicted_SLG0.35500.36770.3605model_form_blend
predicted_SO1.00003.35502.0148model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date115
Season rows before report date115
Report year2026
Profile rows 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
AB3
H0
2B0
3B0
HR0
R0
RBI0
BB1
SO1
SF0
HBP0
season_avg0.22

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_SO1
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
gameID20260519_PIT@STL
game_typefull
mlbID686780
playerID686780
playerNamePedro Pagés
posC
startedTrue
startingPositionC
teamSTL
teamID26
game_date2026-05-19
game_pk823059.0
sl_k_percent25.0
sl_bb_percent4.5
sl_woba0.273
sl_xwoba0.264
sl_xba0.206
sl_xslg0.345
sl_sweet_spot_percent28.6
sl_barrel_batted_rate6.5
sl_hard_hit_percent33.8
sl_exit_velocity_avg86.2
sl_launch_angle_avg12.7
sl_whiff_percent27.2
sl_swing_percent48.7
at_bat_number78.0
ab_pitcher642397.0
ab_pitcher_nameSoto, Gregory
ab_home_teamSTL
ab_away_teamPIT
ab_game_typeR
ab_standR
ab_p_throwsL
ab_inning9.0
ab_inning_topbotBot
ab_outs_when_up1.0
ab_balls_start0.0
ab_strikes_start0.0
ab_home_score_start6.0
ab_away_score_start6.0
ab_bat_score_start6.0
ab_fld_score_start6.0
ab_eventstrikeout
ab_event_descriptionPedro Pagés strikes out swinging.
ab_event_typeS
ab_hit_location2.0
ab_pitch_type_lastST
ab_pitch_name_lastSweeper
ab_zone_last13.0
ab_launch_speed_last93.3
ab_launch_angle_last43.0
ab_hit_distance_last299.0
ab_estimated_woba_last0.0
ab_woba_value0.0
ab_woba_denom1.0
ab_babip_value0.0
ab_iso_value0.0
ab_balls_end1.0
ab_strikes_end2.0
ab_home_score_end6.0
ab_away_score_end6.0
ab_bat_score_end6.0
ab_fld_score_end6.0
ab_pitch_count4.0
ab_release_speed_avg91.125
ab_release_spin_rate_avg2472.75
ab_effective_speed_avg90.825
ab_launch_speed_avg93.3
ab_launch_angle_avg43.0
ab_delta_run_exp_avg-0.0635
ab_delta_home_win_exp_avg-0.0115
ab_delta_pitcher_run_exp_avg0.0635
ab_bat_speed_avg76.7
ab_swing_length_avg7.4
ab_launch_speed_max93.3
ab_hit_distance_sc_max299.0
ab_release_speed_max98.0
ab_release_spin_rate_max2614.0
ab_release_speed_min84.6
ab_release_spin_rate_min2357.0
ab_delta_run_exp_sum-0.254
ab_delta_home_win_exp_sum-0.046
ab_delta_pitcher_run_exp_sum0.254
ab_result_is_hitFalse
ab_result_is_walkFalse
ab_result_is_strikeoutTrue
ab_result_is_hbpFalse
Masyn Winn (691026) · BATTER · SS · Team STL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 176
All-history rows before 20260521: 176
System season_avg: 0.2530
Data season_avg (2026 season-to-date): 0.2533
Diff (system - data): -0.0003
System opponent_avg: 0.2520

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2130.0000.000Hitting_2B0.2100.000-0.2100.000
predicted_3B0.0460.0000.000Hitting_3B0.0450.000-0.0450.000
predicted_AB3.9024.0008.000Hitting_AB3.8584.0000.1420.000
predicted_AVG0.2300.0000.250Hitting_AVG0.2530.000-0.2530.000
predicted_BB0.3280.0001.000Hitting_BB0.3350.000-0.3350.000
predicted_CS-0.0000.000BaseRunning_CS0.0230.000-0.0230.000
predicted_H0.8500.0002.000Hitting_H0.9770.000-0.9770.000
predicted_HR0.0600.0000.000Hitting_HR0.0280.000-0.0280.000
predicted_OBP0.3030.0000.333Hitting_OBP0.3250.000-0.3250.000
predicted_R0.4770.0001.000Hitting_R0.4720.000-0.4720.000
predicted_RBI0.3700.0001.000Hitting_RBI0.4430.000-0.4430.000
predicted_SLG0.3440.0000.250Hitting_SLG0.3530.000-0.3530.000
predicted_SO0.8680.0002.000Hitting_SO0.8582.000-0.858-2.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.9020 -> 4.0000 (boost 0.0980, 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_blend109182predicted_AB: 3.9020 -> 8.2430 (boost 4.3410, better)predicted_SLG: 0.3440 -> 0.3379 (deboost -0.0061, worse)Final model 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.3106 -> 0.2903 (deboost -0.0203, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling83526predicted_BB: 0.5901 -> 1.0000 (boost 0.4099, better)predicted_HBP: 0.8160 -> 0.0000 (deboost -0.8160, worse)AB rounded to 8 (raw=8.24), rates preserved: AVG=0.240 HR/AB=0.009
5consistency_constraints00000--Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context32121predicted_OBP: 0.2903 -> 0.3330 (boost 0.0427, better)predicted_SLG: 0.3353 -> 0.2500 (deboost -0.0853, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference60615-predicted_AB: 8.0000 -> 4.0000 (deboost -4.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final31212predicted_SLG: 0.2500 -> 0.3353 (boost 0.0853, better)predicted_OBP: 0.3330 -> 0.2903 (deboost -0.0427, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "691026",
  "player_name": "Masyn Winn",
  "position": "SS",
  "team": "STL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.213,
        "predicted_3B": 0.046,
        "predicted_AB": 3.902,
        "predicted_AVG": 0.23,
        "predicted_BB": 0.328,
        "predicted_H": 0.85,
        "predicted_HR": 0.06,
        "predicted_OBP": 0.303,
        "predicted_R": 0.477,
        "predicted_RBI": 0.37,
        "predicted_SLG": 0.344,
        "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.4004,
        "predicted_3B": 0.0807,
        "predicted_AB": 8.243,
        "predicted_AVG": 0.2365,
        "predicted_BB": 0.5879,
        "predicted_H": 1.9593,
        "predicted_HBP": 0.816,
        "predicted_HR": 0.0754,
        "predicted_OBP": 0.3106,
        "predicted_R": 0.9682,
        "predicted_RBI": 0.8753,
        "predicted_SLG": 0.3379,
        "predicted_SO": 1.8684
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.213,
          "after": 0.4004,
          "delta": 0.1874,
          "percent_delta": 0.8798,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.046,
          "after": 0.0807,
          "delta": 0.0347,
          "percent_delta": 0.7543,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.902,
          "after": 8.243,
          "delta": 4.341,
          "percent_delta": 1.1125,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.23,
          "after": 0.2365,
          "delta": 0.0065,
          "percent_delta": 0.0283,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.328,
          "after": 0.5879,
          "delta": 0.2599,
          "percent_delta": 0.7924,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.85,
          "after": 1.9593,
          "delta": 1.1093,
          "percent_delta": 1.3051,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.06,
          "after": 0.0754,
          "delta": 0.0154,
          "percent_delta": 0.2567,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.303,
          "after": 0.3106,
          "delta": 0.0076,
          "percent_delta": 0.0251,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.477,
          "after": 0.9682,
          "delta": 0.4912,
          "percent_delta": 1.0298,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.37,
          "after": 0.8753,
          "delta": 0.5053,
          "percent_delta": 1.3657,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.344,
          "after": 0.3379,
          "delta": -0.0061,
          "percent_delta": -0.0177,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.868,
          "after": 1.8684,
          "delta": 1.0004,
          "percent_delta": 1.1525,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 10,
        "boosted_metrics": 9,
        "deboosted_metrics": 1,
        "better_metrics": 8,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.902,
          "after": 8.243,
          "delta": 4.341,
          "percent_delta": 1.1125,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.344,
          "after": 0.3379,
          "delta": -0.0061,
          "percent_delta": -0.0177,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 3,
        "last_10": 4,
        "season": 41
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.4004,
        "predicted_3B": 0.0807,
        "predicted_AB": 8.243,
        "predicted_AVG": 0.2395,
        "predicted_BB": 0.5901,
        "predicted_H": 1.9746,
        "predicted_HBP": 0.816,
        "predicted_HR": 0.0759,
        "predicted_OBP": 0.2903,
        "predicted_R": 0.9826,
        "predicted_RBI": 0.8883,
        "predicted_SLG": 0.3353,
        "predicted_SO": 1.8615
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.4004,
          "after": 0.4004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0807,
          "after": 0.0807,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.243,
          "after": 8.243,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2365,
          "after": 0.2395,
          "delta": 0.003,
          "percent_delta": 0.0127,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.5879,
          "after": 0.5901,
          "delta": 0.0022,
          "percent_delta": 0.0037,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.9593,
          "after": 1.9746,
          "delta": 0.0153,
          "percent_delta": 0.0078,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.816,
          "after": 0.816,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0754,
          "after": 0.0759,
          "delta": 0.0005,
          "percent_delta": 0.0066,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3106,
          "after": 0.2903,
          "delta": -0.0203,
          "percent_delta": -0.0654,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.9682,
          "after": 0.9826,
          "delta": 0.0144,
          "percent_delta": 0.0149,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.8753,
          "after": 0.8883,
          "delta": 0.013,
          "percent_delta": 0.0149,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3379,
          "after": 0.3353,
          "delta": -0.0026,
          "percent_delta": -0.0077,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.8684,
          "after": 1.8615,
          "delta": -0.0069,
          "percent_delta": -0.0037,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.3106,
          "after": 0.2903,
          "delta": -0.0203,
          "percent_delta": -0.0654,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 8 (raw=8.24), rates preserved: AVG=0.240 HR/AB=0.009",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.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.4004,
          "after": 0.0,
          "delta": -0.4004,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0807,
          "after": 0.0,
          "delta": -0.0807,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 8.243,
          "after": 8.0,
          "delta": -0.243,
          "percent_delta": -0.0295,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5901,
          "after": 1.0,
          "delta": 0.4099,
          "percent_delta": 0.6946,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.9746,
          "after": 2.0,
          "delta": 0.0254,
          "percent_delta": 0.0129,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.816,
          "after": 0.0,
          "delta": -0.816,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0759,
          "after": 0.0,
          "delta": -0.0759,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.8883,
          "after": 1.0,
          "delta": 0.1117,
          "percent_delta": 0.1257,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.8615,
          "after": 2.0,
          "delta": 0.1385,
          "percent_delta": 0.0744,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 3,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.5901,
          "after": 1.0,
          "delta": 0.4099,
          "percent_delta": 0.6946,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HBP",
          "before": 0.816,
          "after": 0.0,
          "delta": -0.816,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.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": 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": 8.0,
          "after": 8.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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.9826,
          "after": 1.0,
          "delta": 0.0174,
          "percent_delta": 0.0177,
          "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_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.333,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.25,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2395,
          "after": 0.25,
          "delta": 0.0105,
          "percent_delta": 0.0438,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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.2903,
          "after": 0.333,
          "delta": 0.0427,
          "percent_delta": 0.1471,
          "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.3353,
          "after": 0.25,
          "delta": -0.0853,
          "percent_delta": -0.2544,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.2903,
          "after": 0.333,
          "delta": 0.0427,
          "percent_delta": 0.1471,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3353,
          "after": 0.25,
          "delta": -0.0853,
          "percent_delta": -0.2544,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 4.0,
          "delta": -4.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.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": 0.0,
          "delta": -2.0,
          "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_AB",
          "before": 8.0,
          "after": 4.0,
          "delta": -4.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2395,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2903,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3353,
        "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.25,
          "after": 0.2395,
          "delta": -0.0105,
          "percent_delta": -0.0418,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.333,
          "after": 0.2903,
          "delta": -0.0427,
          "percent_delta": -0.1281,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.3353,
          "delta": 0.0853,
          "percent_delta": 0.3412,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.3353,
          "delta": 0.0853,
          "percent_delta": 0.3412,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.333,
          "after": 0.2903,
          "delta": -0.0427,
          "percent_delta": -0.1281,
          "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.213,
        "after": 0.0,
        "delta": -0.213,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.046,
        "after": 0.0,
        "delta": -0.046,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.902,
        "after": 4.0,
        "delta": 0.098,
        "percent_delta": 0.0251,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.23,
        "after": 0.2395,
        "delta": 0.0095,
        "percent_delta": 0.0413,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.328,
        "after": 0.0,
        "delta": -0.328,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.85,
        "after": 0.0,
        "delta": -0.85,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.06,
        "after": 0.0,
        "delta": -0.06,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.303,
        "after": 0.2903,
        "delta": -0.0127,
        "percent_delta": -0.0419,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.477,
        "after": 0.0,
        "delta": -0.477,
        "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.344,
        "after": 0.3353,
        "delta": -0.0087,
        "percent_delta": -0.0253,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "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": 11,
      "boosted_metrics": 2,
      "deboosted_metrics": 9,
      "better_metrics": 3,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.902,
        "after": 4.0,
        "delta": 0.098,
        "percent_delta": 0.0251,
        "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": "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.213-
predicted_3B0.046-
predicted_AB3.902-
predicted_AVG0.230-
predicted_BB0.328-
predicted_H0.850-
predicted_HR0.060-
predicted_OBP0.303-
predicted_R0.477-
predicted_RBI0.370-
predicted_SLG0.344-
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.4000.187
predicted_3B0.0810.035
predicted_AB8.2434.341
predicted_AVG0.2360.006
predicted_BB0.5880.260
predicted_H1.9591.109
predicted_HBP0.816-
predicted_HR0.0750.015
predicted_OBP0.3110.008
predicted_R0.9680.491
predicted_RBI0.8750.505
predicted_SLG0.338-0.006
predicted_SO1.8681.000
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.4000.000
predicted_3B0.0810.000
predicted_AB8.2430.000
predicted_AVG0.2390.003
predicted_BB0.5900.002
predicted_H1.9750.015
predicted_HBP0.8160.000
predicted_HR0.0760.001
predicted_OBP0.290-0.020
predicted_R0.9830.014
predicted_RBI0.8880.013
predicted_SLG0.335-0.003
predicted_SO1.861-0.007
4. ab_floor_and_scaling

AB rounded to 8 (raw=8.24), rates preserved: AVG=0.240 HR/AB=0.009

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB8.000-
BB1.000-
H2.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO2.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB8.0000.000
BB1.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
6. 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.400
predicted_3B0.000-0.081
predicted_AB8.000-0.243
predicted_AVG0.2500.011
predicted_BB1.0000.410
predicted_H2.0000.025
predicted_HR0.000-0.076
predicted_OBP0.3330.043
predicted_R1.0000.017
predicted_RBI1.0000.112
predicted_SLG0.250-0.085
predicted_SO2.0000.139
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.000-4.000
BB0.000-1.000
CS0.0000.000
H0.000-2.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-2.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 174
Reference playing time: 3.902
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.203-13.0003.0000.0000.0000.0001.0001.0000.0003.0000.23080.35290.23080.23080.00000.07690.00000.2308
last_100.204-32.0005.0002.0000.0000.0004.0004.0000.00010.0000.15620.20510.21880.15620.00000.12500.00000.3125
season0.6041-679.000172.00037.0008.0005.00078.00083.00057.000151.0000.25330.32160.35350.25330.00740.11490.08390.2224
Weighted Prediction From Real Data
MetricValue
predicted_2B0.6400
predicted_3B0.1250
predicted_AB13.7910
predicted_AVG0.2449
predicted_BB0.9200
predicted_H3.3770
predicted_HBP0.8160
predicted_HR0.0950
predicted_OBP0.3202
predicted_R1.5960
predicted_RBI1.5210
predicted_SLG0.3301
predicted_SO3.1470
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.21300.64000.4004model_form_blend
predicted_3B0.04600.12500.0807model_form_blend
predicted_AB3.902013.79108.2430model_form_blend
predicted_AVG0.23000.24490.2365model_form_blend
predicted_BB0.32800.92000.5879model_form_blend
predicted_H0.85003.37701.9593model_form_blend
predicted_HBP-0.81600.8160form_only
predicted_HR0.06000.09500.0754model_form_blend
predicted_OBP0.30300.32020.3106model_form_blend
predicted_R0.47701.59600.9682model_form_blend
predicted_RBI0.37001.52100.8753model_form_blend
predicted_SLG0.34400.33010.3379model_form_blend
predicted_SO0.86803.14701.8684model_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 date176
Season rows before report date176
Report year2026
Profile rows used174
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.253

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB0
Hitting_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
gameID20260520_PIT@STL
game_typefull
mlbID691026
playerID691026
playerNameMasyn Winn
posSS
startedTrue
startingPositionSS
teamSTL
teamID26
game_date2026-05-20
sl_k_percent18.9
sl_bb_percent8.0
sl_woba0.31
sl_xwoba0.302
sl_xba0.259
sl_xslg0.331
sl_sweet_spot_percent32.5
sl_barrel_batted_rate3.3
sl_hard_hit_percent28.5
sl_exit_velocity_avg86.7
sl_launch_angle_avg14.0
sl_whiff_percent22.3
sl_swing_percent42.7
José Fermín (665877) · BATTER · LF · Team STL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 61
All-history rows before 20260521: 61
System season_avg: 0.2100
Data season_avg (2026 season-to-date): 0.2099
Diff (system - data): 0.0001
System opponent_avg: 0.8000

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1360.0000.000Hitting_2B0.1310.000-0.1310.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.7463.0004.000Hitting_AB2.6561.0000.3442.000
predicted_AVG0.2220.0000.250Hitting_AVG0.2100.000-0.2100.000
predicted_BB0.3221.0000.000Hitting_BB0.3280.0000.6721.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.1900.0001.000Hitting_H0.5570.000-0.5570.000
predicted_HR0.0300.0000.000Hitting_HR0.0660.000-0.0660.000
predicted_OBP0.2690.2500.250Hitting_OBP0.2900.000-0.0400.250
predicted_R0.1360.0000.000Hitting_R0.1480.000-0.1480.000
predicted_RBI0.1500.0000.000Hitting_RBI0.3770.000-0.3770.000
predicted_SLG0.3100.0000.250Hitting_SLG0.3330.000-0.3330.000
predicted_SO0.6611.0001.000Hitting_SO0.6390.0000.3611.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.3220 -> 1.0000 (boost 0.6780, better)
Biggest Deboostpredicted_H: 0.1900 -> 0.0000 (deboost -0.1900, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend96354predicted_AB: 2.7460 -> 4.2036 (boost 1.4576, better)predicted_AVG: 0.2220 -> 0.2009 (deboost -0.0211, worse)Final model 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.2009 -> 0.1324 (deboost -0.0685, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling61515predicted_H: 0.5564 -> 1.0000 (boost 0.4436, better)predicted_BB: 0.4710 -> 0.0000 (deboost -0.4710, worse)AB rounded to 4 (raw=4.20), rates preserved: AVG=0.132 HR/AB=0.017
5consistency_constraints10101-predicted_R: 0.2119 -> 0.0000 (deboost -0.2119, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context33030predicted_AVG: 0.1324 -> 0.2500 (boost 0.1176, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_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
8current_json_final30303-predicted_AVG: 0.2500 -> 0.1324 (deboost -0.1176, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "665877",
  "player_name": "José Fermín",
  "position": "LF",
  "team": "STL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.136,
        "predicted_3B": 0.0,
        "predicted_AB": 2.746,
        "predicted_AVG": 0.222,
        "predicted_BB": 0.322,
        "predicted_H": 0.19,
        "predicted_HR": 0.03,
        "predicted_OBP": 0.269,
        "predicted_R": 0.136,
        "predicted_RBI": 0.15,
        "predicted_SLG": 0.31,
        "predicted_SO": 0.661
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1802,
        "predicted_3B": 0.0012,
        "predicted_AB": 4.2036,
        "predicted_AVG": 0.2009,
        "predicted_BB": 0.4693,
        "predicted_H": 0.5521,
        "predicted_HBP": 0.008,
        "predicted_HR": 0.0709,
        "predicted_OBP": 0.2596,
        "predicted_R": 0.2088,
        "predicted_RBI": 0.3726,
        "predicted_SLG": 0.2945,
        "predicted_SO": 1.0215
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.136,
          "after": 0.1802,
          "delta": 0.0442,
          "percent_delta": 0.325,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0012,
          "delta": 0.0012,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.746,
          "after": 4.2036,
          "delta": 1.4576,
          "percent_delta": 0.5308,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.222,
          "after": 0.2009,
          "delta": -0.0211,
          "percent_delta": -0.095,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.322,
          "after": 0.4693,
          "delta": 0.1473,
          "percent_delta": 0.4575,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.19,
          "after": 0.5521,
          "delta": 0.3621,
          "percent_delta": 1.9058,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.03,
          "after": 0.0709,
          "delta": 0.0409,
          "percent_delta": 1.3633,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.269,
          "after": 0.2596,
          "delta": -0.0094,
          "percent_delta": -0.0349,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.136,
          "after": 0.2088,
          "delta": 0.0728,
          "percent_delta": 0.5353,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.15,
          "after": 0.3726,
          "delta": 0.2226,
          "percent_delta": 1.484,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.31,
          "after": 0.2945,
          "delta": -0.0155,
          "percent_delta": -0.05,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.661,
          "after": 1.0215,
          "delta": 0.3605,
          "percent_delta": 0.5454,
          "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.746,
          "after": 4.2036,
          "delta": 1.4576,
          "percent_delta": 0.5308,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.222,
          "after": 0.2009,
          "delta": -0.0211,
          "percent_delta": -0.095,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 3,
        "last_10": 5,
        "season": 22
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1802,
        "predicted_3B": 0.0012,
        "predicted_AB": 4.2036,
        "predicted_AVG": 0.1324,
        "predicted_BB": 0.471,
        "predicted_H": 0.5564,
        "predicted_HBP": 0.008,
        "predicted_HR": 0.0713,
        "predicted_OBP": 0.2198,
        "predicted_R": 0.2119,
        "predicted_RBI": 0.3782,
        "predicted_SLG": 0.2267,
        "predicted_SO": 1.0177
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1802,
          "after": 0.1802,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0012,
          "after": 0.0012,
          "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.2009,
          "after": 0.1324,
          "delta": -0.0685,
          "percent_delta": -0.341,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4693,
          "after": 0.471,
          "delta": 0.0017,
          "percent_delta": 0.0036,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.5521,
          "after": 0.5564,
          "delta": 0.0043,
          "percent_delta": 0.0078,
          "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.0709,
          "after": 0.0713,
          "delta": 0.0004,
          "percent_delta": 0.0056,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2596,
          "after": 0.2198,
          "delta": -0.0398,
          "percent_delta": -0.1533,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.2088,
          "after": 0.2119,
          "delta": 0.0031,
          "percent_delta": 0.0148,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3726,
          "after": 0.3782,
          "delta": 0.0056,
          "percent_delta": 0.015,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2945,
          "after": 0.2267,
          "delta": -0.0678,
          "percent_delta": -0.2302,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0215,
          "after": 1.0177,
          "delta": -0.0038,
          "percent_delta": -0.0037,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.2009,
          "after": 0.1324,
          "delta": -0.0685,
          "percent_delta": -0.341,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.20), rates preserved: AVG=0.132 HR/AB=0.017",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1802,
          "after": 0.0,
          "delta": -0.1802,
          "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": 4.2036,
          "after": 4.0,
          "delta": -0.2036,
          "percent_delta": -0.0484,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.471,
          "after": 0.0,
          "delta": -0.471,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.5564,
          "after": 1.0,
          "delta": 0.4436,
          "percent_delta": 0.7973,
          "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.0713,
          "after": 0.0,
          "delta": -0.0713,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3782,
          "after": 0.0,
          "delta": -0.3782,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0177,
          "after": 1.0,
          "delta": -0.0177,
          "percent_delta": -0.0174,
          "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.5564,
          "after": 1.0,
          "delta": 0.4436,
          "percent_delta": 0.7973,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.471,
          "after": 0.0,
          "delta": -0.471,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.2119,
          "after": 0.0,
          "delta": -0.2119,
          "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.2119,
          "after": 0.0,
          "delta": -0.2119,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.25,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.25,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1324,
          "after": 0.25,
          "delta": 0.1176,
          "percent_delta": 0.8882,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2198,
          "after": 0.25,
          "delta": 0.0302,
          "percent_delta": 0.1374,
          "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.2267,
          "after": 0.25,
          "delta": 0.0233,
          "percent_delta": 0.1028,
          "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.1324,
          "after": 0.25,
          "delta": 0.1176,
          "percent_delta": 0.8882,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.1324,
        "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.2198,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2267,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.1324,
          "delta": -0.1176,
          "percent_delta": -0.4705,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.25,
          "after": 0.2198,
          "delta": -0.0302,
          "percent_delta": -0.1208,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.2267,
          "delta": -0.0233,
          "percent_delta": -0.0932,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.1324,
          "delta": -0.1176,
          "percent_delta": -0.4705,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.136,
        "after": 0.0,
        "delta": -0.136,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.746,
        "after": 3.0,
        "delta": 0.254,
        "percent_delta": 0.0925,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.222,
        "after": 0.1324,
        "delta": -0.0896,
        "percent_delta": -0.4036,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.322,
        "after": 1.0,
        "delta": 0.678,
        "percent_delta": 2.1056,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.19,
        "after": 0.0,
        "delta": -0.19,
        "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.269,
        "after": 0.2198,
        "delta": -0.0492,
        "percent_delta": -0.1829,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.136,
        "after": 0.0,
        "delta": -0.136,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.15,
        "after": 0.0,
        "delta": -0.15,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.31,
        "after": 0.2267,
        "delta": -0.0833,
        "percent_delta": -0.2687,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.661,
        "after": 1.0,
        "delta": 0.339,
        "percent_delta": 0.5129,
        "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.322,
        "after": 1.0,
        "delta": 0.678,
        "percent_delta": 2.1056,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.19,
        "after": 0.0,
        "delta": -0.19,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.136-
predicted_3B0.000-
predicted_AB2.746-
predicted_AVG0.222-
predicted_BB0.322-
predicted_H0.190-
predicted_HR0.030-
predicted_OBP0.269-
predicted_R0.136-
predicted_RBI0.150-
predicted_SLG0.310-
predicted_SO0.661-
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.044
predicted_3B0.0010.001
predicted_AB4.2041.458
predicted_AVG0.201-0.021
predicted_BB0.4690.147
predicted_H0.5520.362
predicted_HBP0.008-
predicted_HR0.0710.041
predicted_OBP0.260-0.009
predicted_R0.2090.073
predicted_RBI0.3730.223
predicted_SLG0.294-0.016
predicted_SO1.0220.361
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.0010.000
predicted_AB4.2040.000
predicted_AVG0.132-0.069
predicted_BB0.4710.002
predicted_H0.5560.004
predicted_HBP0.0080.000
predicted_HR0.0710.000
predicted_OBP0.220-0.040
predicted_R0.2120.003
predicted_RBI0.3780.006
predicted_SLG0.227-0.068
predicted_SO1.018-0.004
4. ab_floor_and_scaling

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

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
5. 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
6. 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.001
predicted_AB4.000-0.204
predicted_AVG0.2500.118
predicted_BB0.000-0.471
predicted_H1.0000.444
predicted_HR0.000-0.071
predicted_OBP0.2500.030
predicted_R0.000-0.212
predicted_RBI0.000-0.378
predicted_SLG0.2500.023
predicted_SO1.000-0.018
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 59
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.203-14.0000.0000.0000.0000.0000.0000.0000.0004.0000.00000.00000.00000.00000.00000.00000.00000.2857
last_100.205-24.0000.0000.0000.0000.0000.0000.0006.0006.0000.00000.20000.00000.00000.00000.00000.25000.2500
season0.6022-162.00034.0008.0000.0004.00023.0008.00019.00039.0000.20990.28650.33330.20990.02470.14200.11730.2407
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2440
predicted_3B0.0030
predicted_AB6.3080
predicted_AVG0.1704
predicted_BB0.6820
predicted_H1.0750
predicted_HBP0.0080
predicted_HR0.1300
predicted_OBP0.2460
predicted_R0.3140
predicted_RBI0.6940
predicted_SLG0.2720
predicted_SO1.5420
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.13600.24400.1802model_form_blend
predicted_3B0.00000.00300.0012model_form_blend
predicted_AB2.74606.30804.2036model_form_blend
predicted_AVG0.22200.17040.2009model_form_blend
predicted_BB0.32200.68200.4693model_form_blend
predicted_H0.19001.07500.5521model_form_blend
predicted_HBP-0.00800.0080form_only
predicted_HR0.03000.13000.0709model_form_blend
predicted_OBP0.26900.24600.2596model_form_blend
predicted_R0.13600.31400.2088model_form_blend
predicted_RBI0.15000.69400.3726model_form_blend
predicted_SLG0.31000.27200.2945model_form_blend
predicted_SO0.66101.54201.0215model_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 date61
Season rows before report date61
Report year2026
Profile rows used59
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.21

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB1
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder9
Hitting_substitutionOrder1
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedPH-LF-RF
gameID20260520_PIT@STL
game_typeph
mlbID665877
notePopped out for Scott II in the 7th.
playerID665877
playerNameJosé Fermín
posLF
startedFalse
startingPositionPH
teamSTL
teamID26
game_date2026-05-20
sl_k_percent20.3
sl_bb_percent11.9
sl_woba0.296
sl_xwoba0.253
sl_xba0.183
sl_xslg0.257
sl_sweet_spot_percent17.9
sl_barrel_batted_rate0.0
sl_hard_hit_percent33.3
sl_exit_velocity_avg86.4
sl_launch_angle_avg27.7
sl_whiff_percent14.6
sl_swing_percent36.2
Victor Scott II (687363) · BATTER · CF · Team STL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 138
All-history rows before 20260521: 138
System season_avg: 0.1940
Data season_avg (2026 season-to-date): 0.1944
Diff (system - data): -0.0004
System opponent_avg: 0.1020

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0600.0000.000Hitting_2B0.0581.000-0.058-1.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.9554.0005.000Hitting_AB2.8702.0001.1302.000
predicted_AVG0.2500.2500.200Hitting_AVG0.1940.5000.056-0.250
predicted_BB0.2240.0000.000Hitting_BB0.2170.000-0.2170.000
predicted_CS-0.0000.000BaseRunning_CS0.1010.000-0.1010.000
predicted_H0.5601.0001.000Hitting_H0.5581.0000.4420.000
predicted_HR0.0600.0000.000Hitting_HR0.0650.000-0.0650.000
predicted_OBP0.2680.2500.200Hitting_OBP0.2560.500-0.006-0.250
predicted_R0.4030.0001.000Hitting_R0.3990.000-0.3990.000
predicted_RBI0.2500.0000.000Hitting_RBI0.1960.000-0.1960.000
predicted_SLG0.3330.2500.200Hitting_SLG0.2831.000-0.033-0.750
predicted_SO0.8961.0001.000Hitting_SO0.8700.0000.1301.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.9550 -> 4.0000 (boost 1.0450, better)
Biggest Deboostpredicted_R: 0.4030 -> 0.0000 (deboost -0.4030, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend107364predicted_AB: 2.9550 -> 5.3738 (boost 2.4188, better)predicted_AVG: 0.2500 -> 0.2251 (deboost -0.0249, worse)Final model 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.2251 -> 0.1930 (deboost -0.0321, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling70716-predicted_SO: 1.5408 -> 1.0000 (deboost -0.5408, better)AB rounded to 5 (raw=5.37), rates preserved: AVG=0.193 HR/AB=0.019
5consistency_constraints11010predicted_R: 0.8015 -> 1.0000 (boost 0.1985, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context31212predicted_AVG: 0.1930 -> 0.2000 (boost 0.0070, better)predicted_SLG: 0.2779 -> 0.2000 (deboost -0.0779, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference20202-predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final32121predicted_SLG: 0.2000 -> 0.2779 (boost 0.0779, better)predicted_AVG: 0.2000 -> 0.1930 (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": "687363",
  "player_name": "Victor Scott II",
  "position": "CF",
  "team": "STL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.06,
        "predicted_3B": 0.0,
        "predicted_AB": 2.955,
        "predicted_AVG": 0.25,
        "predicted_BB": 0.224,
        "predicted_H": 0.56,
        "predicted_HR": 0.06,
        "predicted_OBP": 0.268,
        "predicted_R": 0.403,
        "predicted_RBI": 0.25,
        "predicted_SLG": 0.333,
        "predicted_SO": 0.896
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1406,
        "predicted_3B": 0.0009,
        "predicted_AB": 5.3738,
        "predicted_AVG": 0.2251,
        "predicted_BB": 0.3529,
        "predicted_H": 1.029,
        "predicted_HBP": 0.069,
        "predicted_HR": 0.104,
        "predicted_OBP": 0.2567,
        "predicted_R": 0.7897,
        "predicted_RBI": 0.4,
        "predicted_SLG": 0.3095,
        "predicted_SO": 1.5465
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.06,
          "after": 0.1406,
          "delta": 0.0806,
          "percent_delta": 1.3433,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.955,
          "after": 5.3738,
          "delta": 2.4188,
          "percent_delta": 0.8185,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2251,
          "delta": -0.0249,
          "percent_delta": -0.0996,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.224,
          "after": 0.3529,
          "delta": 0.1289,
          "percent_delta": 0.5754,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.56,
          "after": 1.029,
          "delta": 0.469,
          "percent_delta": 0.8375,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.06,
          "after": 0.104,
          "delta": 0.044,
          "percent_delta": 0.7333,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.268,
          "after": 0.2567,
          "delta": -0.0113,
          "percent_delta": -0.0422,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.403,
          "after": 0.7897,
          "delta": 0.3867,
          "percent_delta": 0.9596,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.25,
          "after": 0.4,
          "delta": 0.15,
          "percent_delta": 0.6,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.333,
          "after": 0.3095,
          "delta": -0.0235,
          "percent_delta": -0.0706,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.896,
          "after": 1.5465,
          "delta": 0.6505,
          "percent_delta": 0.726,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 10,
        "boosted_metrics": 7,
        "deboosted_metrics": 3,
        "better_metrics": 6,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.955,
          "after": 5.3738,
          "delta": 2.4188,
          "percent_delta": 0.8185,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2251,
          "delta": -0.0249,
          "percent_delta": -0.0996,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 2,
        "last_10": 4,
        "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.1406,
        "predicted_3B": 0.0009,
        "predicted_AB": 5.3738,
        "predicted_AVG": 0.193,
        "predicted_BB": 0.3542,
        "predicted_H": 1.037,
        "predicted_HBP": 0.069,
        "predicted_HR": 0.1046,
        "predicted_OBP": 0.2429,
        "predicted_R": 0.8015,
        "predicted_RBI": 0.406,
        "predicted_SLG": 0.2779,
        "predicted_SO": 1.5408
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1406,
          "after": 0.1406,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.3738,
          "after": 5.3738,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2251,
          "after": 0.193,
          "delta": -0.0321,
          "percent_delta": -0.1426,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3529,
          "after": 0.3542,
          "delta": 0.0013,
          "percent_delta": 0.0037,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.029,
          "after": 1.037,
          "delta": 0.008,
          "percent_delta": 0.0078,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.069,
          "after": 0.069,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.104,
          "after": 0.1046,
          "delta": 0.0006,
          "percent_delta": 0.0058,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2567,
          "after": 0.2429,
          "delta": -0.0138,
          "percent_delta": -0.0538,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.7897,
          "after": 0.8015,
          "delta": 0.0118,
          "percent_delta": 0.0149,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4,
          "after": 0.406,
          "delta": 0.006,
          "percent_delta": 0.015,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3095,
          "after": 0.2779,
          "delta": -0.0316,
          "percent_delta": -0.1021,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.5465,
          "after": 1.5408,
          "delta": -0.0057,
          "percent_delta": -0.0037,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.2251,
          "after": 0.193,
          "delta": -0.0321,
          "percent_delta": -0.1426,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 5 (raw=5.37), rates preserved: AVG=0.193 HR/AB=0.019",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1406,
          "after": 0.0,
          "delta": -0.1406,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.3738,
          "after": 5.0,
          "delta": -0.3738,
          "percent_delta": -0.0696,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3542,
          "after": 0.0,
          "delta": -0.3542,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.037,
          "after": 1.0,
          "delta": -0.037,
          "percent_delta": -0.0357,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.069,
          "after": 0.0,
          "delta": -0.069,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1046,
          "after": 0.0,
          "delta": -0.1046,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.406,
          "after": 0.0,
          "delta": -0.406,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.5408,
          "after": 1.0,
          "delta": -0.5408,
          "percent_delta": -0.351,
          "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_SO",
          "before": 1.5408,
          "after": 1.0,
          "delta": -0.5408,
          "percent_delta": -0.351,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.8015,
          "after": 1.0,
          "delta": 0.1985,
          "percent_delta": 0.2477,
          "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.8015,
          "after": 1.0,
          "delta": 0.1985,
          "percent_delta": 0.2477,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.2,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.2,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.193,
          "after": 0.2,
          "delta": 0.007,
          "percent_delta": 0.0363,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2429,
          "after": 0.2,
          "delta": -0.0429,
          "percent_delta": -0.1766,
          "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.2779,
          "after": 0.2,
          "delta": -0.0779,
          "percent_delta": -0.2803,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.193,
          "after": 0.2,
          "delta": 0.007,
          "percent_delta": 0.0363,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.2779,
          "after": 0.2,
          "delta": -0.0779,
          "percent_delta": -0.2803,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 4.0,
          "delta": -1.0,
          "percent_delta": -0.2,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 4.0,
          "delta": -1.0,
          "percent_delta": -0.2,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.193,
        "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.2429,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2779,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2,
          "after": 0.193,
          "delta": -0.007,
          "percent_delta": -0.0351,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2,
          "after": 0.2429,
          "delta": 0.0429,
          "percent_delta": 0.2144,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2,
          "after": 0.2779,
          "delta": 0.0779,
          "percent_delta": 0.3895,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.2,
          "after": 0.2779,
          "delta": 0.0779,
          "percent_delta": 0.3895,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.2,
          "after": 0.193,
          "delta": -0.007,
          "percent_delta": -0.0351,
          "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.06,
        "after": 0.0,
        "delta": -0.06,
        "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.955,
        "after": 4.0,
        "delta": 1.045,
        "percent_delta": 0.3536,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.25,
        "after": 0.193,
        "delta": -0.057,
        "percent_delta": -0.228,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "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.56,
        "after": 1.0,
        "delta": 0.44,
        "percent_delta": 0.7857,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.06,
        "after": 0.0,
        "delta": -0.06,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.268,
        "after": 0.2429,
        "delta": -0.0251,
        "percent_delta": -0.0937,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.403,
        "after": 0.0,
        "delta": -0.403,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.25,
        "after": 0.0,
        "delta": -0.25,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.333,
        "after": 0.2779,
        "delta": -0.0551,
        "percent_delta": -0.1655,
        "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": 11,
      "boosted_metrics": 3,
      "deboosted_metrics": 8,
      "better_metrics": 2,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 2.955,
        "after": 4.0,
        "delta": 1.045,
        "percent_delta": 0.3536,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.403,
        "after": 0.0,
        "delta": -0.403,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "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.060-
predicted_3B0.000-
predicted_AB2.955-
predicted_AVG0.250-
predicted_BB0.224-
predicted_H0.560-
predicted_HR0.060-
predicted_OBP0.268-
predicted_R0.403-
predicted_RBI0.250-
predicted_SLG0.333-
predicted_SO0.896-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1410.081
predicted_3B0.0010.001
predicted_AB5.3742.419
predicted_AVG0.225-0.025
predicted_BB0.3530.129
predicted_H1.0290.469
predicted_HBP0.069-
predicted_HR0.1040.044
predicted_OBP0.257-0.011
predicted_R0.7900.387
predicted_RBI0.4000.150
predicted_SLG0.309-0.024
predicted_SO1.5460.650
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.0010.000
predicted_AB5.3740.000
predicted_AVG0.193-0.032
predicted_BB0.3540.001
predicted_H1.0370.008
predicted_HBP0.0690.000
predicted_HR0.1050.001
predicted_OBP0.243-0.014
predicted_R0.8010.012
predicted_RBI0.4060.006
predicted_SLG0.278-0.032
predicted_SO1.541-0.006
4. ab_floor_and_scaling

AB rounded to 5 (raw=5.37), rates preserved: AVG=0.193 HR/AB=0.019

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.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
6. 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.001
predicted_AB5.000-0.374
predicted_AVG0.2000.007
predicted_BB0.000-0.354
predicted_H1.000-0.037
predicted_HR0.000-0.105
predicted_OBP0.200-0.043
predicted_R1.0000.199
predicted_RBI0.000-0.406
predicted_SLG0.200-0.078
predicted_SO1.000-0.541
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.000-1.000
BB0.0000.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-1.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
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.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-14.0001.0001.0000.0000.0000.0004.0000.0004.0000.07140.07140.14290.07140.00000.00000.00000.2857
last_100.204-27.0007.0001.0000.0000.0003.0004.0000.0004.0000.25930.25930.29630.25930.00000.11110.00000.1482
season0.6042-396.00077.0008.0000.0009.00027.00054.00030.000120.0000.19440.25580.28280.19440.02270.06820.07580.3030
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2470
predicted_3B0.0020
predicted_AB8.5660
predicted_AVG0.1923
predicted_BB0.5230
predicted_H1.6480
predicted_HBP0.0690
predicted_HR0.1620
predicted_OBP0.2418
predicted_R1.3000
predicted_RBI0.5980
predicted_SLG0.2784
predicted_SO2.4050
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.06000.24700.1406model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB2.95508.56605.3738model_form_blend
predicted_AVG0.25000.19230.2251model_form_blend
predicted_BB0.22400.52300.3529model_form_blend
predicted_H0.56001.64801.0290model_form_blend
predicted_HBP-0.06900.0690form_only
predicted_HR0.06000.16200.1040model_form_blend
predicted_OBP0.26800.24180.2567model_form_blend
predicted_R0.40301.30000.7897model_form_blend
predicted_RBI0.25000.59800.4000model_form_blend
predicted_SLG0.33300.27840.3095model_form_blend
predicted_SO0.89602.40501.5465model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date138
Season rows before report date138
Report year2026
Profile rows used134
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB2
Hitting_AVG0.5
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB2
Hitting_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
allPositionsPlayedCF
gameID20260520_PIT@STL
game_typefull
mlbID687363
playerID687363
playerNameVictor Scott II
posCF
startedTrue
startingPositionCF
teamSTL
teamID26
game_date2026-05-20
sl_k_percent26.3
sl_bb_percent6.0
sl_woba0.229
sl_xwoba0.249
sl_xba0.209
sl_xslg0.282
sl_sweet_spot_percent28.1
sl_barrel_batted_rate1.1
sl_hard_hit_percent27.0
sl_exit_velocity_avg87.2
sl_launch_angle_avg5.1
sl_whiff_percent29.8
sl_swing_percent47.5
Dustin May (669160) · PITCHER · Starter · Team STL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 9
All-history rows before 20260521: 9

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB2.0002.0002.000Pitching_BB1.6674.0000.333-2.000
predicted_ER2.0002.0002.000Pitching_ER2.8893.000-0.889-1.000
predicted_H5.0005.0005.000Pitching_H6.0004.000-1.0001.000
predicted_IP5.1005.1005.100Pitching_InningsPitched5.3566.000-0.256-0.900
predicted_SO7.0007.0007.000Pitching_SO3.8893.0003.1114.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectworse
Changed Metrics1
Boosted Metrics0
Deboosted Metrics1
Better Metrics0
Worse Metrics1
Biggest Boost-
Biggest Deboostpredicted_IP: 5.6667 -> 5.1000 (deboost -0.5667, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2starter_usage_guardrail10101-predicted_IP: 5.6667 -> 5.1000 (deboost -0.5667, worse)Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
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": "669160",
  "player_name": "Dustin May",
  "position": "Starter",
  "team": "STL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 2.0,
        "predicted_ER": 2.0,
        "predicted_H": 5.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.6667,
        "predicted_SO": 7.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "starter_usage_guardrail",
      "description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
      "stats": {
        "predicted_BB": 2.0,
        "predicted_ER": 2.0,
        "predicted_H": 5.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.1,
        "predicted_SO": 7.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 5.6667,
          "after": 5.1,
          "delta": -0.5667,
          "percent_delta": -0.1,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 7.0,
          "after": 7.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 5.6667,
          "after": 5.1,
          "delta": -0.5667,
          "percent_delta": -0.1,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 3,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 2.0,
        "predicted_ER": 2.0,
        "predicted_H": 5.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.1,
        "predicted_R": 2.0,
        "predicted_SO": 7.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 5.1,
          "after": 5.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": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 5.0,
        "after": 5.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 5.6667,
        "after": 5.1,
        "delta": -0.5667,
        "percent_delta": -0.1,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 7.0,
        "after": 7.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 0,
      "deboosted_metrics": 1,
      "better_metrics": 0,
      "worse_metrics": 1,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 5.6667,
        "after": 5.1,
        "delta": -0.5667,
        "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_BB2.000-
predicted_ER2.000-
predicted_H5.000-
predicted_HR0.000-
predicted_IP5.667-
predicted_SO7.000-
2. starter_usage_guardrail

Starter workload capped by recent innings, season ERA/WHIP, and team-form context.

MetricValueDelta vs Prev Step
predicted_BB2.0000.000
predicted_ER2.0000.000
predicted_H5.0000.000
predicted_HR0.0000.000
predicted_IP5.100-0.567
predicted_SO7.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 9
Reference playing time: 5.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45529.10011.00027.00011.00020.0002.0003.37501.29550.37500.92040.37500.68180.0682
last_100.35948.20026.00054.00015.00035.0004.0004.80821.41780.53431.10960.30820.71920.0822
season0.20948.20026.00054.00015.00035.0004.0004.80821.41780.53431.10960.30820.71920.0822
Weighted Prediction From Real Data
MetricValue
predicted_BB2.0520
predicted_ER2.5640
predicted_ERA4.0369
predicted_H5.5710
predicted_HR0.5360
predicted_IP5.2000
predicted_SO4.5000
predicted_WHIP1.3335
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB2.00002.05202.0260model_form_blend
predicted_ER2.00002.56402.2815model_form_blend
predicted_ERA-4.03694.0369form_only
predicted_H5.00005.57105.2850model_form_blend
predicted_HR0.00000.53600.2675model_form_blend
predicted_IP5.20005.20005.2000model_form_blend
predicted_SO7.00004.50005.7522model_form_blend
predicted_WHIP-1.33351.3335form_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 used9
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP5.1
H5
R2
ER2
BB2
SO7
HR0
BF24
Pitches102

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_BB4
Pitching_Balk0
Pitching_Batters Faced26
Pitching_ER3
Pitching_ERA4.81
Pitching_Flyouts5
Pitching_Groundouts5
Pitching_H4
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched6.0
Pitching_Pitches91
Pitching_R3
Pitching_SO3
Pitching_Strikes54
Pitching_Wild Pitch0
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260515_KC@STL
game_typefull
mlbID669160
playerID669160
playerNameDustin May
posP
startedTrue
startingPositionP
teamSTL
teamID26
game_date2026-05-15
game_pk823061.0
sl_k_percent17.1
sl_bb_percent7.3
sl_woba0.346
sl_xwoba0.332
sl_sweet_spot_percent35.5
sl_barrel_batted_rate6.6
sl_hard_hit_percent52.0
sl_whiff_percent17.9
sl_swing_percent46.6
sv_pitch_count91.0
sv_outs_recorded_est18.0
sv_release_speed93.94505494505496
sv_release_spin_rate2516.934065934066
sv_effective_speed94.67472527472528
sv_launch_speed87.73870967741935
sv_launch_angle14.129032258064516
sv_woba_value6.75
sv_woba_denom26.0
sv_delta_run_exp-1.223
sv_delta_home_win_exp-0.052
sl_avg_best_speed79.826841333
sl_avg_hyper_speed95.394426333
George Soriano (666277) · PITCHER · Middle Reliever · Team STL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 22
All-history rows before 20260521: 22

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.4550.000-0.4550.000
predicted_ER1.0001.0001.000Pitching_ER0.3640.0000.6361.000
predicted_H2.0002.0002.000Pitching_H0.6820.0001.3182.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.7911.0000.2090.000
predicted_SO1.0001.0001.000Pitching_SO0.7731.0000.2270.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": "666277",
  "player_name": "George Soriano",
  "position": "Middle Reliever",
  "team": "STL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 1.0,
        "predicted_IP": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 1.0,
        "predicted_H": 2.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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 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_H2.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: 22
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.0005.0001.0003.0002.0004.15381.38460.46151.15390.23080.69230.4615
last_100.35109.1002.0009.0004.0008.0002.0001.92861.39290.21430.96430.42860.85710.2143
season0.202220.2008.00015.00010.00017.0003.0003.48391.20970.38710.72580.48390.82260.1452
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3650
predicted_ER0.4210
predicted_ERA3.7896
predicted_H0.9690
predicted_HR0.2120
predicted_IP1.0000
predicted_SO0.8720
predicted_WHIP1.3332
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.36500.1525model_form_blend
predicted_ER1.00000.42100.7581model_form_blend
predicted_ERA-3.78963.7896form_only
predicted_H2.00000.96901.5693model_form_blend
predicted_HR1.00000.21200.6708model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00000.87200.9465model_form_blend
predicted_WHIP-1.33321.3332form_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
IP1.0
H2
R1
ER1
BB0
SO1
HR1
BF5
Pitches24

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced3
Pitching_ER0
Pitching_ERA3.48
Pitching_Flyouts1
Pitching_Groundouts1
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches12
Pitching_R0
Pitching_SO1
Pitching_Strikes9
Pitching_Wild Pitch0
Pitching_decisionW
Pitching_pitchingOrder6
allPositionsPlayedP
gameID20260519_PIT@STL
game_typefull
mlbID666277
playerID666277
playerNameGeorge Soriano
posP
startedFalse
startingPositionP
teamSTL
teamID26
game_date2026-05-19
game_pk823059.0
sl_k_percent19.5
sl_bb_percent11.5
sl_woba0.294
sl_xwoba0.369
sl_sweet_spot_percent25.4
sl_barrel_batted_rate11.9
sl_hard_hit_percent39.0
sl_whiff_percent30.1
sl_swing_percent47.7
sv_pitch_count12.0
sv_outs_recorded_est3.0
sv_release_speed91.34166666666664
sv_release_spin_rate1879.5
sv_effective_speed91.50833333333333
sv_launch_speed80.825
sv_launch_angle43.25
sv_woba_value0.0
sv_woba_denom3.0
sv_delta_run_exp-0.888
sv_delta_home_win_exp0.815
sl_avg_best_speed79.220661333
sl_avg_hyper_speed95.091202881
JoJo Romero (668941) · PITCHER · Middle Reliever · Team STL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 23
All-history rows before 20260521: 23

Metric-by-Metric Comparison

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

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 23
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.2001.0004.0002.0007.0000.0001.58821.05880.17650.70590.35291.23530.0000
last_100.351010.0002.0007.0005.00013.0001.0001.80001.20000.20000.70000.50001.30000.1000
season0.202323.2008.00019.0009.00021.0003.0003.04231.18310.33800.80280.38030.88730.1268
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3920
predicted_ER0.3480
predicted_ERA3.1328
predicted_H0.8360
predicted_HR0.0960
predicted_IP1.0000
predicted_SO1.0660
predicted_WHIP1.2282
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.39200.1693model_form_blend
predicted_ER0.00000.34800.1503model_form_blend
predicted_ERA-3.13283.1328form_only
predicted_H1.00000.83600.9292model_form_blend
predicted_HR0.00000.09600.0415model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00001.06601.0285model_form_blend
predicted_WHIP-1.22821.2282form_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 date23
Season rows before report date23
Report year2026
Profile rows used23
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
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 Faced5
Pitching_ER0
Pitching_ERA3.04
Pitching_Flyouts1
Pitching_Groundouts1
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners1
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.1
Pitching_Pitches29
Pitching_R0
Pitching_SO2
Pitching_Strikes17
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260519_PIT@STL
game_typefull
mlbID668941
playerID668941
playerNameJoJo Romero
posP
startedFalse
startingPositionP
teamSTL
teamID26
game_date2026-05-19
game_pk823059.0
sl_k_percent21.6
sl_bb_percent9.3
sl_woba0.297
sl_xwoba0.34
sl_sweet_spot_percent36.4
sl_barrel_batted_rate7.6
sl_hard_hit_percent43.9
sl_whiff_percent24.2
sl_swing_percent39.0
sv_pitch_count29.0
sv_outs_recorded_est4.0
sv_release_speed87.0758620689655
sv_release_spin_rate2457.5172413793102
sv_effective_speed85.40344827586206
sv_launch_speed76.0
sv_launch_angle19.428571428571427
sv_woba_value0.9
sv_woba_denom5.0
sv_delta_run_exp-0.685
sv_delta_home_win_exp0.1679999999999999
sl_avg_best_speed81.033838485
sl_avg_hyper_speed95.449748462
Riley O'Brien (676617) · PITCHER · Middle Reliever · Team STL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 23
All-history rows before 20260521: 23

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.1301.0000.8700.000
predicted_ER0.0000.0000.000Pitching_ER0.3482.000-0.348-2.000
predicted_H0.0000.0000.000Pitching_H0.8702.000-0.870-2.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.9391.0000.0610.000
predicted_SO2.0002.0002.000Pitching_SO1.0870.0000.9132.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": "676617",
  "player_name": "Riley O'Brien",
  "position": "Middle Reliever",
  "team": "STL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 0,
      "boosted_metrics": 0,
      "deboosted_metrics": 0,
      "better_metrics": 0,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": null,
      "has_material_change": false,
      "dominant_effect": "neutral"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 23
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.0002.0005.0001.0007.20001.40000.80001.00000.40001.00000.2000
last_100.35109.2008.00014.0003.00010.0001.0007.44831.75860.82761.44830.31031.03450.1035
season0.202323.0008.00020.0003.00025.0001.0003.13041.00000.34780.86960.13041.08700.0435
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3470
predicted_ER0.5890
predicted_ERA5.3041
predicted_H1.0320
predicted_HR0.1330
predicted_IP1.0000
predicted_SO0.9890
predicted_WHIP1.3785
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.34700.7199model_form_blend
predicted_ER0.00000.58900.2527model_form_blend
predicted_ERA-5.30415.3041form_only
predicted_H0.00001.03200.4427model_form_blend
predicted_HR0.00000.13300.0571model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO2.00000.98901.5663model_form_blend
predicted_WHIP-1.37851.3785form_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 date23
Season rows before report date23
Report year2026
Profile rows used23
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
BB1
SO2
HR0
BF5
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_BB1
Pitching_Balk0
Pitching_Batters Faced7
Pitching_ER2
Pitching_ERA3.13
Pitching_Flyouts1
Pitching_Groundouts1
Pitching_H2
Pitching_HBP2
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches22
Pitching_R2
Pitching_SO0
Pitching_Strikes13
Pitching_Wild Pitch0
Pitching_decisionBS
Pitching_pitchingOrder5
allPositionsPlayedP
gameID20260519_PIT@STL
game_typefull
mlbID676617
playerID676617
playerNameRiley O'Brien
posP
startedFalse
startingPositionP
teamSTL
teamID26
game_date2026-05-19
game_pk823059.0
sl_k_percent27.2
sl_bb_percent3.3
sl_woba0.276
sl_xwoba0.282
sl_sweet_spot_percent27.1
sl_barrel_batted_rate3.4
sl_hard_hit_percent40.7
sl_whiff_percent28.0
sl_swing_percent48.7
sv_pitch_count22.0
sv_outs_recorded_est3.0
sv_release_speed91.66363636363636
sv_release_spin_rate2238.2727272727275
sv_effective_speed92.26818181818182
sv_launch_speed83.21428571428571
sv_launch_angle4.428571428571429
sv_woba_value3.9
sv_woba_denom7.0
sv_delta_run_exp1.509
sv_delta_home_win_exp-0.285
sl_avg_best_speed74.689407586
sl_avg_hyper_speed94.263234655
Ryne Stanek (592773) · PITCHER · Middle Reliever · Team STL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 23
All-history rows before 20260521: 23

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.7391.000-0.739-1.000
predicted_ER1.0001.0001.000Pitching_ER0.6090.0000.3911.000
predicted_H1.0001.0001.000Pitching_H0.9131.0000.0870.000
predicted_IP0.2000.2000.200Pitching_InningsPitched0.7170.200-0.5170.000
predicted_SO2.0002.0002.000Pitching_SO1.1740.0000.8262.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.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: 0.3333 -> 0.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": "592773",
  "player_name": "Ryne Stanek",
  "position": "Middle Reliever",
  "team": "STL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.3333,
        "predicted_SO": 2.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.2,
        "predicted_R": 1.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 0.3333,
          "after": 0.2,
          "delta": -0.1333,
          "percent_delta": -0.4,
          "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": 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": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 0,
      "deboosted_metrics": 1,
      "better_metrics": 0,
      "worse_metrics": 1,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 0.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_ER1.000-
predicted_H1.000-
predicted_HR0.000-
predicted_IP0.333-
predicted_SO2.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 23
Reference playing time: 0.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4554.0002.0003.0004.0006.0001.0004.50001.75000.50000.75001.00001.50000.2500
last_100.35108.1004.0006.0007.00010.0001.0004.32001.56000.48000.72000.84001.20000.1200
season0.202320.00014.00021.00017.00027.0002.0006.30001.90000.70001.05000.85001.35000.1000
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3130
predicted_ER0.2540
predicted_ERA4.4856
predicted_H0.4480
predicted_HR0.0760
predicted_IP0.2000
predicted_SO0.5790
predicted_WHIP1.4925
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.31300.1297model_form_blend
predicted_ER1.00000.25400.6909model_form_blend
predicted_ERA-4.48564.4856form_only
predicted_H1.00000.44800.7713model_form_blend
predicted_HR0.00000.07600.0315model_form_blend
predicted_IP0.10000.20000.1000model_form_blend
predicted_SO2.00000.57901.4113model_form_blend
predicted_WHIP-1.49251.4925form_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 date23
Season rows before report date23
Report year2026
Profile rows used23
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
SO2
HR0
BF4
Pitches15

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced3
Pitching_ER0
Pitching_ERA6.30
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.2
Pitching_Pitches9
Pitching_R0
Pitching_SO0
Pitching_Strikes4
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20260519_PIT@STL
game_typefull
mlbID592773
playerID592773
playerNameRyne Stanek
posP
startedFalse
startingPositionP
teamSTL
teamID26
game_date2026-05-19
game_pk823059.0
sl_k_percent27.8
sl_bb_percent17.5
sl_woba0.359
sl_xwoba0.329
sl_sweet_spot_percent34.6
sl_barrel_batted_rate7.7
sl_hard_hit_percent42.3
sl_whiff_percent36.0
sl_swing_percent46.9
sv_pitch_count9.0
sv_outs_recorded_est2.0
sv_release_speed94.43333333333334
sv_release_spin_rate2140.8888888888887
sv_effective_speed93.7
sv_launch_speed87.1
sv_launch_angle-36.0
sv_woba_value1.6
sv_woba_denom3.0
sv_delta_run_exp0.429
sv_delta_home_win_exp0.051
sl_avg_best_speed80.395710769
sl_avg_hyper_speed96.0816425

20260521_TOR@NYY

Prediction Method: enhanced_ml_savant_pitcher_quality
Team Recent Window (Home): 49 games
Team Recent Window (Away): 49 games
Team Recent Period: Latest 10 games from dataset
Enhanced Prediction Target: {"away_runs": 2, "home_runs": 4, "confidence": 0.582186, "home_win_probability": 0.582186, "away_win_probability": 0.417814, "predicted_score_text": "TOR 2 - 4 NYY", "embedded_savant_score_adjustment": {"applied": true, "source": "all_players_stats.csv embedded temporal Savant features", "feature_contract": {"training_grain": "one player-game row after collapsing granular at-bat rows", "temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game", "hitter_signals": ["xwoba", "xba", "xslg", "barrel_batted_rate", "hard_hit_percent", "bat_speed", "launch_quality", "walk_rate", "strikeout_rate"], "pitcher_signals": ["xwoba_allowed", "barrel_allowed", "hard_hit_allowed", "whiff_rate", "command_score", "movement_score", "faced_est_woba", "faced_strikeout_rate"]}, "away": {"team": "TOR", "original_runs": 2, "run_delta": 0.0325, "adjusted_runs": 2, "lineup": {"players_used": 9, "total_weight": 62.0, "quality": 0.07178995849581249, "contact": -0.003554784116782536, "power": -0.007364692910389985, "discipline": 0.12057217854383198, "xwoba": 0.31312903225806454, "recent_xwoba": 0.31312903225806454, "barrel": 8.080645161290324, "ab_hard_contact": -0.18447050951348873, "ab_bat_speed": 70.54933710642989, "ab_strikeout_rate": 0.1964888813640021, "available_players": 9, "top_players": [{"player_id": "672960", "player_name": "Kazuma Okamoto", "position": "3B", "weight": 9.0, "quality": 0.6899335756249968, "contact": 0.581981466928652, "power": 1.3747132471631707, "discipline": -0.2096262939958591, "xwoba": 0.349, "recent_xwoba": 0.349, "barrel": 14.8, "ab_hard_contact": 0.5481697051681799, "ab_bat_speed": 71.71939009661835, "ab_strikeout_rate": 0.29384057971014493, "available": 1.0}, {"player_id": "665489", "player_name": "Vladimir Guerrero Jr.", "position": "1B", "weight": 8.0, "quality": 0.6700153788788393, "contact": 1.0707233716689912, "power": 0.3427575371224831, "discipline": 0.8207083333333335, "xwoba": 0.357, "recent_xwoba": 0.357, "barrel": 7.8, "ab_hard_contact": 0.809817409116305, "ab_bat_speed": 75.27462838955027, "ab_strikeout_rate": 0.11979166666666667, "available": 1.0}, {"player_id": "676391", "player_name": "Ernie Clement", "position": "SS", "weight": 8.0, "quality": -0.3517224672641024, "contact": -0.14169577523028304, "power": -0.8617793178939236, "discipline": 0.1932152988855116, "xwoba": 0.292, "recent_xwoba": 0.292, "barrel": 1.8, "ab_hard_contact": -0.30720540549752684, "ab_bat_speed": 65.58792572463769, "ab_strikeout_rate": 0.08014184397163121, "available": 1.0}, {"player_id": "676914", "player_name": "Davis Schneider", "position": "LF", "weight": 4.0, "quality": -0.21741970865793298, "contact": -1.117977602466497, "power": -0.5851765858107192, "discipline": 0.5406190476190476, "xwoba": 0.291, "recent_xwoba": 0.291, "barrel": 10.5, "ab_hard_contact": -0.5397221924048602, "ab_bat_speed": 68.76237103174603, "ab_strikeout_rate": 0.3773809523809524, "available": 1.0}, {"player_id": "543807", "player_name": "George Springer", "position": "DH", "weight": 9.0, "quality": -0.2681765720451107, "contact": -0.7599484765553727, "power": -0.39222659369239976, "discipline": 0.11012807881773398, "xwoba": 0.285, "recent_xwoba": 0.285, "barrel": 8.0, "ab_hard_contact": -1.1851033024194306, "ab_bat_speed": 71.45123563218391, "ab_strikeout_rate": 0.17758620689655175, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "607074", "player_name": "Carlos Rodón", "quality": -0.01394151939160588, "contact": -0.26079948750426535, "command": -0.20260317460317454, "movement": 0.46242937379964333, "xwoba": 0.323, "whiff": 27.6, "faced_est_woba": 0.33506065, "faced_launch_speed": 84.03928571428571, "faced_strikeout_rate": 0.19047619047619047, "faced_run_exp": -0.0066242063492063545}}, "home": {"team": "NYY", "original_runs": 4, "run_delta": 0.4937, "adjusted_runs": 4, "lineup": {"players_used": 9, "total_weight": 61.0, "quality": 0.4406967325770029, "contact": 0.5259950555289594, "power": 0.6189933173413324, "discipline": 0.27822059178227143, "xwoba": 0.3562786885245901, "recent_xwoba": 0.3562786885245902, "barrel": 11.557377049180328, "ab_hard_contact": 0.4456831019374657, "ab_bat_speed": 70.89827503316984, "ab_strikeout_rate": 0.25547886176964113, "available_players": 9, "top_players": [{"player_id": "592450", "player_name": "Aaron Judge", "position": "RF", "weight": 8.0, "quality": 1.4376407294159872, "contact": 1.4394781690349612, "power": 2.0, "discipline": 0.517826530612245, "xwoba": 0.431, "recent_xwoba": 0.43099999999999994, "barrel": 23.5, "ab_hard_contact": 1.4580912294043402, "ab_bat_speed": 74.04279964366698, "ab_strikeout_rate": 0.2836734693877551, "available": 1.0}, {"player_id": "700250", "player_name": "Ben Rice", "position": "DH", "weight": 9.0, "quality": 1.1879357629993144, "contact": 1.5574087316380751, "power": 2.0, "discipline": 0.4103477297895901, "xwoba": 0.417, "recent_xwoba": 0.417, "barrel": 19.6, "ab_hard_contact": 0.9229761570073565, "ab_bat_speed": 70.68167248062015, "ab_strikeout_rate": 0.25193798449612403, "available": 1.0}, {"player_id": "502671", "player_name": "Paul Goldschmidt", "position": "1B", "weight": 7.0, "quality": 0.6050240494406162, "contact": 1.8342580259348638, "power": 2.0, "discipline": 0.5350952380952381, "xwoba": 0.448, "recent_xwoba": 0.44800000000000006, "barrel": 20.8, "ab_hard_contact": 0.8129894087254915, "ab_bat_speed": 69.59193813131313, "ab_strikeout_rate": 0.20833333333333331, "available": 1.0}, {"player_id": "641355", "player_name": "Cody Bellinger", "position": "LF", "weight": 8.0, "quality": 0.8454455635128627, "contact": 1.1873535814904204, "power": 0.5248685626887858, "discipline": 1.410980158730159, "xwoba": 0.38400000000000006, "recent_xwoba": 0.384, "barrel": 8.1, "ab_hard_contact": 0.8006093490137915, "ab_bat_speed": 69.25636140046296, "ab_strikeout_rate": 0.12430555555555556, "available": 1.0}, {"player_id": "665862", "player_name": "Jazz Chisholm Jr.", "position": "2B", "weight": 8.0, "quality": -0.5895982291072001, "contact": -0.8979386947992617, "power": -0.53079776966776, "discipline": -0.3127817460317457, "xwoba": 0.278, "recent_xwoba": 0.278, "barrel": 6.0, "ab_hard_contact": -0.449860155259989, "ab_bat_speed": 70.91661086309524, "ab_strikeout_rate": 0.2951388888888889, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "680755", "player_name": "Braydon Fisher", "quality": -0.12259327881244095, "contact": -0.5032350442951882, "command": 0.08879598662207351, "movement": -0.296940370286252, "xwoba": 0.329, "whiff": 25.9, "faced_est_woba": 0.31537769192546583, "faced_launch_speed": 85.0586231884058, "faced_strikeout_rate": 0.21045548654244306, "faced_run_exp": -0.007926388888888889}}}, "confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Production confidence governor cap enforced.", "pre_simulation_target": {"away_runs": 2, "home_runs": 4, "predicted_score_text": "TOR 2 - 4 NYY", "confidence": 0.582186, "source": "enhanced_prediction_before_inning_simulation"}, "score_source": "enhanced_prediction.pre_simulation_target", "final_prediction_synced": true, "final_prediction_source": "pre_simulation_target", "simulation_usage": "advisory_box_score_draw", "simulation_score_matches_prediction": true, "simulation_reconciliation": {"pre_simulation_score": {"away_runs": 2, "home_runs": 4, "score_text": "TOR 2 - 4 NYY", "winner": "NYY"}, "final_simulation_score": {"away_runs": 2, "home_runs": 4, "score_text": "TOR 2 - 4 NYY", "winner": "NYY"}, "winner_flipped_by_simulation": false, "away_run_delta": 0, "home_run_delta": 0, "total_run_delta": 0, "score_source": "enhanced_prediction.pre_simulation_target", "simulation_usage": "advisory_box_score_draw", "final_prediction_source": "pre_simulation_target"}}
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, 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 predictionTOR 2 - 4 NYYNYY0.582enhanced_prediction.pre_simulation_targetTrue
Simulation drawTOR 2 - 4 NYYNYY-advisory_box_score_drawTrue

The shipped score is the pre-simulation model target. The inning simulation is a separate box-score realization used for player lines and stress testing.

Full Prediction Process

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_analysis9.8000
8. Probability/governorsApplies win probability calibration, matchup guardrails, margin governor and confidence governor.win_probability_calibration, margin_governor, confidence_governor0.5822
9. Simulation reconciliationKeeps final shipped score and simulation box score auditable side by side.simulation_reconciliationadvisory_box_score_draw
10. Score evolution rendered6 stored score steps are rendered below.game.score_evolution.stepstrue

Score Evolution Steps

StepLayerAway RunsHome RunsConfidenceDescription
1historical_ml5.2805.320-Base ML historical model prediction
2variance_applied56-Random variance applied (0.9-1.1)
3enhanced_prediction240.5822Enhanced ML with recent form, H2H, low-score analysis
4embedded_savant_run_environment24-Target score adjusted by temporal Savant lineup quality versus opposing starter quality
5capped_target24-Capped at max 12 realistic runs
6simulation_result24-Final inning-by-inning simulation result

Governors, Guardrails, and Reconciliation

Low Score Analysis
{
  "low_score_probability": 0.43138913301662707,
  "base_low_score_probability": 0.42399049881235157,
  "low_score_signal_threshold": 0.5039904988123516,
  "low_score_signal_strength": 0.0073986342042755004,
  "confidence": 0.608725,
  "factors": {
    "environmental": 1.01745,
    "pitcher_form": 1.0,
    "team_form": 1.0,
    "situational": 1.0,
    "combined": 1.01745
  },
  "prediction": "normal_scoring",
  "expected_total_runs": 6,
  "pre_simulation_expected_total_runs": 9.8,
  "low_score_model_expected_total_runs": 9.8,
  "final_simulation_total_runs": 6,
  "score_source": "enhanced_prediction.pre_simulation_target"
}
Win Probability Calibration
{
  "method": "historical_slate_bin_shrinkage",
  "sample_size": 61,
  "near_bucket_sample_size": 61,
  "medium_bucket_sample_size": 111,
  "wide_bucket_sample_size": 197,
  "global_sample_size": 205,
  "bucket_scope": "near_0.05",
  "sparse_bucket": false,
  "empirical_hit_rate": 0.5902,
  "bayesian_hit_rate": 0.5696,
  "sample_weight": 0.6,
  "prior_strength": 18.0,
  "reliability": 0.7722,
  "confidence_cap": 0.78,
  "raw_pick_probability": 0.6239,
  "calibrated_pick_probability": 0.5822,
  "predicted_side": "home"
}
Season Run Differential Adjustment
{
  "applied": true,
  "home": {
    "team": "NYY",
    "games": 50,
    "wins": 30,
    "losses": 20,
    "win_pct": 0.6,
    "runs_scored": 250,
    "runs_allowed": 181,
    "run_differential": 69,
    "run_differential_per_game": 1.38,
    "available": true
  },
  "away": {
    "team": "TOR",
    "games": 49,
    "wins": 22,
    "losses": 27,
    "win_pct": 0.4489795918367347,
    "runs_scored": 200,
    "runs_allowed": 212,
    "run_differential": -12,
    "run_differential_per_game": -0.24489795918367346,
    "available": true
  },
  "run_differential_edge_per_game": 1.6249,
  "win_pct_edge": 0.151,
  "quality_edge": 1.8514,
  "margin_adjustment": 0.7776,
  "reason": "season-to-date run differential and record moved the score toward the stronger team",
  "adjusted_score": {
    "away_runs": 2.052,
    "home_runs": 3.51,
    "home_win_probability": 0.6239
  }
}
Matchup Recency Guardrail
{
  "applied": false,
  "confidence_cap": null,
  "winner_flipped": false,
  "reasons": [],
  "signals": {
    "predicted_team": "NYY",
    "guardrail_predicted_team": "NYY",
    "guardrail_opponent_team": null,
    "output_pre_simulation_winner": "NYY",
    "output_opponent_team": "TOR",
    "final_score_winner": "NYY",
    "pre_simulation_winner": "NYY",
    "winner_flipped_by_simulation": false
  },
  "final_prediction_sync": {
    "pre_simulation_score": {
      "away_runs": 2,
      "home_runs": 4,
      "score_text": "TOR 2 - 4 NYY",
      "winner": "NYY"
    },
    "final_simulation_score": {
      "away_runs": 2,
      "home_runs": 4,
      "score_text": "TOR 2 - 4 NYY",
      "winner": "NYY"
    },
    "winner_flipped_by_simulation": false,
    "away_run_delta": 0,
    "home_run_delta": 0,
    "total_run_delta": 0,
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_usage": "advisory_box_score_draw",
    "final_prediction_source": "pre_simulation_target"
  }
}
Season Quality Guardrail
{
  "applied": false,
  "confidence_cap": null,
  "winner_flipped": false,
  "reasons": [],
  "signals": {
    "home": {
      "team": "NYY",
      "games": 50,
      "wins": 30,
      "losses": 20,
      "win_pct": 0.6,
      "runs_scored": 250,
      "runs_allowed": 181,
      "run_differential": 69,
      "run_differential_per_game": 1.38,
      "available": true
    },
    "away": {
      "team": "TOR",
      "games": 49,
      "wins": 22,
      "losses": 27,
      "win_pct": 0.4489795918367347,
      "runs_scored": 200,
      "runs_allowed": 212,
      "run_differential": -12,
      "run_differential_per_game": -0.24489795918367346,
      "available": true
    }
  }
}
Margin Governor
{
  "applied": false,
  "raw_margin": 1.4572,
  "final_margin": 1.4572,
  "margin_cap": 4.25,
  "season_quality_edge": 1.8514,
  "reason": "raw target margin within supported range"
}
Confidence Governor
{
  "applied": false,
  "raw_confidence": 0.582186,
  "final_confidence": 0.582186,
  "confidence_cap": 0.66,
  "score_gap": 1.4572,
  "calibration_sample_size": 61,
  "calibration_empirical_hit_rate": 0.5902,
  "calibration_bayesian_hit_rate": 0.5696,
  "calibration_sparse_bucket": false,
  "season_quality_edge": 1.8514,
  "reasons": [
    "unvalidated probabilities are capped for production display",
    "projected score gap is moderate",
    "local calibration sample has at least 30 games",
    "local calibration sample has at least 60 games",
    "season run-differential edge supports the pick",
    "win-probability calibration cap enforced"
  ]
}
Simulation Reconciliation
{
  "pre_simulation_score": {
    "away_runs": 2,
    "home_runs": 4,
    "score_text": "TOR 2 - 4 NYY",
    "winner": "NYY"
  },
  "final_simulation_score": {
    "away_runs": 2,
    "home_runs": 4,
    "score_text": "TOR 2 - 4 NYY",
    "winner": "NYY"
  },
  "winner_flipped_by_simulation": false,
  "away_run_delta": 0,
  "home_run_delta": 0,
  "total_run_delta": 0,
  "score_source": "enhanced_prediction.pre_simulation_target",
  "simulation_usage": "advisory_box_score_draw",
  "final_prediction_source": "pre_simulation_target"
}
Enhanced Prediction Target
{
  "away_runs": 2,
  "home_runs": 4,
  "confidence": 0.582186,
  "home_win_probability": 0.582186,
  "away_win_probability": 0.417814,
  "predicted_score_text": "TOR 2 - 4 NYY",
  "embedded_savant_score_adjustment": {
    "applied": true,
    "source": "all_players_stats.csv embedded temporal Savant features",
    "feature_contract": {
      "training_grain": "one player-game row after collapsing granular at-bat rows",
      "temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
      "hitter_signals": [
        "xwoba",
        "xba",
        "xslg",
        "barrel_batted_rate",
        "hard_hit_percent",
        "bat_speed",
        "launch_quality",
        "walk_rate",
        "strikeout_rate"
      ],
      "pitcher_signals": [
        "xwoba_allowed",
        "barrel_allowed",
        "hard_hit_allowed",
        "whiff_rate",
        "command_score",
        "movement_score",
        "faced_est_woba",
        "faced_strikeout_rate"
      ]
    },
    "away": {
      "team": "TOR",
      "original_runs": 2,
      "run_delta": 0.0325,
      "adjusted_runs": 2,
      "lineup": {
        "players_used": 9,
        "total_weight": 62.0,
        "quality": 0.07178995849581249,
        "contact": -0.003554784116782536,
        "power": -0.007364692910389985,
        "discipline": 0.12057217854383198,
        "xwoba": 0.31312903225806454,
        "recent_xwoba": 0.31312903225806454,
        "barrel": 8.080645161290324,
        "ab_hard_contact": -0.18447050951348873,
        "ab_bat_speed": 70.54933710642989,
        "ab_strikeout_rate": 0.1964888813640021,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "672960",
            "player_name": "Kazuma Okamoto",
            "position": "3B",
            "weight": 9.0,
            "quality": 0.6899335756249968,
            "contact": 0.581981466928652,
            "power": 1.3747132471631707,
            "discipline": -0.2096262939958591,
            "xwoba": 0.349,
            "recent_xwoba": 0.349,
            "barrel": 14.8,
            "ab_hard_contact": 0.5481697051681799,
            "ab_bat_speed": 71.71939009661835,
            "ab_strikeout_rate": 0.29384057971014493,
            "available": 1.0
          },
          {
            "player_id": "665489",
            "player_name": "Vladimir Guerrero Jr.",
            "position": "1B",
            "weight": 8.0,
            "quality": 0.6700153788788393,
            "contact": 1.0707233716689912,
            "power": 0.3427575371224831,
            "discipline": 0.8207083333333335,
            "xwoba": 0.357,
            "recent_xwoba": 0.357,
            "barrel": 7.8,
            "ab_hard_contact": 0.809817409116305,
            "ab_bat_speed": 75.27462838955027,
            "ab_strikeout_rate": 0.11979166666666667,
            "available": 1.0
          },
          {
            "player_id": "676391",
            "player_name": "Ernie Clement",
            "position": "SS",
            "weight": 8.0,
            "quality": -0.3517224672641024,
            "contact": -0.14169577523028304,
            "power": -0.8617793178939236,
            "discipline": 0.1932152988855116,
            "xwoba": 0.292,
            "recent_xwoba": 0.292,
            "barrel": 1.8,
            "ab_hard_contact": -0.30720540549752684,
            "ab_bat_speed": 65.58792572463769,
            "ab_strikeout_rate": 0.08014184397163121,
            "available": 1.0
          },
          {
            "player_id": "676914",
            "player_name": "Davis Schneider",
            "position": "LF",
            "weight": 4.0,
            "quality": -0.21741970865793298,
            "contact": -1.117977602466497,
            "power": -0.5851765858107192,
            "discipline": 0.5406190476190476,
            "xwoba": 0.291,
            "recent_xwoba": 0.291,
            "barrel": 10.5,
            "ab_hard_contact": -0.5397221924048602,
            "ab_bat_speed": 68.76237103174603,
            "ab_strikeout_rate": 0.3773809523809524,
            "available": 1.0
          },
          {
            "player_id": "543807",
            "player_name": "George Springer",
            "position": "DH",
            "weight": 9.0,
            "quality": -0.2681765720451107,
            "contact": -0.7599484765553727,
            "power": -0.39222659369239976,
            "discipline": 0.11012807881773398,
            "xwoba": 0.285,
            "recent_xwoba": 0.285,
            "barrel": 8.0,
            "ab_hard_contact": -1.1851033024194306,
            "ab_bat_speed": 71.45123563218391,
            "ab_strikeout_rate": 0.17758620689655175,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "607074",
        "player_name": "Carlos Rodón",
        "quality": -0.01394151939160588,
        "contact": -0.26079948750426535,
        "command": -0.20260317460317454,
        "movement": 0.46242937379964333,
        "xwoba": 0.323,
        "whiff": 27.6,
        "faced_est_woba": 0.33506065,
        "faced_launch_speed": 84.03928571428571,
        "faced_strikeout_rate": 0.19047619047619047,
        "faced_run_exp": -0.0066242063492063545
      }
    },
    "home": {
      "team": "NYY",
      "original_runs": 4,
      "run_delta": 0.4937,
      "adjusted_runs": 4,
      "lineup": {
        "players_used": 9,
        "total_weight": 61.0,
        "quality": 0.4406967325770029,
        "contact": 0.5259950555289594,
        "power": 0.6189933173413324,
        "discipline": 0.27822059178227143,
        "xwoba": 0.3562786885245901,
        "recent_xwoba": 0.3562786885245902,
        "barrel": 11.557377049180328,
        "ab_hard_contact": 0.4456831019374657,
        "ab_bat_speed": 70.89827503316984,
        "ab_strikeout_rate": 0.25547886176964113,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "592450",
            "player_name": "Aaron Judge",
            "position": "RF",
            "weight": 8.0,
            "quality": 1.4376407294159872,
            "contact": 1.4394781690349612,
            "power": 2.0,
            "discipline": 0.517826530612245,
            "xwoba": 0.431,
            "recent_xwoba": 0.43099999999999994,
            "barrel": 23.5,
            "ab_hard_contact": 1.4580912294043402,
            "ab_bat_speed": 74.04279964366698,
            "ab_strikeout_rate": 0.2836734693877551,
            "available": 1.0
          },
          {
            "player_id": "700250",
            "player_name": "Ben Rice",
            "position": "DH",
            "weight": 9.0,
            "quality": 1.1879357629993144,
            "contact": 1.5574087316380751,
            "power": 2.0,
            "discipline": 0.4103477297895901,
            "xwoba": 0.417,
            "recent_xwoba": 0.417,
            "barrel": 19.6,
            "ab_hard_contact": 0.9229761570073565,
            "ab_bat_speed": 70.68167248062015,
            "ab_strikeout_rate": 0.25193798449612403,
            "available": 1.0
          },
          {
            "player_id": "502671",
            "player_name": "Paul Goldschmidt",
            "position": "1B",
            "weight": 7.0,
            "quality": 0.6050240494406162,
            "contact": 1.8342580259348638,
            "power": 2.0,
            "discipline": 0.5350952380952381,
            "xwoba": 0.448,
            "recent_xwoba": 0.44800000000000006,
            "barrel": 20.8,
            "ab_hard_contact": 0.8129894087254915,
            "ab_bat_speed": 69.59193813131313,
            "ab_strikeout_rate": 0.20833333333333331,
            "available": 1.0
          },
          {
            "player_id": "641355",
            "player_name": "Cody Bellinger",
            "position": "LF",
            "weight": 8.0,
            "quality": 0.8454455635128627,
            "contact": 1.1873535814904204,
            "power": 0.5248685626887858,
            "discipline": 1.410980158730159,
            "xwoba": 0.38400000000000006,
            "recent_xwoba": 0.384,
            "barrel": 8.1,
            "ab_hard_contact": 0.8006093490137915,
            "ab_bat_speed": 69.25636140046296,
            "ab_strikeout_rate": 0.12430555555555556,
            "available": 1.0
          },
          {
            "player_id": "665862",
            "player_name": "Jazz Chisholm Jr.",
            "position": "2B",
            "weight": 8.0,
            "quality": -0.5895982291072001,
            "contact": -0.8979386947992617,
            "power": -0.53079776966776,
            "discipline": -0.3127817460317457,
            "xwoba": 0.278,
            "recent_xwoba": 0.278,
            "barrel": 6.0,
            "ab_hard_contact": -0.449860155259989,
            "ab_bat_speed": 70.91661086309524,
            "ab_strikeout_rate": 0.2951388888888889,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "680755",
        "player_name": "Braydon Fisher",
        "quality": -0.12259327881244095,
        "contact": -0.5032350442951882,
        "command": 0.08879598662207351,
        "movement": -0.296940370286252,
        "xwoba": 0.329,
        "whiff": 25.9,
        "faced_est_woba": 0.31537769192546583,
        "faced_launch_speed": 85.0586231884058,
        "faced_strikeout_rate": 0.21045548654244306,
        "faced_run_exp": -0.007926388888888889
      }
    }
  },
  "confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Production confidence governor cap enforced.",
  "pre_simulation_target": {
    "away_runs": 2,
    "home_runs": 4,
    "predicted_score_text": "TOR 2 - 4 NYY",
    "confidence": 0.582186,
    "source": "enhanced_prediction_before_inning_simulation"
  },
  "score_source": "enhanced_prediction.pre_simulation_target",
  "final_prediction_synced": true,
  "final_prediction_source": "pre_simulation_target",
  "simulation_usage": "advisory_box_score_draw",
  "simulation_score_matches_prediction": true,
  "simulation_reconciliation": {
    "pre_simulation_score": {
      "away_runs": 2,
      "home_runs": 4,
      "score_text": "TOR 2 - 4 NYY",
      "winner": "NYY"
    },
    "final_simulation_score": {
      "away_runs": 2,
      "home_runs": 4,
      "score_text": "TOR 2 - 4 NYY",
      "winner": "NYY"
    },
    "winner_flipped_by_simulation": false,
    "away_run_delta": 0,
    "home_run_delta": 0,
    "total_run_delta": 0,
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_usage": "advisory_box_score_draw",
    "final_prediction_source": "pre_simulation_target"
  }
}

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 TORTrue1.00961.0096190
Home NYYTrue1.03261.0326190

Away Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
CFDaulton Varsho-1.01120.1488neutral0.32300.27200.39606.9040.8086.8014.802017.908.40-0.6571
3BKazuma Okamoto-1.07050.9398neutral0.34900.23700.475014.8053.9093.3018.2031.7029.4011.300.4857
1BVladimir Guerrero Jr.-1.06100.8139neutral0.35700.29800.42607.8043.5090.408.4020.3011.3011.300.6857
DHGeorge Springer-0.9845-0.2066neutral0.28500.20800.3550836.4086.9016.5024.3019.208.800.3714
2BLenyn Sosa-0.9818-0.2424neutral0.24800.22500.36006.1036.6089.1020.6021.8020.4000.7143
SSErnie Clement-0.9704-0.3947neutral0.29200.27500.36901.8026.9086.2017.1014.607.903.70-0.7714
RFMyles Straw-1.00620.0824neutral0.33100.27700.39706.302586.5015.3013.1015.1010.500.0857
CBrandon Valenzuela-1.01510.2019neutral0.32600.25200.4110104489.8014.202928.409.900.1143
LFDavis Schneider-0.9855-0.1939neutral0.29100.16400.266010.5042.1086.6022.9030.9034.5020.200.6000

Home Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
RFAaron Judge-1.13461.7945neutral0.43100.27600.627023.5055.7093.8014.9032.9028.1017.100.4286
LFCody Bellinger-1.08541.1393neutral0.38400.29400.47208.1039.3089.9019.601712.5015.400.2286
2BJazz Chisholm Jr.-0.9558-0.5898negative_batter_regression0.27800.20200.3280635.9088.9018.1031.4028.9010.30-0.9143
DHBen Rice-1.10431.3910negative_batter_regression0.41700.28900.586019.6054.509312.5026.9024.5013.60-0.9429
1BPaul Goldschmidt-1.06710.8950neutral0.44800.31500.631020.8056.6092.3015.3021.7020.50120.4857
3BRyan McMahon-0.9916-0.1120neutral0.28100.21000.35108.4047.609115.1030.7029.908.800.4857
CFSpencer Jones-0.9574-0.5685neutral0.21900.14800.1880066.7095.5015.2044.6047.80130.2857
SSAnthony Volpe-0.9971-0.0385negative_batter_regression0.36200.22000.2910038.508919.9026.8016.7029.20-1.8000
CJ.C. Escarra-1.00050.0069positive_batter_regression0.28800.23400.36005.3036.8089.908.6032.3022.605.702
Raw Savant Batter Quality JSON
{
  "home": {
    "applied": true,
    "offense_factor": 1.0326,
    "raw_average_factor": 1.0326,
    "team_espn_average_rank": null,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "RF",
        "player_id": "592450",
        "player_name": "Aaron Judge",
        "offense_factor": 1.1346,
        "quality_score": 1.7945,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "592450",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 212.0,
          "k_percent": 28.1,
          "bb_percent": 17.1,
          "woba": 0.416,
          "xwoba": 0.431,
          "xba": 0.276,
          "xslg": 0.627,
          "sweet_spot_percent": 36.5,
          "barrel_batted_rate": 23.5,
          "hard_hit_percent": 55.7,
          "exit_velocity_avg": 93.8,
          "launch_angle_avg": 14.9,
          "whiff_percent": 32.9,
          "swing_percent": 42.4
        },
        "components": {
          "expected_quality": 2.0956,
          "regression_edge": 0.4286,
          "xwoba_edge": 2.5,
          "xba_edge": 1.0286,
          "xslg_edge": 2.5,
          "barrel_edge": 2.5,
          "hard_hit_edge": 2.3214,
          "exit_velocity_edge": 1.92,
          "sweet_spot_edge": 0.5333,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "LF",
        "player_id": "641355",
        "player_name": "Cody Bellinger",
        "offense_factor": 1.0854,
        "quality_score": 1.1393,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "641355",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 206.0,
          "k_percent": 12.5,
          "bb_percent": 15.4,
          "woba": 0.376,
          "xwoba": 0.384,
          "xba": 0.294,
          "xslg": 0.472,
          "sweet_spot_percent": 42.0,
          "barrel_batted_rate": 8.1,
          "hard_hit_percent": 39.3,
          "exit_velocity_avg": 89.9,
          "launch_angle_avg": 19.6,
          "whiff_percent": 17.0,
          "swing_percent": 42.8
        },
        "components": {
          "expected_quality": 1.3776,
          "regression_edge": 0.2286,
          "xwoba_edge": 2.1714,
          "xba_edge": 1.5429,
          "xslg_edge": 1.3714,
          "barrel_edge": 0.2667,
          "hard_hit_edge": -0.0214,
          "exit_velocity_edge": 0.36,
          "sweet_spot_edge": 1.45,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "2B",
        "player_id": "665862",
        "player_name": "Jazz Chisholm Jr.",
        "offense_factor": 0.9558,
        "quality_score": -0.5898,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "665862",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 192.0,
          "k_percent": 28.9,
          "bb_percent": 10.3,
          "woba": 0.31,
          "xwoba": 0.278,
          "xba": 0.202,
          "xslg": 0.328,
          "sweet_spot_percent": 29.9,
          "barrel_batted_rate": 6.0,
          "hard_hit_percent": 35.9,
          "exit_velocity_avg": 88.9,
          "launch_angle_avg": 18.1,
          "whiff_percent": 31.4,
          "swing_percent": 42.8
        },
        "components": {
          "expected_quality": -0.637,
          "regression_edge": -0.9143,
          "xwoba_edge": -0.8571,
          "xba_edge": -1.0857,
          "xslg_edge": -0.6857,
          "barrel_edge": -0.2,
          "hard_hit_edge": -0.5071,
          "exit_velocity_edge": -0.04,
          "sweet_spot_edge": -0.5667,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "DH",
        "player_id": "700250",
        "player_name": "Ben Rice",
        "offense_factor": 1.1043,
        "quality_score": 1.391,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "700250",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 181.0,
          "k_percent": 24.5,
          "bb_percent": 13.6,
          "woba": 0.45,
          "xwoba": 0.417,
          "xba": 0.289,
          "xslg": 0.586,
          "sweet_spot_percent": 39.3,
          "barrel_batted_rate": 19.6,
          "hard_hit_percent": 54.5,
          "exit_velocity_avg": 93.0,
          "launch_angle_avg": 12.5,
          "whiff_percent": 26.9,
          "swing_percent": 40.6
        },
        "components": {
          "expected_quality": 2.1195,
          "regression_edge": -0.9429,
          "xwoba_edge": 2.5,
          "xba_edge": 1.4,
          "xslg_edge": 2.5,
          "barrel_edge": 2.5,
          "hard_hit_edge": 2.15,
          "exit_velocity_edge": 1.6,
          "sweet_spot_edge": 1.0,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "1B",
        "player_id": "502671",
        "player_name": "Paul Goldschmidt",
        "offense_factor": 1.0671,
        "quality_score": 0.895,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "502671",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 81.0,
          "k_percent": 20.5,
          "bb_percent": 12.0,
          "woba": 0.431,
          "xwoba": 0.448,
          "xba": 0.315,
          "xslg": 0.631,
          "sweet_spot_percent": 41.5,
          "barrel_batted_rate": 20.8,
          "hard_hit_percent": 56.6,
          "exit_velocity_avg": 92.3,
          "launch_angle_avg": 15.3,
          "whiff_percent": 21.7,
          "swing_percent": 49.2
        },
        "components": {
          "expected_quality": 2.2336,
          "regression_edge": 0.4857,
          "xwoba_edge": 2.5,
          "xba_edge": 2.1429,
          "xslg_edge": 2.5,
          "barrel_edge": 2.5,
          "hard_hit_edge": 2.45,
          "exit_velocity_edge": 1.32,
          "sweet_spot_edge": 1.3667,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "3B",
        "player_id": "641857",
        "player_name": "Ryan McMahon",
        "offense_factor": 0.9916,
        "quality_score": -0.112,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "641857",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 135.0,
          "k_percent": 29.9,
          "bb_percent": 8.8,
          "woba": 0.264,
          "xwoba": 0.281,
          "xba": 0.21,
          "xslg": 0.351,
          "sweet_spot_percent": 27.4,
          "barrel_batted_rate": 8.4,
          "hard_hit_percent": 47.6,
          "exit_velocity_avg": 91.0,
          "launch_angle_avg": 15.1,
          "whiff_percent": 30.7,
          "swing_percent": 46.5
        },
        "components": {
          "expected_quality": -0.2914,
          "regression_edge": 0.4857,
          "xwoba_edge": -0.7714,
          "xba_edge": -0.8571,
          "xslg_edge": -0.3571,
          "barrel_edge": 0.3333,
          "hard_hit_edge": 1.1643,
          "exit_velocity_edge": 0.8,
          "sweet_spot_edge": -0.9833,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "CF",
        "player_id": "682987",
        "player_name": "Spencer Jones",
        "offense_factor": 0.9574,
        "quality_score": -0.5685,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "682987",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 23.0,
          "k_percent": 47.8,
          "bb_percent": 13.0,
          "woba": 0.209,
          "xwoba": 0.219,
          "xba": 0.148,
          "xslg": 0.188,
          "sweet_spot_percent": 22.2,
          "barrel_batted_rate": 0.0,
          "hard_hit_percent": 66.7,
          "exit_velocity_avg": 95.5,
          "launch_angle_avg": 15.2,
          "whiff_percent": 44.6,
          "swing_percent": 55.4
        },
        "components": {
          "expected_quality": -1.5156,
          "regression_edge": 0.2857,
          "xwoba_edge": -2.5,
          "xba_edge": -2.5,
          "xslg_edge": -2.5,
          "barrel_edge": -1.5333,
          "hard_hit_edge": 2.5,
          "exit_velocity_edge": 2.5,
          "sweet_spot_edge": -1.85,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "SS",
        "player_id": "683011",
        "player_name": "Anthony Volpe",
        "offense_factor": 0.9971,
        "quality_score": -0.0385,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "683011",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 24.0,
          "k_percent": 16.7,
          "bb_percent": 29.2,
          "woba": 0.425,
          "xwoba": 0.362,
          "xba": 0.22,
          "xslg": 0.291,
          "sweet_spot_percent": 38.5,
          "barrel_batted_rate": 0.0,
          "hard_hit_percent": 38.5,
          "exit_velocity_avg": 89.0,
          "launch_angle_avg": 19.9,
          "whiff_percent": 26.8,
          "swing_percent": 41.0
        },
        "components": {
          "expected_quality": 0.1936,
          "regression_edge": -1.8,
          "xwoba_edge": 1.5429,
          "xba_edge": -0.5714,
          "xslg_edge": -1.2143,
          "barrel_edge": -1.5333,
          "hard_hit_edge": -0.1357,
          "exit_velocity_edge": 0.0,
          "sweet_spot_edge": 0.8667,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "C",
        "player_id": "641555",
        "player_name": "J.C. Escarra",
        "offense_factor": 1.0005,
        "quality_score": 0.0069,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "641555",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 49.0,
          "k_percent": 22.6,
          "bb_percent": 5.7,
          "woba": 0.211,
          "xwoba": 0.288,
          "xba": 0.234,
          "xslg": 0.36,
          "sweet_spot_percent": 36.8,
          "barrel_batted_rate": 5.3,
          "hard_hit_percent": 36.8,
          "exit_velocity_avg": 89.9,
          "launch_angle_avg": 8.6,
          "whiff_percent": 32.3,
          "swing_percent": 46.6
        },
        "components": {
          "expected_quality": -0.3078,
          "regression_edge": 2.0,
          "xwoba_edge": -0.5714,
          "xba_edge": -0.1714,
          "xslg_edge": -0.2286,
          "barrel_edge": -0.3556,
          "hard_hit_edge": -0.3786,
          "exit_velocity_edge": 0.36,
          "sweet_spot_edge": 0.5833,
          "launch_angle_hr_bonus": 0.0
        }
      }
    ],
    "source": "all_players_stats.csv embedded Savant batter features"
  },
  "away": {
    "applied": true,
    "offense_factor": 1.0096,
    "raw_average_factor": 1.0096,
    "team_espn_average_rank": null,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "CF",
        "player_id": "662139",
        "player_name": "Daulton Varsho",
        "offense_factor": 1.0112,
        "quality_score": 0.1488,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "662139",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 177.0,
          "k_percent": 17.9,
          "bb_percent": 8.4,
          "woba": 0.346,
          "xwoba": 0.323,
          "xba": 0.272,
          "xslg": 0.396,
          "sweet_spot_percent": 38.5,
          "barrel_batted_rate": 6.9,
          "hard_hit_percent": 40.8,
          "exit_velocity_avg": 86.8,
          "launch_angle_avg": 14.8,
          "whiff_percent": 20.0,
          "swing_percent": 55.4
        },
        "components": {
          "expected_quality": 0.322,
          "regression_edge": -0.6571,
          "xwoba_edge": 0.4286,
          "xba_edge": 0.9143,
          "xslg_edge": 0.2857,
          "barrel_edge": 0.0,
          "hard_hit_edge": 0.1929,
          "exit_velocity_edge": -0.88,
          "sweet_spot_edge": 0.8667,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "3B",
        "player_id": "672960",
        "player_name": "Kazuma Okamoto",
        "offense_factor": 1.0705,
        "quality_score": 0.9398,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "672960",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 194.0,
          "k_percent": 29.4,
          "bb_percent": 11.3,
          "woba": 0.332,
          "xwoba": 0.349,
          "xba": 0.237,
          "xslg": 0.475,
          "sweet_spot_percent": 33.9,
          "barrel_batted_rate": 14.8,
          "hard_hit_percent": 53.9,
          "exit_velocity_avg": 93.3,
          "launch_angle_avg": 18.2,
          "whiff_percent": 31.7,
          "swing_percent": 44.1
        },
        "components": {
          "expected_quality": 1.1602,
          "regression_edge": 0.4857,
          "xwoba_edge": 1.1714,
          "xba_edge": -0.0857,
          "xslg_edge": 1.4143,
          "barrel_edge": 1.7556,
          "hard_hit_edge": 2.0643,
          "exit_velocity_edge": 1.72,
          "sweet_spot_edge": 0.1,
          "launch_angle_hr_bonus": 0.45
        }
      },
      {
        "position": "1B",
        "player_id": "665489",
        "player_name": "Vladimir Guerrero Jr.",
        "offense_factor": 1.061,
        "quality_score": 0.8139,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "665489",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 200.0,
          "k_percent": 11.3,
          "bb_percent": 11.3,
          "woba": 0.333,
          "xwoba": 0.357,
          "xba": 0.298,
          "xslg": 0.426,
          "sweet_spot_percent": 31.2,
          "barrel_batted_rate": 7.8,
          "hard_hit_percent": 43.5,
          "exit_velocity_avg": 90.4,
          "launch_angle_avg": 8.4,
          "whiff_percent": 20.3,
          "swing_percent": 48.4
        },
        "components": {
          "expected_quality": 0.9295,
          "regression_edge": 0.6857,
          "xwoba_edge": 1.4,
          "xba_edge": 1.6571,
          "xslg_edge": 0.7143,
          "barrel_edge": 0.2,
          "hard_hit_edge": 0.5786,
          "exit_velocity_edge": 0.56,
          "sweet_spot_edge": -0.35,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "DH",
        "player_id": "543807",
        "player_name": "George Springer",
        "offense_factor": 0.9845,
        "quality_score": -0.2066,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "543807",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 125.0,
          "k_percent": 19.2,
          "bb_percent": 8.8,
          "woba": 0.272,
          "xwoba": 0.285,
          "xba": 0.208,
          "xslg": 0.355,
          "sweet_spot_percent": 25.0,
          "barrel_batted_rate": 8.0,
          "hard_hit_percent": 36.4,
          "exit_velocity_avg": 86.9,
          "launch_angle_avg": 16.5,
          "whiff_percent": 24.3,
          "swing_percent": 51.9
        },
        "components": {
          "expected_quality": -0.4833,
          "regression_edge": 0.3714,
          "xwoba_edge": -0.6571,
          "xba_edge": -0.9143,
          "xslg_edge": -0.3,
          "barrel_edge": 0.2444,
          "hard_hit_edge": -0.4357,
          "exit_velocity_edge": -0.84,
          "sweet_spot_edge": -1.3833,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "2B",
        "player_id": "672820",
        "player_name": "Lenyn Sosa",
        "offense_factor": 0.9818,
        "quality_score": -0.2424,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "672820",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 101.0,
          "k_percent": 20.4,
          "bb_percent": 0.0,
          "woba": 0.223,
          "xwoba": 0.248,
          "xba": 0.225,
          "xslg": 0.36,
          "sweet_spot_percent": 36.6,
          "barrel_batted_rate": 6.1,
          "hard_hit_percent": 36.6,
          "exit_velocity_avg": 89.1,
          "launch_angle_avg": 20.6,
          "whiff_percent": 21.8,
          "swing_percent": 58.2
        },
        "components": {
          "expected_quality": -0.7302,
          "regression_edge": 0.7143,
          "xwoba_edge": -1.7143,
          "xba_edge": -0.4286,
          "xslg_edge": -0.2286,
          "barrel_edge": -0.1778,
          "hard_hit_edge": -0.4071,
          "exit_velocity_edge": 0.04,
          "sweet_spot_edge": 0.55,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "SS",
        "player_id": "676391",
        "player_name": "Ernie Clement",
        "offense_factor": 0.9704,
        "quality_score": -0.3947,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "676391",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 188.0,
          "k_percent": 7.9,
          "bb_percent": 3.7,
          "woba": 0.319,
          "xwoba": 0.292,
          "xba": 0.275,
          "xslg": 0.369,
          "sweet_spot_percent": 31.7,
          "barrel_batted_rate": 1.8,
          "hard_hit_percent": 26.9,
          "exit_velocity_avg": 86.2,
          "launch_angle_avg": 17.1,
          "whiff_percent": 14.6,
          "swing_percent": 56.8
        },
        "components": {
          "expected_quality": -0.4115,
          "regression_edge": -0.7714,
          "xwoba_edge": -0.4571,
          "xba_edge": 1.0,
          "xslg_edge": -0.1,
          "barrel_edge": -1.1333,
          "hard_hit_edge": -1.7929,
          "exit_velocity_edge": -1.12,
          "sweet_spot_edge": -0.2667,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "RF",
        "player_id": "664702",
        "player_name": "Myles Straw",
        "offense_factor": 1.0062,
        "quality_score": 0.0824,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "664702",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 84.0,
          "k_percent": 15.1,
          "bb_percent": 10.5,
          "woba": 0.328,
          "xwoba": 0.331,
          "xba": 0.277,
          "xslg": 0.397,
          "sweet_spot_percent": 32.8,
          "barrel_batted_rate": 6.3,
          "hard_hit_percent": 25.0,
          "exit_velocity_avg": 86.5,
          "launch_angle_avg": 15.3,
          "whiff_percent": 13.1,
          "swing_percent": 38.0
        },
        "components": {
          "expected_quality": 0.1989,
          "regression_edge": 0.0857,
          "xwoba_edge": 0.6571,
          "xba_edge": 1.0571,
          "xslg_edge": 0.3,
          "barrel_edge": -0.1333,
          "hard_hit_edge": -2.0643,
          "exit_velocity_edge": -1.0,
          "sweet_spot_edge": -0.0833,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "C",
        "player_id": "678218",
        "player_name": "Brandon Valenzuela",
        "offense_factor": 1.0151,
        "quality_score": 0.2019,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "678218",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 81.0,
          "k_percent": 28.4,
          "bb_percent": 9.9,
          "woba": 0.322,
          "xwoba": 0.326,
          "xba": 0.252,
          "xslg": 0.411,
          "sweet_spot_percent": 38.0,
          "barrel_batted_rate": 10.0,
          "hard_hit_percent": 44.0,
          "exit_velocity_avg": 89.8,
          "launch_angle_avg": 14.2,
          "whiff_percent": 29.0,
          "swing_percent": 51.3
        },
        "components": {
          "expected_quality": 0.5031,
          "regression_edge": 0.1143,
          "xwoba_edge": 0.5143,
          "xba_edge": 0.3429,
          "xslg_edge": 0.5,
          "barrel_edge": 0.6889,
          "hard_hit_edge": 0.65,
          "exit_velocity_edge": 0.32,
          "sweet_spot_edge": 0.7833,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "LF",
        "player_id": "676914",
        "player_name": "Davis Schneider",
        "offense_factor": 0.9855,
        "quality_score": -0.1939,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "676914",
          "reason": "player_not_in_espn_rankings"
        },
        "metrics": {
          "pa": 78.0,
          "k_percent": 34.5,
          "bb_percent": 20.2,
          "woba": 0.27,
          "xwoba": 0.291,
          "xba": 0.164,
          "xslg": 0.266,
          "sweet_spot_percent": 28.9,
          "barrel_batted_rate": 10.5,
          "hard_hit_percent": 42.1,
          "exit_velocity_avg": 86.6,
          "launch_angle_avg": 22.9,
          "whiff_percent": 30.9,
          "swing_percent": 36.2
        },
        "components": {
          "expected_quality": -0.5987,
          "regression_edge": 0.6,
          "xwoba_edge": -0.4857,
          "xba_edge": -2.1714,
          "xslg_edge": -1.5714,
          "barrel_edge": 0.8,
          "hard_hit_edge": 0.3786,
          "exit_velocity_edge": -0.96,
          "sweet_spot_edge": -0.7333,
          "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 TORTrue--0.12540.45001.01071.00331.00451.0507negative_pitcher_regression0.32900.287023.809.9025.9012.3040
Home NYYTrue--0.04660.45001.00401.01411.09000.9988neutral0.32300.314026.3021.1027.6010.5026.30

Pitch Movement And Arsenal

TeamPitcherMovement AvailablePrimary PitchPitchesVeloSpinAxisHBIVBDropRel XRel ZExtensionArm AngleMovement Score
Away TORTrueNone1788.38228800000000-0.0733
Home NYYTrueNone7891.422352000000000.0971
Run FactorValue
away_runs_vs_home_pitcher1.0018
home_runs_vs_away_pitcher1.0048
home_pitcher_quality_edge0.0788
Raw Savant Pitcher Quality JSON
{
  "applied": true,
  "home_pitcher": {
    "available": true,
    "pitcher_id": "607074",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 20.0,
      "k_percent": 26.3,
      "bb_percent": 21.1,
      "woba": 0.314,
      "xwoba": 0.323,
      "sweet_spot_percent": 21.1,
      "barrel_batted_rate": 10.5,
      "hard_hit_percent": 26.3,
      "avg_best_speed": 83.0815,
      "avg_hyper_speed": 94.1508,
      "whiff_percent": 27.6,
      "swing_percent": 45.8
    },
    "league_medians": {
      "pa": 69.0,
      "k_percent": 22.7,
      "bb_percent": 9.4,
      "woba": 0.308,
      "xwoba": 0.312,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.2,
      "hard_hit_percent": 38.7,
      "avg_best_speed": 78.2751,
      "avg_hyper_speed": 94.07,
      "whiff_percent": 25.7,
      "swing_percent": 46.9
    },
    "components": {
      "contact_quality": -0.0723,
      "command_and_miss": -0.1736,
      "regression_edge": -0.2571,
      "xwoba_edge": -0.3143,
      "barrel_edge": -0.7333,
      "hard_hit_edge": 1.7714,
      "whiff_edge": 0.2714,
      "bb_edge": -2.5,
      "pitch_design_score": 0.0971
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "607074",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 78,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 78,
        "pitch_usage": 0.0,
        "release_speed": 91.41794871794872,
        "release_spin_rate": 2351.833333333333,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 78,
          "pitch_usage": 0.0,
          "release_speed": 91.41794871794872,
          "release_spin_rate": 2351.833333333333,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.4179,
        "release_spin_rate": 2351.8333,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": 0.0971,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": 0.6938,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -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.0466,
    "sample_weight": 0.45,
    "run_prevention_factor": 1.004,
    "strikeout_factor": 1.0141,
    "walk_factor": 1.09,
    "homer_factor": 0.9988,
    "woba_minus_xwoba": -0.009,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": false,
      "player_id": "607074",
      "reason": "player_not_in_espn_rankings"
    }
  },
  "away_pitcher": {
    "available": true,
    "pitcher_id": "680755",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 94.0,
      "k_percent": 23.8,
      "bb_percent": 9.9,
      "woba": 0.287,
      "xwoba": 0.329,
      "sweet_spot_percent": 33.8,
      "barrel_batted_rate": 12.3,
      "hard_hit_percent": 40.0,
      "avg_best_speed": 78.3231,
      "avg_hyper_speed": 93.673,
      "whiff_percent": 25.9,
      "swing_percent": 45.5
    },
    "league_medians": {
      "pa": 69.0,
      "k_percent": 22.7,
      "bb_percent": 9.4,
      "woba": 0.308,
      "xwoba": 0.312,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.2,
      "hard_hit_percent": 38.7,
      "avg_best_speed": 78.2751,
      "avg_hyper_speed": 94.07,
      "whiff_percent": 25.7,
      "swing_percent": 46.9
    },
    "components": {
      "contact_quality": -0.2988,
      "command_and_miss": 0.0557,
      "regression_edge": -1.2,
      "xwoba_edge": -0.4857,
      "barrel_edge": -1.1333,
      "hard_hit_edge": -0.1857,
      "whiff_edge": 0.0286,
      "bb_edge": -0.125,
      "pitch_design_score": -0.0733
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "680755",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 17,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 17,
        "pitch_usage": 0.0,
        "release_speed": 88.37512546090062,
        "release_spin_rate": 2287.6340404139632,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 17,
          "pitch_usage": 0.0,
          "release_speed": 88.37512546090062,
          "release_spin_rate": 2287.6340404139632,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.3751,
        "release_spin_rate": 2287.634,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": -0.0733,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": -0.5234,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -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.1254,
    "sample_weight": 0.45,
    "run_prevention_factor": 1.0107,
    "strikeout_factor": 1.0033,
    "walk_factor": 1.0045,
    "homer_factor": 1.0507,
    "woba_minus_xwoba": -0.042,
    "regression_flag": "negative_pitcher_regression",
    "espn_rank": {
      "available": false,
      "player_id": "680755",
      "reason": "player_not_in_espn_rankings"
    }
  },
  "run_factors": {
    "away_runs_vs_home_pitcher": 1.0018,
    "home_runs_vs_away_pitcher": 1.0048,
    "home_pitcher_quality_edge": 0.0788
  },
  "score_before": {
    "away_runs": 2.3981,
    "home_runs": 3.0673
  },
  "score_after": {
    "away_runs": 2.4024,
    "home_runs": 3.082,
    "home_win_probability": 0.5592
  },
  "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 TOR13-360.2651.303-85coldstrong
Home NYY15-340.3061.402.60-61coldstrong

Season Run Differential

TeamRecordWin %Run DiffRD/GameAvailable
Away TOR22-270.449-12-0.245True
Home NYY30-200.600691.380True
Signal--1.6251.851applied=True

Recent Head-to-Head

DateMatchupScoreWinnerMarginType
------

Player/Game Reconciliation

LayerABHRHRRBIBBSO
Game target TOR--2----
Game target NYY--4----
Player finalized TOR6215907715
Player finalized NYY61149391017
Player model fractional TOR62.3413.828.011.806.726.1714.00
Player model fractional NYY60.9414.969.652.979.729.6716.90
Simulation box TOR31421247
Simulation box NYY28540459

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 TORStarterBraydon Fisher525344.361.18True
Away TORMiddle RelieverLouis Varland1.1001002.661.34True
Away TORMiddle RelieverTyler Rogers102002.891.25True
Away TORMiddle RelieverJeff Hoffman0.2021214.711.49True
Home NYYStarterCarlos Rodón425134.631.41True
Home NYYMiddle RelieverBrent Headrick1.1000103.801.25True
Home NYYMiddle RelieverDavid Bednar1.1000006.251.61True
Home NYYMiddle RelieverFernando Cruz100002.701.14True
Home NYYMiddle RelieverTim Hill1.1002213.231.25True
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
homeNYYbatter1BPaul Goldschmidtbetter128493predicted_H2.1600boostbetter
awayTORbatter1BVladimir Guerrero Jr.worse113847predicted_AB-2.0200deboostworse
homeNYYbatterRFAaron Judgebetter115665predicted_AB-1.9500deboostworse
homeNYYbatter3BRyan McMahonworse114738predicted_SO1.9200boostworse
homeNYYbatterCJ.C. Escarradeboosted125766predicted_AB-1.4260deboostworse
awayTORbatterRFMyles Strawworse102819predicted_AB1.4190boostbetter
awayTORbatterSSErnie Clementworse104637predicted_H-0.9500deboostworse
homeNYYbatterLFCody Bellingerworse124857predicted_H-0.9500deboostworse
awayTORbatterLFDavis Schneiderbetter105564predicted_HR0.9400boostbetter
homeNYYbatterDHBen Riceworse104637predicted_H-0.9400deboostworse
homeNYYbatterSSAnthony Volpeworse114738predicted_AB-0.8400deboostworse
awayTORbatter3BKazuma Okamotoworse101928predicted_H-0.8300deboostworse
awayTORbatterCFDaulton Varshoworse83526predicted_AB-0.8200deboostworse
awayTORbatterDHGeorge Springerworse115647predicted_2B0.8020boostbetter
homeNYYbatter2BJazz Chisholm Jr.worse93645predicted_2B0.8000boostbetter
awayTORbatter2BLenyn Sosaworse92736predicted_SO-0.7770deboostbetter
homeNYYbatterCFSpencer Jonesworse93627predicted_SO0.7500boostworse
awayTORbatterCBrandon Valenzuelaworse101919predicted_BB0.6590boostbetter
homeNYYpitcherMiddle RelieverTim Hillbetter11010predicted_IP0.4333boostbetter
homeNYYpitcherStarterCarlos Rodónworse10101predicted_IP-0.3333deboostworse
awayTORpitcherMiddle RelieverJeff Hoffmanworse10101predicted_IP-0.1333deboostworse
awayTORpitcherMiddle RelieverLouis Varlandbetter11010predicted_IP0.1000boostbetter
homeNYYpitcherMiddle RelieverBrent Headrickbetter11010predicted_IP0.1000boostbetter
homeNYYpitcherMiddle RelieverDavid Bednarbetter11010predicted_IP0.1000boostbetter

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

Away Team: TOR

Away Pitcher Deep Analysis

FieldValue
PitcherBraydon Fisher
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.1254
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0733
Avg Velo88.3751
Avg Spin2287.6340
HB Inches0
IVB Inches0
Release Extension0
Pre IP5
Pre ER2
Pre H3
Pre BB4
Pre SO5
Season ERA3.0759
Season WHIP1.0633
Role Avg IP1
Recent Avg IP1
Last Start IP1
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "TOR",
    "games": 55,
    "wins": 25,
    "losses": 30,
    "win_pct": 0.4545,
    "runs_scored": 232.0,
    "runs_allowed": 225.0,
    "run_differential": 7.0,
    "run_differential_per_game": 0.1273,
    "avg_runs_scored": 4.2182,
    "avg_runs_allowed": 4.0909,
    "offense_index": 0.9433,
    "defense_index": 1.0931,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 3.7,
      "avg_runs_allowed": 4.2,
      "run_differential": -5.0
    },
    "available": true,
    "quality_score": -0.058
  },
  "opponent": {
    "team": "NYY",
    "games": 58,
    "wins": 35,
    "losses": 23,
    "win_pct": 0.6034,
    "runs_scored": 280.0,
    "runs_allowed": 220.0,
    "run_differential": 60.0,
    "run_differential_per_game": 1.0345,
    "avg_runs_scored": 4.8276,
    "avg_runs_allowed": 3.7931,
    "offense_index": 1.0796,
    "defense_index": 1.1789,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 3.8,
      "avg_runs_allowed": 4.3,
      "run_differential": -5.0
    },
    "available": true,
    "quality_score": 0.1801
  },
  "edges": {
    "quality_edge": -0.2381,
    "offense_edge": -0.0567,
    "opponent_offense_edge": 0.0796,
    "defense_strength": 0.0931,
    "opponent_defense_weakness": -0.1789,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 0.9901,
    "run_prevention": 1.0153,
    "strikeout": 0.9865
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "680755",
    "profile": {
      "available": true,
      "pitcher_id": "680755",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 94.0,
        "k_percent": 23.8,
        "bb_percent": 9.9,
        "woba": 0.287,
        "xwoba": 0.329,
        "sweet_spot_percent": 33.8,
        "barrel_batted_rate": 12.3,
        "hard_hit_percent": 40.0,
        "avg_best_speed": 78.3231,
        "avg_hyper_speed": 93.673,
        "whiff_percent": 25.9,
        "swing_percent": 45.5
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": -0.2988,
        "command_and_miss": 0.0557,
        "regression_edge": -1.2,
        "xwoba_edge": -0.4857,
        "barrel_edge": -1.1333,
        "hard_hit_edge": -0.1857,
        "whiff_edge": 0.0286,
        "bb_edge": -0.125,
        "pitch_design_score": -0.0733
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "680755",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 17,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 17,
          "pitch_usage": 0.0,
          "release_speed": 88.37512546090062,
          "release_spin_rate": 2287.6340404139632,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 17,
            "pitch_usage": 0.0,
            "release_speed": 88.37512546090062,
            "release_spin_rate": 2287.6340404139632,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.3751,
          "release_spin_rate": 2287.634,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.0733,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.5234,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.1254,
      "sample_weight": 0.45,
      "run_prevention_factor": 1.0107,
      "strikeout_factor": 1.0033,
      "walk_factor": 1.0045,
      "homer_factor": 1.0507,
      "woba_minus_xwoba": -0.042,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "680755",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 1.0048,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 5.0,
        "factor": 1.0048,
        "adjusted": 5
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.002,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0228,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 0.0,
        "factor": 1.0015,
        "adjusted": 0
      }
    }
  }
}
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": 6,
    "H": 7,
    "BB": 4,
    "SO": 9,
    "HR": 1,
    "ERA": 4.909090909090909,
    "WHIP": 1.0,
    "K9": 7.363636363636363,
    "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-05-18T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "680755",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 17,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 17,
    "pitch_usage": 0.0,
    "release_speed": 88.37512546090062,
    "release_spin_rate": 2287.6340404139632,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 17,
      "pitch_usage": 0.0,
      "release_speed": 88.37512546090062,
      "release_spin_rate": 2287.6340404139632,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.3751,
    "release_spin_rate": 2287.634,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0733,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.5234,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 5.217,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5106,
    "prior_weight": 0.4894
  },
  "role": "pitcher",
  "player_id": "680755",
  "report_date": "20260521_T",
  "season_year": 2026,
  "rows_used": 24,
  "reference_playing_time": 5.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.2,
        "ER": 3.0,
        "R": 4.0,
        "H": 4.0,
        "BB": 2.0,
        "SO": 4.0,
        "HR": 1.0,
        "BF": 23.0,
        "Pitches": 100.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.6,
        "R": 0.8,
        "H": 0.8,
        "BB": 0.4,
        "SO": 0.8,
        "HR": 0.2,
        "BF": 4.6,
        "Pitches": 20.0
      },
      "rates": {
        "ERA": 4.7647,
        "WHIP": 1.0588,
        "ER_per_IP": 0.52941,
        "H_per_IP": 0.70588,
        "BB_per_IP": 0.35294,
        "SO_per_IP": 0.70588,
        "HR_per_IP": 0.17647
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 11.0,
        "ER": 6.0,
        "R": 7.0,
        "H": 7.0,
        "BB": 4.0,
        "SO": 9.0,
        "HR": 1.0,
        "BF": 43.0,
        "Pitches": 179.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.6,
        "R": 0.7,
        "H": 0.7,
        "BB": 0.4,
        "SO": 0.9,
        "HR": 0.1,
        "BF": 4.3,
        "Pitches": 17.9
      },
      "rates": {
        "ERA": 4.9091,
        "WHIP": 1.0,
        "ER_per_IP": 0.54545,
        "H_per_IP": 0.63636,
        "BB_per_IP": 0.36364,
        "SO_per_IP": 0.81818,
        "HR_per_IP": 0.09091
      }
    },
    "season": {
      "games": 24,
      "totals": {
        "IP": 26.1,
        "ER": 9.0,
        "R": 12.0,
        "H": 18.0,
        "BB": 10.0,
        "SO": 24.0,
        "HR": 2.0,
        "BF": 101.0,
        "Pitches": 415.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.375,
        "R": 0.5,
        "H": 0.75,
        "BB": 0.4167,
        "SO": 1.0,
        "HR": 0.0833,
        "BF": 4.2083,
        "Pitches": 17.2917
      },
      "rates": {
        "ERA": 3.0759,
        "WHIP": 1.0633,
        "ER_per_IP": 0.34177,
        "H_per_IP": 0.68354,
        "BB_per_IP": 0.37975,
        "SO_per_IP": 0.91139,
        "HR_per_IP": 0.07595
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 3.0,
    "predicted_ER": 1.433,
    "predicted_H": 2.385,
    "predicted_BB": 1.091,
    "predicted_SO": 2.564,
    "predicted_HR": 0.38,
    "predicted_ERA": 4.3607,
    "predicted_WHIP": 1.1753
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5568,
  "form_weight": 0.4432,
  "form_reliability": 0.5106,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 5.217,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5106,
    "prior_weight": 0.4894
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 5.0,
      "form": 3.0,
      "final": 4.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 2.0,
      "form": 1.433,
      "final": 1.7487,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 3.0,
      "form": 2.385,
      "final": 2.7274,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 4.0,
      "form": 1.091,
      "final": 2.7106,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 5.0,
      "form": 2.564,
      "final": 3.9203,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.38,
      "final": 0.1684,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.3607,
      "final": 4.3607,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1753,
      "final": 1.1753,
      "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
PitcherLouis Varland
RoleMiddle Reliever
Projection Source-
Savant Quality Score0.6297
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.2219
Avg Velo93.6455
Avg Spin2234.0840
HB Inches0
IVB Inches0
Release Extension0
Pre IP1.1000
Pre ER0
Pre H0
Pre BB0
Pre SO1
Season ERA0.7013
Season WHIP1.1688
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "TOR",
    "games": 55,
    "wins": 25,
    "losses": 30,
    "win_pct": 0.4545,
    "runs_scored": 232.0,
    "runs_allowed": 225.0,
    "run_differential": 7.0,
    "run_differential_per_game": 0.1273,
    "avg_runs_scored": 4.2182,
    "avg_runs_allowed": 4.0909,
    "offense_index": 0.9433,
    "defense_index": 1.0931,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 3.7,
      "avg_runs_allowed": 4.2,
      "run_differential": -5.0
    },
    "available": true,
    "quality_score": -0.058
  },
  "opponent": {
    "team": "NYY",
    "games": 58,
    "wins": 35,
    "losses": 23,
    "win_pct": 0.6034,
    "runs_scored": 280.0,
    "runs_allowed": 220.0,
    "run_differential": 60.0,
    "run_differential_per_game": 1.0345,
    "avg_runs_scored": 4.8276,
    "avg_runs_allowed": 3.7931,
    "offense_index": 1.0796,
    "defense_index": 1.1789,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 3.8,
      "avg_runs_allowed": 4.3,
      "run_differential": -5.0
    },
    "available": true,
    "quality_score": 0.1801
  },
  "edges": {
    "quality_edge": -0.2381,
    "offense_edge": -0.0567,
    "opponent_offense_edge": 0.0796,
    "defense_strength": 0.0931,
    "opponent_defense_weakness": -0.1789,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 0.9901,
    "run_prevention": 1.0153,
    "strikeout": 0.9865
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "686973",
    "profile": {
      "available": true,
      "pitcher_id": "686973",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 97.0,
        "k_percent": 35.7,
        "bb_percent": 9.2,
        "woba": 0.242,
        "xwoba": 0.219,
        "sweet_spot_percent": 22.2,
        "barrel_batted_rate": 0.0,
        "hard_hit_percent": 33.3,
        "avg_best_speed": 75.0544,
        "avg_hyper_speed": 92.9865,
        "whiff_percent": 29.8,
        "swing_percent": 49.9
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": 1.8618,
        "command_and_miss": 1.0507,
        "regression_edge": 0.6571,
        "xwoba_edge": 2.5,
        "barrel_edge": 1.6,
        "hard_hit_edge": 0.7714,
        "whiff_edge": 0.5857,
        "bb_edge": 0.05,
        "pitch_design_score": 0.2219
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "686973",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 18,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 18,
          "pitch_usage": 0.0,
          "release_speed": 93.64552956042509,
          "release_spin_rate": 2234.0840337336617,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 18,
            "pitch_usage": 0.0,
            "release_speed": 93.64552956042509,
            "release_spin_rate": 2234.0840337336617,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.6455,
          "release_spin_rate": 2234.084,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.2219,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.5848,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.6297,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9465,
      "strikeout_factor": 1.044,
      "walk_factor": 0.9982,
      "homer_factor": 0.8948,
      "woba_minus_xwoba": 0.023,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "686973",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9759,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9759,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9992,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9527,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0198,
        "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": 9,
    "BB": 5,
    "SO": 14,
    "HR": 0,
    "ERA": 0.84375,
    "WHIP": 1.3125,
    "K9": 11.8125,
    "HR9": 0.0,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-05-20T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "686973",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 18,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 18,
    "pitch_usage": 0.0,
    "release_speed": 93.64552956042509,
    "release_spin_rate": 2234.0840337336617,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 18,
      "pitch_usage": 0.0,
      "release_speed": 93.64552956042509,
      "release_spin_rate": 2234.0840337336617,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.6455,
    "release_spin_rate": 2234.084,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.2219,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.5848,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 5.085,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5042,
    "prior_weight": 0.4958
  },
  "role": "pitcher",
  "player_id": "686973",
  "report_date": "20260521_T",
  "season_year": 2026,
  "rows_used": 24,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 6.0,
        "ER": 1.0,
        "R": 1.0,
        "H": 7.0,
        "BB": 2.0,
        "SO": 8.0,
        "HR": 0.0,
        "BF": 27.0,
        "Pitches": 106.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.2,
        "R": 0.2,
        "H": 1.4,
        "BB": 0.4,
        "SO": 1.6,
        "HR": 0.0,
        "BF": 5.4,
        "Pitches": 21.2
      },
      "rates": {
        "ERA": 1.5,
        "WHIP": 1.5,
        "ER_per_IP": 0.16667,
        "H_per_IP": 1.16667,
        "BB_per_IP": 0.33333,
        "SO_per_IP": 1.33333,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.2,
        "ER": 1.0,
        "R": 2.0,
        "H": 9.0,
        "BB": 5.0,
        "SO": 14.0,
        "HR": 0.0,
        "BF": 46.0,
        "Pitches": 188.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.1,
        "R": 0.2,
        "H": 0.9,
        "BB": 0.5,
        "SO": 1.4,
        "HR": 0.0,
        "BF": 4.6,
        "Pitches": 18.8
      },
      "rates": {
        "ERA": 0.8438,
        "WHIP": 1.3125,
        "ER_per_IP": 0.09375,
        "H_per_IP": 0.84375,
        "BB_per_IP": 0.46875,
        "SO_per_IP": 1.3125,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 24,
      "totals": {
        "IP": 25.2,
        "ER": 2.0,
        "R": 6.0,
        "H": 21.0,
        "BB": 9.0,
        "SO": 37.0,
        "HR": 0.0,
        "BF": 103.0,
        "Pitches": 441.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0833,
        "R": 0.25,
        "H": 0.875,
        "BB": 0.375,
        "SO": 1.5417,
        "HR": 0.0,
        "BF": 4.2917,
        "Pitches": 18.375
      },
      "rates": {
        "ERA": 0.7013,
        "WHIP": 1.1688,
        "ER_per_IP": 0.07792,
        "H_per_IP": 0.81818,
        "BB_per_IP": 0.35065,
        "SO_per_IP": 1.44156,
        "HR_per_IP": 0.0
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.318,
    "predicted_H": 1.036,
    "predicted_BB": 0.409,
    "predicted_SO": 1.238,
    "predicted_HR": 0.07,
    "predicted_ERA": 2.6616,
    "predicted_WHIP": 1.343
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5595,
  "form_weight": 0.4405,
  "form_reliability": 0.5042,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 5.085,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5042,
    "prior_weight": 0.4958
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.318,
      "final": 0.1401,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 1.036,
      "final": 0.4564,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.409,
      "final": 0.1802,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.238,
      "final": 1.1048,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.07,
      "final": 0.0308,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.6616,
      "final": 2.6616,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.343,
      "final": 1.343,
      "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
PitcherTyler Rogers
RoleMiddle Reliever
Projection Source-
Savant Quality Score0.3497
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.2800
Avg Velo80.7102
Avg Spin2080.2198
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO2
Season ERA1.6119
Season WHIP1.0746
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "TOR",
    "games": 55,
    "wins": 25,
    "losses": 30,
    "win_pct": 0.4545,
    "runs_scored": 232.0,
    "runs_allowed": 225.0,
    "run_differential": 7.0,
    "run_differential_per_game": 0.1273,
    "avg_runs_scored": 4.2182,
    "avg_runs_allowed": 4.0909,
    "offense_index": 0.9433,
    "defense_index": 1.0931,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 3.7,
      "avg_runs_allowed": 4.2,
      "run_differential": -5.0
    },
    "available": true,
    "quality_score": -0.058
  },
  "opponent": {
    "team": "NYY",
    "games": 58,
    "wins": 35,
    "losses": 23,
    "win_pct": 0.6034,
    "runs_scored": 280.0,
    "runs_allowed": 220.0,
    "run_differential": 60.0,
    "run_differential_per_game": 1.0345,
    "avg_runs_scored": 4.8276,
    "avg_runs_allowed": 3.7931,
    "offense_index": 1.0796,
    "defense_index": 1.1789,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 3.8,
      "avg_runs_allowed": 4.3,
      "run_differential": -5.0
    },
    "available": true,
    "quality_score": 0.1801
  },
  "edges": {
    "quality_edge": -0.2381,
    "offense_edge": -0.0567,
    "opponent_offense_edge": 0.0796,
    "defense_strength": 0.0931,
    "opponent_defense_weakness": -0.1789,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 0.9901,
    "run_prevention": 1.0153,
    "strikeout": 0.9865
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "643511",
    "profile": {
      "available": true,
      "pitcher_id": "643511",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 83.0,
        "k_percent": 15.9,
        "bb_percent": 8.0,
        "woba": 0.225,
        "xwoba": 0.242,
        "sweet_spot_percent": 20.9,
        "barrel_batted_rate": 0.0,
        "hard_hit_percent": 22.4,
        "avg_best_speed": 71.2027,
        "avg_hyper_speed": 91.9132,
        "whiff_percent": 13.2,
        "swing_percent": 49.3
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": 1.9752,
        "command_and_miss": -0.9921,
        "regression_edge": -0.4857,
        "xwoba_edge": 2.0,
        "barrel_edge": 1.6,
        "hard_hit_edge": 2.3286,
        "whiff_edge": -1.7857,
        "bb_edge": 0.35,
        "pitch_design_score": -0.28
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "643511",
        "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": 80.7101775536555,
          "release_spin_rate": 2080.219758635601,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 80.7101775536555,
            "release_spin_rate": 2080.219758635601,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 80.7102,
          "release_spin_rate": 2080.2198,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "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.3497,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9703,
      "strikeout_factor": 0.9504,
      "walk_factor": 0.9874,
      "homer_factor": 0.8735,
      "woba_minus_xwoba": -0.017,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "643511",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9866,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9866,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9943,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9431,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 0.9777,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 9.0,
    "ER": 3,
    "H": 9,
    "BB": 3,
    "SO": 9,
    "HR": 0,
    "ERA": 3.0,
    "WHIP": 1.3333333333333333,
    "K9": 9.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-05-20T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "643511",
  "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": 80.7101775536555,
    "release_spin_rate": 2080.219758635601,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 80.7101775536555,
      "release_spin_rate": 2080.219758635601,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 80.7102,
    "release_spin_rate": 2080.2198,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.424,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4695,
    "prior_weight": 0.5305
  },
  "role": "pitcher",
  "player_id": "643511",
  "report_date": "20260521_T",
  "season_year": 2026,
  "rows_used": 23,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.2,
        "ER": 0.0,
        "R": 0.0,
        "H": 2.0,
        "BB": 3.0,
        "SO": 5.0,
        "HR": 0.0,
        "BF": 18.0,
        "Pitches": 71.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.4,
        "BB": 0.6,
        "SO": 1.0,
        "HR": 0.0,
        "BF": 3.6,
        "Pitches": 14.2
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 1.0714,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.42857,
        "BB_per_IP": 0.64286,
        "SO_per_IP": 1.07143,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.0,
        "ER": 3.0,
        "R": 3.0,
        "H": 9.0,
        "BB": 3.0,
        "SO": 9.0,
        "HR": 0.0,
        "BF": 38.0,
        "Pitches": 152.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3,
        "R": 0.3,
        "H": 0.9,
        "BB": 0.3,
        "SO": 0.9,
        "HR": 0.0,
        "BF": 3.8,
        "Pitches": 15.2
      },
      "rates": {
        "ERA": 3.0,
        "WHIP": 1.3333,
        "ER_per_IP": 0.33333,
        "H_per_IP": 1.0,
        "BB_per_IP": 0.33333,
        "SO_per_IP": 1.0,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 23,
      "totals": {
        "IP": 22.1,
        "ER": 4.0,
        "R": 5.0,
        "H": 17.0,
        "BB": 7.0,
        "SO": 15.0,
        "HR": 0.0,
        "BF": 91.0,
        "Pitches": 316.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.1739,
        "R": 0.2174,
        "H": 0.7391,
        "BB": 0.3043,
        "SO": 0.6522,
        "HR": 0.0,
        "BF": 3.9565,
        "Pitches": 13.7391
      },
      "rates": {
        "ERA": 1.6119,
        "WHIP": 1.0746,
        "ER_per_IP": 0.1791,
        "H_per_IP": 0.76119,
        "BB_per_IP": 0.31343,
        "SO_per_IP": 0.67164,
        "HR_per_IP": 0.0
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.321,
    "predicted_H": 0.826,
    "predicted_BB": 0.42,
    "predicted_SO": 0.958,
    "predicted_HR": 0.069,
    "predicted_ERA": 2.893,
    "predicted_WHIP": 1.2452
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5741,
  "form_weight": 0.4259,
  "form_reliability": 0.4695,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.424,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4695,
    "prior_weight": 0.5305
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.321,
      "final": 0.1367,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.826,
      "final": 0.3518,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.42,
      "final": 0.1789,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 0.958,
      "final": 1.5562,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.069,
      "final": 0.0294,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.893,
      "final": 2.893,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2452,
      "final": 1.2452,
      "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
PitcherJeff Hoffman
RoleMiddle Reliever
Projection Source-
Savant Quality Score0.3409
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.1557
Avg Velo92.4634
Avg Spin2379.8305
HB Inches0
IVB Inches0
Release Extension0
Pre IP0.2000
Pre ER2
Pre H2
Pre BB1
Pre SO1
Season ERA5.5714
Season WHIP1.7619
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "TOR",
    "games": 55,
    "wins": 25,
    "losses": 30,
    "win_pct": 0.4545,
    "runs_scored": 232.0,
    "runs_allowed": 225.0,
    "run_differential": 7.0,
    "run_differential_per_game": 0.1273,
    "avg_runs_scored": 4.2182,
    "avg_runs_allowed": 4.0909,
    "offense_index": 0.9433,
    "defense_index": 1.0931,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 3.7,
      "avg_runs_allowed": 4.2,
      "run_differential": -5.0
    },
    "available": true,
    "quality_score": -0.058
  },
  "opponent": {
    "team": "NYY",
    "games": 58,
    "wins": 35,
    "losses": 23,
    "win_pct": 0.6034,
    "runs_scored": 280.0,
    "runs_allowed": 220.0,
    "run_differential": 60.0,
    "run_differential_per_game": 1.0345,
    "avg_runs_scored": 4.8276,
    "avg_runs_allowed": 3.7931,
    "offense_index": 1.0796,
    "defense_index": 1.1789,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 3.8,
      "avg_runs_allowed": 4.3,
      "run_differential": -5.0
    },
    "available": true,
    "quality_score": 0.1801
  },
  "edges": {
    "quality_edge": -0.2381,
    "offense_edge": -0.0567,
    "opponent_offense_edge": 0.0796,
    "defense_strength": 0.0931,
    "opponent_defense_weakness": -0.1789,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 0.9901,
    "run_prevention": 1.0153,
    "strikeout": 0.9865
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "656546",
    "profile": {
      "available": true,
      "pitcher_id": "656546",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 96.0,
        "k_percent": 35.0,
        "bb_percent": 8.0,
        "woba": 0.373,
        "xwoba": 0.279,
        "sweet_spot_percent": 27.3,
        "barrel_batted_rate": 7.4,
        "hard_hit_percent": 30.9,
        "avg_best_speed": 79.432,
        "avg_hyper_speed": 93.0206,
        "whiff_percent": 39.6,
        "swing_percent": 52.5
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": 0.251,
        "command_and_miss": 1.5557,
        "regression_edge": 2.0,
        "xwoba_edge": 0.9429,
        "barrel_edge": -0.0444,
        "hard_hit_edge": 1.1143,
        "whiff_edge": 1.9857,
        "bb_edge": 0.35,
        "pitch_design_score": 0.1557
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "656546",
        "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.46343324259506,
          "release_spin_rate": 2379.8304776539608,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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.46343324259506,
            "release_spin_rate": 2379.8304776539608,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.4634,
          "release_spin_rate": 2379.8305,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.1557,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.112,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.3409,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.971,
      "strikeout_factor": 1.0674,
      "walk_factor": 0.9874,
      "homer_factor": 0.9688,
      "woba_minus_xwoba": 0.094,
      "regression_flag": "positive_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "656546",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 0.9869,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9869,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9943,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.986,
        "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": 9.1,
    "ER": 4,
    "H": 13,
    "BB": 1,
    "SO": 10,
    "HR": 1,
    "ERA": 3.8571428571428577,
    "WHIP": 1.5000000000000002,
    "K9": 9.642857142857144,
    "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-05-20T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "656546",
  "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.46343324259506,
    "release_spin_rate": 2379.8304776539608,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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.46343324259506,
      "release_spin_rate": 2379.8304776539608,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.4634,
    "release_spin_rate": 2379.8305,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1557,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.112,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.16,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4542,
    "prior_weight": 0.5458
  },
  "role": "pitcher",
  "player_id": "656546",
  "report_date": "20260521_T",
  "season_year": 2026,
  "rows_used": 23,
  "reference_playing_time": 0.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.1,
        "ER": 3.0,
        "R": 4.0,
        "H": 7.0,
        "BB": 1.0,
        "SO": 5.0,
        "HR": 1.0,
        "BF": 21.0,
        "Pitches": 93.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.6,
        "R": 0.8,
        "H": 1.4,
        "BB": 0.2,
        "SO": 1.0,
        "HR": 0.2,
        "BF": 4.2,
        "Pitches": 18.6
      },
      "rates": {
        "ERA": 6.2308,
        "WHIP": 1.8462,
        "ER_per_IP": 0.69231,
        "H_per_IP": 1.61538,
        "BB_per_IP": 0.23077,
        "SO_per_IP": 1.15385,
        "HR_per_IP": 0.23077
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.1,
        "ER": 4.0,
        "R": 5.0,
        "H": 13.0,
        "BB": 1.0,
        "SO": 10.0,
        "HR": 1.0,
        "BF": 41.0,
        "Pitches": 161.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.5,
        "H": 1.3,
        "BB": 0.1,
        "SO": 1.0,
        "HR": 0.1,
        "BF": 4.1,
        "Pitches": 16.1
      },
      "rates": {
        "ERA": 3.8571,
        "WHIP": 1.5,
        "ER_per_IP": 0.42857,
        "H_per_IP": 1.39286,
        "BB_per_IP": 0.10714,
        "SO_per_IP": 1.07143,
        "HR_per_IP": 0.10714
      }
    },
    "season": {
      "games": 23,
      "totals": {
        "IP": 21.0,
        "ER": 13.0,
        "R": 16.0,
        "H": 29.0,
        "BB": 8.0,
        "SO": 35.0,
        "HR": 3.0,
        "BF": 102.0,
        "Pitches": 402.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.5652,
        "R": 0.6957,
        "H": 1.2609,
        "BB": 0.3478,
        "SO": 1.5217,
        "HR": 0.1304,
        "BF": 4.4348,
        "Pitches": 17.4783
      },
      "rates": {
        "ERA": 5.5714,
        "WHIP": 1.7619,
        "ER_per_IP": 0.61905,
        "H_per_IP": 1.38095,
        "BB_per_IP": 0.38095,
        "SO_per_IP": 1.66667,
        "HR_per_IP": 0.14286
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 0.2,
    "predicted_ER": 0.333,
    "predicted_H": 0.757,
    "predicted_BB": 0.193,
    "predicted_SO": 0.685,
    "predicted_HR": 0.094,
    "predicted_ERA": 4.7063,
    "predicted_WHIP": 1.4949
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5806,
  "form_weight": 0.4194,
  "form_reliability": 0.4542,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.16,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4542,
    "prior_weight": 0.5458
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.1,
      "form": 0.2,
      "final": 0.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 2.0,
      "form": 0.333,
      "final": 1.3009,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 0.757,
      "final": 1.4787,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.193,
      "final": 0.6615,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.685,
      "final": 0.8679,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.094,
      "final": 0.0394,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.7063,
      "final": 4.7063,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.4949,
      "final": 1.4949,
      "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."
}
Daulton Varsho (662139) · BATTER · CF · Team TOR
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 182
All-history rows before 20260521: 182
System season_avg: 0.2910
Data season_avg (2026 season-to-date): 0.2905
Diff (system - data): 0.0005
System opponent_avg: 0.3580

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2100.0000.000Hitting_2B0.2091.000-0.209-1.000
predicted_3B0.0220.0000.000Hitting_3B0.0220.000-0.0220.000
predicted_AB3.8203.0008.000Hitting_AB3.7644.000-0.764-1.000
predicted_AVG0.2700.3330.375Hitting_AVG0.2910.2500.0430.083
predicted_BB0.3591.0001.000Hitting_BB0.3570.0000.6431.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H1.0301.0003.000Hitting_H1.0931.000-0.0930.000
predicted_HR0.1000.0000.000Hitting_HR0.1320.000-0.1320.000
predicted_OBP0.3650.5000.444Hitting_OBP0.3590.2500.1410.250
predicted_R0.5470.0001.000Hitting_R0.5440.000-0.5440.000
predicted_RBI0.4200.0001.000Hitting_RBI0.3850.000-0.3850.000
predicted_SLG0.4620.3330.375Hitting_SLG0.4630.500-0.129-0.167
predicted_SO0.7131.0002.000Hitting_SO0.7093.0000.291-2.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics8
Boosted Metrics3
Deboosted Metrics5
Better Metrics2
Worse Metrics6
Biggest Boostpredicted_BB: 0.3590 -> 1.0000 (boost 0.6410, better)
Biggest Deboostpredicted_AB: 3.8200 -> 3.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_blend11110101predicted_AB: 3.8200 -> 8.3613 (boost 4.5413, 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_snapshot51414predicted_AVG: 0.3041 -> 0.3181 (boost 0.0140, better)predicted_H: 2.7407 -> 2.6598 (deboost -0.0809, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling83544predicted_H: 2.6598 -> 3.0000 (boost 0.3402, better)predicted_SO: 1.5401 -> 1.0000 (deboost -0.5401, better)AB rounded to 8 (raw=8.36), rates preserved: AVG=0.318 HR/AB=0.028
5bvp_blend11001predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse)-Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.375)
6consistency_constraints10101-predicted_R: 1.1455 -> 1.0000 (deboost -0.1455, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context32121predicted_OBP: 0.3699 -> 0.4440 (boost 0.0741, better)predicted_SLG: 0.4634 -> 0.3750 (deboost -0.0884, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference50514-predicted_AB: 8.0000 -> 3.0000 (deboost -5.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final31212predicted_SLG: 0.3750 -> 0.4634 (boost 0.0884, better)predicted_OBP: 0.4440 -> 0.3699 (deboost -0.0741, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "662139",
  "player_name": "Daulton Varsho",
  "position": "CF",
  "team": "TOR",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.21,
        "predicted_3B": 0.022,
        "predicted_AB": 3.82,
        "predicted_AVG": 0.27,
        "predicted_BB": 0.359,
        "predicted_H": 1.03,
        "predicted_HR": 0.1,
        "predicted_OBP": 0.365,
        "predicted_R": 0.547,
        "predicted_RBI": 0.42,
        "predicted_SLG": 0.462,
        "predicted_SO": 0.713
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.4408,
        "predicted_3B": 0.0422,
        "predicted_AB": 8.3613,
        "predicted_AVG": 0.3041,
        "predicted_BB": 0.693,
        "predicted_H": 2.7407,
        "predicted_HBP": 0.137,
        "predicted_HR": 0.2387,
        "predicted_OBP": 0.3826,
        "predicted_R": 1.2053,
        "predicted_RBI": 0.7764,
        "predicted_SLG": 0.4776,
        "predicted_SO": 1.5258
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.21,
          "after": 0.4408,
          "delta": 0.2308,
          "percent_delta": 1.099,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.022,
          "after": 0.0422,
          "delta": 0.0202,
          "percent_delta": 0.9182,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.82,
          "after": 8.3613,
          "delta": 4.5413,
          "percent_delta": 1.1888,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.27,
          "after": 0.3041,
          "delta": 0.0341,
          "percent_delta": 0.1263,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.359,
          "after": 0.693,
          "delta": 0.334,
          "percent_delta": 0.9304,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.03,
          "after": 2.7407,
          "delta": 1.7107,
          "percent_delta": 1.6609,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1,
          "after": 0.2387,
          "delta": 0.1387,
          "percent_delta": 1.387,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.365,
          "after": 0.3826,
          "delta": 0.0176,
          "percent_delta": 0.0482,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.547,
          "after": 1.2053,
          "delta": 0.6583,
          "percent_delta": 1.2035,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.42,
          "after": 0.7764,
          "delta": 0.3564,
          "percent_delta": 0.8486,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.462,
          "after": 0.4776,
          "delta": 0.0156,
          "percent_delta": 0.0338,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.713,
          "after": 1.5258,
          "delta": 0.8128,
          "percent_delta": 1.14,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 11,
        "boosted_metrics": 11,
        "deboosted_metrics": 0,
        "better_metrics": 10,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.82,
          "after": 8.3613,
          "delta": 4.5413,
          "percent_delta": 1.1888,
          "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": 2,
        "last_10": 3,
        "season": 46
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.4408,
        "predicted_3B": 0.0422,
        "predicted_AB": 8.3613,
        "predicted_AVG": 0.3181,
        "predicted_BB": 0.6865,
        "predicted_H": 2.6598,
        "predicted_HBP": 0.137,
        "predicted_HR": 0.23,
        "predicted_OBP": 0.3699,
        "predicted_R": 1.1455,
        "predicted_RBI": 0.7379,
        "predicted_SLG": 0.4634,
        "predicted_SO": 1.5401
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.4408,
          "after": 0.4408,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0422,
          "after": 0.0422,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.3613,
          "after": 8.3613,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3041,
          "after": 0.3181,
          "delta": 0.014,
          "percent_delta": 0.046,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.693,
          "after": 0.6865,
          "delta": -0.0065,
          "percent_delta": -0.0094,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.7407,
          "after": 2.6598,
          "delta": -0.0809,
          "percent_delta": -0.0295,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.137,
          "after": 0.137,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2387,
          "after": 0.23,
          "delta": -0.0087,
          "percent_delta": -0.0364,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3826,
          "after": 0.3699,
          "delta": -0.0127,
          "percent_delta": -0.0332,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.2053,
          "after": 1.1455,
          "delta": -0.0598,
          "percent_delta": -0.0496,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7764,
          "after": 0.7379,
          "delta": -0.0385,
          "percent_delta": -0.0496,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4776,
          "after": 0.4634,
          "delta": -0.0142,
          "percent_delta": -0.0297,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.5258,
          "after": 1.5401,
          "delta": 0.0143,
          "percent_delta": 0.0094,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.3041,
          "after": 0.3181,
          "delta": 0.014,
          "percent_delta": 0.046,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 2.7407,
          "after": 2.6598,
          "delta": -0.0809,
          "percent_delta": -0.0295,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 8 (raw=8.36), rates preserved: AVG=0.318 HR/AB=0.028",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 1.0,
        "predicted_H": 3.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.4408,
          "after": 0.0,
          "delta": -0.4408,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0422,
          "after": 0.0,
          "delta": -0.0422,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.3613,
          "after": 8.0,
          "delta": -0.3613,
          "percent_delta": -0.0432,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.6865,
          "after": 1.0,
          "delta": 0.3135,
          "percent_delta": 0.4567,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.6598,
          "after": 3.0,
          "delta": 0.3402,
          "percent_delta": 0.1279,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.137,
          "after": 0.0,
          "delta": -0.137,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.23,
          "after": 0.0,
          "delta": -0.23,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7379,
          "after": 1.0,
          "delta": 0.2621,
          "percent_delta": 0.3552,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.5401,
          "after": 1.0,
          "delta": -0.5401,
          "percent_delta": -0.3507,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 3,
        "deboosted_metrics": 5,
        "better_metrics": 4,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 2.6598,
          "after": 3.0,
          "delta": 0.3402,
          "percent_delta": 0.1279,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.5401,
          "after": 1.0,
          "delta": -0.5401,
          "percent_delta": -0.3507,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.375)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 1.0,
        "predicted_H": 3.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.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": 8.0,
          "after": 8.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": 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_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": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9158,
        "bvp": 0.0842
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.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": 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": 8.0,
          "after": 8.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": 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_R",
          "before": 1.1455,
          "after": 1.0,
          "delta": -0.1455,
          "percent_delta": -0.127,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.1455,
          "after": 1.0,
          "delta": -0.1455,
          "percent_delta": -0.127,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_AVG": 0.375,
        "predicted_BB": 1.0,
        "predicted_H": 3.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.444,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.375,
        "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": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3181,
          "after": 0.375,
          "delta": 0.0569,
          "percent_delta": 0.1789,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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_OBP",
          "before": 0.3699,
          "after": 0.444,
          "delta": 0.0741,
          "percent_delta": 0.2003,
          "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.4634,
          "after": 0.375,
          "delta": -0.0884,
          "percent_delta": -0.1908,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.3699,
          "after": 0.444,
          "delta": 0.0741,
          "percent_delta": 0.2003,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4634,
          "after": 0.375,
          "delta": -0.0884,
          "percent_delta": -0.1908,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 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": 8.0,
          "after": 3.0,
          "delta": -5.0,
          "percent_delta": -0.625,
          "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": 1.0,
          "delta": -2.0,
          "percent_delta": -0.6667,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 3.0,
          "delta": -5.0,
          "percent_delta": -0.625,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.3181,
        "predicted_BB": 1.0,
        "predicted_CF": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3699,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4634,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.375,
          "after": 0.3181,
          "delta": -0.0569,
          "percent_delta": -0.1517,
          "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.444,
          "after": 0.3699,
          "delta": -0.0741,
          "percent_delta": -0.167,
          "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.375,
          "after": 0.4634,
          "delta": 0.0884,
          "percent_delta": 0.2358,
          "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.375,
          "after": 0.4634,
          "delta": 0.0884,
          "percent_delta": 0.2358,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.444,
          "after": 0.3699,
          "delta": -0.0741,
          "percent_delta": -0.167,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.21,
        "after": 0.0,
        "delta": -0.21,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.022,
        "after": 0.0,
        "delta": -0.022,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.82,
        "after": 3.0,
        "delta": -0.82,
        "percent_delta": -0.2147,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.27,
        "after": 0.3181,
        "delta": 0.0481,
        "percent_delta": 0.1781,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.359,
        "after": 1.0,
        "delta": 0.641,
        "percent_delta": 1.7855,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.03,
        "after": 1.0,
        "delta": -0.03,
        "percent_delta": -0.0291,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.1,
        "after": 0.0,
        "delta": -0.1,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.365,
        "after": 0.3699,
        "delta": 0.0049,
        "percent_delta": 0.0134,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "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.42,
        "after": 0.0,
        "delta": -0.42,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.462,
        "after": 0.4634,
        "delta": 0.0014,
        "percent_delta": 0.003,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.713,
        "after": 1.0,
        "delta": 0.287,
        "percent_delta": 0.4025,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 8,
      "boosted_metrics": 3,
      "deboosted_metrics": 5,
      "better_metrics": 2,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.359,
        "after": 1.0,
        "delta": 0.641,
        "percent_delta": 1.7855,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 3.82,
        "after": 3.0,
        "delta": -0.82,
        "percent_delta": -0.2147,
        "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.210-
predicted_3B0.022-
predicted_AB3.820-
predicted_AVG0.270-
predicted_BB0.359-
predicted_H1.030-
predicted_HR0.100-
predicted_OBP0.365-
predicted_R0.547-
predicted_RBI0.420-
predicted_SLG0.462-
predicted_SO0.713-
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.4410.231
predicted_3B0.0420.020
predicted_AB8.3614.541
predicted_AVG0.3040.034
predicted_BB0.6930.334
predicted_H2.7411.711
predicted_HBP0.137-
predicted_HR0.2390.139
predicted_OBP0.3830.018
predicted_R1.2050.658
predicted_RBI0.7760.356
predicted_SLG0.4780.016
predicted_SO1.5260.813
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.4410.000
predicted_3B0.0420.000
predicted_AB8.3610.000
predicted_AVG0.3180.014
predicted_BB0.686-0.006
predicted_H2.660-0.081
predicted_HBP0.1370.000
predicted_HR0.230-0.009
predicted_OBP0.370-0.013
predicted_R1.145-0.060
predicted_RBI0.738-0.038
predicted_SLG0.463-0.014
predicted_SO1.5400.014
4. ab_floor_and_scaling

AB rounded to 8 (raw=8.36), rates preserved: AVG=0.318 HR/AB=0.028

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB8.000-
BB1.000-
H3.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
5. bvp_blend

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB8.0000.000
BB1.0000.000
H3.0000.000
HR0.0000.000
RBI1.0000.000
SO2.0001.000
6. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB8.0000.000
BB1.0000.000
CS0.000-
H3.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
7. 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.441
predicted_3B0.000-0.042
predicted_AB8.000-0.361
predicted_AVG0.3750.057
predicted_BB1.0000.314
predicted_H3.0000.340
predicted_HR0.000-0.230
predicted_OBP0.4440.074
predicted_R1.000-0.145
predicted_RBI1.0000.262
predicted_SLG0.375-0.088
predicted_SO2.0000.460
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-5.000
BB1.0000.000
CS0.0000.000
H1.000-2.000
HBP0.0000.000
HR0.0000.000
PA4.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: 181
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-24.00017.0001.0000.0000.0000.0004.0000.0003.0000.70830.70830.75000.70830.00000.00000.00000.1250
last_100.203-45.00025.0001.0000.0000.0000.0005.0000.0007.0000.55560.55560.57780.55560.00000.00000.00000.1556
season0.6046-685.000199.00038.0004.00024.00070.00099.00065.000129.0000.29050.35880.46280.29050.03500.10220.09490.1883
Weighted Prediction From Real Data
MetricValue
predicted_2B0.7360
predicted_3B0.0680
predicted_AB14.1680
predicted_AVG0.3478
predicted_BB1.1200
predicted_H4.9280
predicted_HBP0.1370
predicted_HR0.4160
predicted_OBP0.4050
predicted_R2.0470
predicted_RBI1.2320
predicted_SLG0.4975
predicted_SO2.5650
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.21000.73600.4408model_form_blend
predicted_3B0.02200.06800.0422model_form_blend
predicted_AB3.820014.16808.3613model_form_blend
predicted_AVG0.27000.34780.3041model_form_blend
predicted_BB0.35901.12000.6930model_form_blend
predicted_H1.03004.92802.7407model_form_blend
predicted_HBP-0.13700.1370form_only
predicted_HR0.10000.41600.2387model_form_blend
predicted_OBP0.36500.40500.3826model_form_blend
predicted_R0.54702.04701.2053model_form_blend
predicted_RBI0.42001.23200.7764model_form_blend
predicted_SLG0.46200.49750.4776model_form_blend
predicted_SO0.71302.56501.5258model_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 date182
Season rows before report date182
Report year2026
Profile rows used181
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO3
Hitting_TB2
Hitting_battingOrder3
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedCF
gameID20260520_TOR@NYY
game_typefull
mlbID662139
playerID662139
playerNameDaulton Varsho
posCF
startedTrue
startingPositionCF
teamTOR
teamID29
game_date2026-05-20
sl_k_percent17.9
sl_bb_percent8.4
sl_woba0.346
sl_xwoba0.323
sl_xba0.272
sl_xslg0.396
sl_sweet_spot_percent38.5
sl_barrel_batted_rate6.9
sl_hard_hit_percent40.8
sl_exit_velocity_avg86.8
sl_launch_angle_avg14.8
sl_whiff_percent20.0
sl_swing_percent55.4
Kazuma Okamoto (672960) · BATTER · 3B · Team TOR
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 195
All-history rows before 20260521: 195
System season_avg: 0.2280
Data season_avg (2026 season-to-date): 0.2281
Diff (system - data): -0.0001
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.1080.0000.000Hitting_2B0.1080.000-0.1080.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.9504.0009.000Hitting_AB3.7544.0000.2460.000
predicted_AVG0.2120.0000.222Hitting_AVG0.2280.000-0.2280.000
predicted_BB0.5080.0001.000Hitting_BB0.5080.000-0.5080.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.8300.0002.000Hitting_H0.8560.000-0.8560.000
predicted_HR0.1500.0000.000Hitting_HR0.2310.000-0.2310.000
predicted_OBP0.2760.0000.300Hitting_OBP0.3180.000-0.3180.000
predicted_R0.5640.0001.000Hitting_R0.5640.000-0.5640.000
predicted_RBI0.4400.0001.000Hitting_RBI0.6150.000-0.6150.000
predicted_SLG0.3660.0000.222Hitting_SLG0.4410.000-0.4410.000
predicted_SO1.2671.0003.000Hitting_SO1.2673.000-0.267-2.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_OBP: 0.2760 -> 0.2910 (boost 0.0150, better)
Biggest Deboostpredicted_H: 0.8300 -> 0.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_blend109182predicted_AB: 3.9500 -> 8.5692 (boost 4.6192, better)predicted_AVG: 0.2120 -> 0.2056 (deboost -0.0064, worse)Final model 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_snapshot61515predicted_OBP: 0.2846 -> 0.2910 (boost 0.0064, better)predicted_R: 1.3259 -> 1.2601 (deboost -0.0658, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling73425predicted_AB: 8.5692 -> 9.0000 (boost 0.4308, better)predicted_HR: 0.3911 -> 0.0000 (deboost -0.3911, worse)AB rounded to 9 (raw=8.57), rates preserved: AVG=0.195 HR/AB=0.046
5consistency_constraints10101-predicted_R: 1.2601 -> 1.0000 (deboost -0.2601, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context32121predicted_AVG: 0.1949 -> 0.2220 (boost 0.0271, better)predicted_SLG: 0.3575 -> 0.2220 (deboost -0.1355, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference60615-predicted_AB: 9.0000 -> 4.0000 (deboost -5.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final31212predicted_SLG: 0.2220 -> 0.3575 (boost 0.1355, better)predicted_AVG: 0.2220 -> 0.1949 (deboost -0.0271, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "672960",
  "player_name": "Kazuma Okamoto",
  "position": "3B",
  "team": "TOR",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.108,
        "predicted_3B": 0.0,
        "predicted_AB": 3.95,
        "predicted_AVG": 0.212,
        "predicted_BB": 0.508,
        "predicted_H": 0.83,
        "predicted_HR": 0.15,
        "predicted_OBP": 0.276,
        "predicted_R": 0.564,
        "predicted_RBI": 0.44,
        "predicted_SLG": 0.366,
        "predicted_SO": 1.267
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.218,
        "predicted_3B": 0.0009,
        "predicted_AB": 8.5692,
        "predicted_AVG": 0.2056,
        "predicted_BB": 1.1727,
        "predicted_H": 1.7208,
        "predicted_HBP": 0.004,
        "predicted_HR": 0.406,
        "predicted_OBP": 0.2846,
        "predicted_R": 1.3259,
        "predicted_RBI": 1.1139,
        "predicted_SLG": 0.3697,
        "predicted_SO": 2.8928
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.108,
          "after": 0.218,
          "delta": 0.11,
          "percent_delta": 1.0185,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.95,
          "after": 8.5692,
          "delta": 4.6192,
          "percent_delta": 1.1694,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.212,
          "after": 0.2056,
          "delta": -0.0064,
          "percent_delta": -0.0302,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.508,
          "after": 1.1727,
          "delta": 0.6647,
          "percent_delta": 1.3085,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.83,
          "after": 1.7208,
          "delta": 0.8908,
          "percent_delta": 1.0733,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.15,
          "after": 0.406,
          "delta": 0.256,
          "percent_delta": 1.7067,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.276,
          "after": 0.2846,
          "delta": 0.0086,
          "percent_delta": 0.0312,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.564,
          "after": 1.3259,
          "delta": 0.7619,
          "percent_delta": 1.3509,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.44,
          "after": 1.1139,
          "delta": 0.6739,
          "percent_delta": 1.5316,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.366,
          "after": 0.3697,
          "delta": 0.0037,
          "percent_delta": 0.0101,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.267,
          "after": 2.8928,
          "delta": 1.6258,
          "percent_delta": 1.2832,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 10,
        "boosted_metrics": 9,
        "deboosted_metrics": 1,
        "better_metrics": 8,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.95,
          "after": 8.5692,
          "delta": 4.6192,
          "percent_delta": 1.1694,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.212,
          "after": 0.2056,
          "delta": -0.0064,
          "percent_delta": -0.0302,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 2,
        "last_10": 3,
        "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.218,
        "predicted_3B": 0.0009,
        "predicted_AB": 8.5692,
        "predicted_AVG": 0.1949,
        "predicted_BB": 1.1617,
        "predicted_H": 1.67,
        "predicted_HBP": 0.004,
        "predicted_HR": 0.3911,
        "predicted_OBP": 0.291,
        "predicted_R": 1.2601,
        "predicted_RBI": 1.0587,
        "predicted_SLG": 0.3575,
        "predicted_SO": 2.92
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.218,
          "after": 0.218,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.5692,
          "after": 8.5692,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2056,
          "after": 0.1949,
          "delta": -0.0107,
          "percent_delta": -0.052,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.1727,
          "after": 1.1617,
          "delta": -0.011,
          "percent_delta": -0.0094,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.7208,
          "after": 1.67,
          "delta": -0.0508,
          "percent_delta": -0.0295,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.004,
          "after": 0.004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.406,
          "after": 0.3911,
          "delta": -0.0149,
          "percent_delta": -0.0367,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2846,
          "after": 0.291,
          "delta": 0.0064,
          "percent_delta": 0.0225,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.3259,
          "after": 1.2601,
          "delta": -0.0658,
          "percent_delta": -0.0496,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.1139,
          "after": 1.0587,
          "delta": -0.0552,
          "percent_delta": -0.0496,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3697,
          "after": 0.3575,
          "delta": -0.0122,
          "percent_delta": -0.033,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.8928,
          "after": 2.92,
          "delta": 0.0272,
          "percent_delta": 0.0094,
          "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_OBP",
          "before": 0.2846,
          "after": 0.291,
          "delta": 0.0064,
          "percent_delta": 0.0225,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.3259,
          "after": 1.2601,
          "delta": -0.0658,
          "percent_delta": -0.0496,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 9 (raw=8.57), rates preserved: AVG=0.195 HR/AB=0.046",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.218,
          "after": 0.0,
          "delta": -0.218,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.5692,
          "after": 9.0,
          "delta": 0.4308,
          "percent_delta": 0.0503,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.1617,
          "after": 1.0,
          "delta": -0.1617,
          "percent_delta": -0.1392,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.67,
          "after": 2.0,
          "delta": 0.33,
          "percent_delta": 0.1976,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.004,
          "after": 0.0,
          "delta": -0.004,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.3911,
          "after": 0.0,
          "delta": -0.3911,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0587,
          "after": 1.0,
          "delta": -0.0587,
          "percent_delta": -0.0554,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.92,
          "after": 3.0,
          "delta": 0.08,
          "percent_delta": 0.0274,
          "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": 8.5692,
          "after": 9.0,
          "delta": 0.4308,
          "percent_delta": 0.0503,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.3911,
          "after": 0.0,
          "delta": -0.3911,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.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": 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": 9.0,
          "after": 9.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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.2601,
          "after": 1.0,
          "delta": -0.2601,
          "percent_delta": -0.2064,
          "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": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.2601,
          "after": 1.0,
          "delta": -0.2601,
          "percent_delta": -0.2064,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_AVG": 0.222,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.222,
        "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": 9.0,
          "after": 9.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1949,
          "after": 0.222,
          "delta": 0.0271,
          "percent_delta": 0.139,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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.291,
          "after": 0.3,
          "delta": 0.009,
          "percent_delta": 0.0309,
          "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.3575,
          "after": 0.222,
          "delta": -0.1355,
          "percent_delta": -0.379,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.1949,
          "after": 0.222,
          "delta": 0.0271,
          "percent_delta": 0.139,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3575,
          "after": 0.222,
          "delta": -0.1355,
          "percent_delta": -0.379,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 4.0,
          "delta": -5.0,
          "percent_delta": -0.5556,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.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": 3.0,
          "after": 1.0,
          "delta": -2.0,
          "percent_delta": -0.6667,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 0,
        "deboosted_metrics": 6,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 4.0,
          "delta": -5.0,
          "percent_delta": -0.5556,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.1949,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.291,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3575,
        "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.222,
          "after": 0.1949,
          "delta": -0.0271,
          "percent_delta": -0.1221,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.291,
          "delta": -0.009,
          "percent_delta": -0.03,
          "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.222,
          "after": 0.3575,
          "delta": 0.1355,
          "percent_delta": 0.6102,
          "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.222,
          "after": 0.3575,
          "delta": 0.1355,
          "percent_delta": 0.6102,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.222,
          "after": 0.1949,
          "delta": -0.0271,
          "percent_delta": -0.1221,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.108,
        "after": 0.0,
        "delta": -0.108,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.95,
        "after": 4.0,
        "delta": 0.05,
        "percent_delta": 0.0127,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AVG",
        "before": 0.212,
        "after": 0.1949,
        "delta": -0.0171,
        "percent_delta": -0.0807,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.508,
        "after": 0.0,
        "delta": -0.508,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.83,
        "after": 0.0,
        "delta": -0.83,
        "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.276,
        "after": 0.291,
        "delta": 0.015,
        "percent_delta": 0.0543,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.564,
        "after": 0.0,
        "delta": -0.564,
        "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.366,
        "after": 0.3575,
        "delta": -0.0085,
        "percent_delta": -0.0232,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.267,
        "after": 1.0,
        "delta": -0.267,
        "percent_delta": -0.2107,
        "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_OBP",
        "before": 0.276,
        "after": 0.291,
        "delta": 0.015,
        "percent_delta": 0.0543,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.83,
        "after": 0.0,
        "delta": -0.83,
        "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.108-
predicted_3B0.000-
predicted_AB3.950-
predicted_AVG0.212-
predicted_BB0.508-
predicted_H0.830-
predicted_HR0.150-
predicted_OBP0.276-
predicted_R0.564-
predicted_RBI0.440-
predicted_SLG0.366-
predicted_SO1.267-
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.110
predicted_3B0.0010.001
predicted_AB8.5694.619
predicted_AVG0.206-0.006
predicted_BB1.1730.665
predicted_H1.7210.891
predicted_HBP0.004-
predicted_HR0.4060.256
predicted_OBP0.2850.009
predicted_R1.3260.762
predicted_RBI1.1140.674
predicted_SLG0.3700.004
predicted_SO2.8931.626
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.0010.000
predicted_AB8.5690.000
predicted_AVG0.195-0.011
predicted_BB1.162-0.011
predicted_H1.670-0.051
predicted_HBP0.0040.000
predicted_HR0.391-0.015
predicted_OBP0.2910.006
predicted_R1.260-0.066
predicted_RBI1.059-0.055
predicted_SLG0.357-0.012
predicted_SO2.9200.027
4. ab_floor_and_scaling

AB rounded to 9 (raw=8.57), rates preserved: AVG=0.195 HR/AB=0.046

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB9.000-
BB1.000-
H2.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO3.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB9.0000.000
BB1.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO3.0000.000
6. 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.001
predicted_AB9.0000.431
predicted_AVG0.2220.027
predicted_BB1.000-0.162
predicted_H2.0000.330
predicted_HR0.000-0.391
predicted_OBP0.3000.009
predicted_R1.000-0.260
predicted_RBI1.000-0.059
predicted_SLG0.222-0.135
predicted_SO3.0000.080
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 195
Reference playing time: 3.950
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-20.0000.0000.0000.0000.0000.0004.0004.0007.0000.00000.16670.00000.00000.00000.00000.20000.3500
last_100.203-40.0004.0000.0000.0000.0000.0009.0005.00020.0000.10000.20000.10000.10000.00000.00000.12500.5000
season0.6047-732.000167.00021.0000.00045.000120.000110.00099.000247.0000.22810.31820.44130.22810.06150.16390.13530.3374
Weighted Prediction From Real Data
MetricValue
predicted_2B0.3580
predicted_3B0.0020
predicted_AB14.4510
predicted_AVG0.1975
predicted_BB2.0190
predicted_H2.8550
predicted_HBP0.0040
predicted_HR0.7320
predicted_OBP0.2955
predicted_R2.2960
predicted_RBI1.9720
predicted_SLG0.3745
predicted_SO4.9630
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.10800.35800.2180model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB3.950014.45108.5692model_form_blend
predicted_AVG0.21200.19750.2056model_form_blend
predicted_BB0.50802.01901.1727model_form_blend
predicted_H0.83002.85501.7208model_form_blend
predicted_HBP-0.00400.0040form_only
predicted_HR0.15000.73200.4060model_form_blend
predicted_OBP0.27600.29550.2846model_form_blend
predicted_R0.56402.29601.3259model_form_blend
predicted_RBI0.44001.97201.1139model_form_blend
predicted_SLG0.36600.37450.3697model_form_blend
predicted_SO1.26704.96302.8928model_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 date195
Season rows before report date195
Report year2026
Profile rows used195
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.228

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_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
allPositionsPlayed3B
gameID20260520_TOR@NYY
game_typefull
mlbID672960
playerID672960
playerNameKazuma Okamoto
pos3B
startedTrue
startingPosition3B
teamTOR
teamID29
game_date2026-05-20
sl_k_percent29.4
sl_bb_percent11.3
sl_woba0.332
sl_xwoba0.349
sl_xba0.237
sl_xslg0.475
sl_sweet_spot_percent33.9
sl_barrel_batted_rate14.8
sl_hard_hit_percent53.9
sl_exit_velocity_avg93.3
sl_launch_angle_avg18.2
sl_whiff_percent31.7
sl_swing_percent44.1
Vladimir Guerrero Jr. (665489) · BATTER · 1B · Team TOR
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 204
All-history rows before 20260521: 204
System season_avg: 0.2860
Data season_avg (2026 season-to-date): 0.2857
Diff (system - data): 0.0003
System opponent_avg: 0.6110

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1570.0000.000Hitting_2B0.1570.000-0.1570.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.0202.0008.000Hitting_AB3.7063.000-1.706-1.000
predicted_AVG0.2360.0000.250Hitting_AVG0.2860.333-0.286-0.333
predicted_BB0.5292.0001.000Hitting_BB0.5290.0001.4712.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.9500.0002.000Hitting_H1.0591.000-1.059-1.000
predicted_HR0.1200.0000.000Hitting_HR0.0590.000-0.0590.000
predicted_OBP0.3150.5000.333Hitting_OBP0.3800.2500.1200.250
predicted_R0.6180.0001.000Hitting_R0.6180.000-0.6180.000
predicted_RBI0.4900.0001.000Hitting_RBI0.4751.000-0.475-1.000
predicted_SLG0.3710.0000.250Hitting_SLG0.3760.333-0.376-0.333
predicted_SO0.4610.0001.000Hitting_SO0.4610.000-0.4610.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_BB: 0.5290 -> 2.0000 (boost 1.4710, better)
Biggest Deboostpredicted_AB: 4.0200 -> 2.0000 (deboost -2.0200, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend109182predicted_AB: 4.0200 -> 8.4070 (boost 4.3870, better)predicted_SLG: 0.3710 -> 0.3535 (deboost -0.0175, worse)Final model 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_snapshot50505-predicted_H: 2.0930 -> 2.0313 (deboost -0.0617, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling60615-predicted_HBP: 0.7240 -> 0.0000 (deboost -0.7240, worse)AB rounded to 8 (raw=8.41), rates preserved: AVG=0.242 HR/AB=0.017
5bvp_blend00000--Sample-size BvP blend (BvP AB=18.0, weight=0.150, BvP AVG=0.611)
6consistency_constraints10101-predicted_R: 1.1763 -> 1.0000 (deboost -0.1763, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context32121predicted_AVG: 0.2416 -> 0.2500 (boost 0.0084, better)predicted_SLG: 0.3309 -> 0.2500 (deboost -0.0809, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference61524predicted_BB: 1.0000 -> 2.0000 (boost 1.0000, better)predicted_AB: 8.0000 -> 2.0000 (deboost -6.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final31212predicted_SLG: 0.2500 -> 0.3309 (boost 0.0809, better)predicted_AVG: 0.2500 -> 0.2416 (deboost -0.0084, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "665489",
  "player_name": "Vladimir Guerrero Jr.",
  "position": "1B",
  "team": "TOR",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.157,
        "predicted_3B": 0.0,
        "predicted_AB": 4.02,
        "predicted_AVG": 0.236,
        "predicted_BB": 0.529,
        "predicted_H": 0.95,
        "predicted_HR": 0.12,
        "predicted_OBP": 0.315,
        "predicted_R": 0.618,
        "predicted_RBI": 0.49,
        "predicted_SLG": 0.371,
        "predicted_SO": 0.461
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.3076,
        "predicted_3B": 0.0009,
        "predicted_AB": 8.407,
        "predicted_AVG": 0.2438,
        "predicted_BB": 1.0598,
        "predicted_H": 2.093,
        "predicted_HBP": 0.724,
        "predicted_HR": 0.1526,
        "predicted_OBP": 0.3324,
        "predicted_R": 1.2377,
        "predicted_RBI": 1.2168,
        "predicted_SLG": 0.3535,
        "predicted_SO": 1.1446
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.157,
          "after": 0.3076,
          "delta": 0.1506,
          "percent_delta": 0.9592,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.02,
          "after": 8.407,
          "delta": 4.387,
          "percent_delta": 1.0913,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.236,
          "after": 0.2438,
          "delta": 0.0078,
          "percent_delta": 0.0331,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.529,
          "after": 1.0598,
          "delta": 0.5308,
          "percent_delta": 1.0034,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.95,
          "after": 2.093,
          "delta": 1.143,
          "percent_delta": 1.2032,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.12,
          "after": 0.1526,
          "delta": 0.0326,
          "percent_delta": 0.2717,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.315,
          "after": 0.3324,
          "delta": 0.0174,
          "percent_delta": 0.0552,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.618,
          "after": 1.2377,
          "delta": 0.6197,
          "percent_delta": 1.0028,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.49,
          "after": 1.2168,
          "delta": 0.7268,
          "percent_delta": 1.4833,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.371,
          "after": 0.3535,
          "delta": -0.0175,
          "percent_delta": -0.0472,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.461,
          "after": 1.1446,
          "delta": 0.6836,
          "percent_delta": 1.4829,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 10,
        "boosted_metrics": 9,
        "deboosted_metrics": 1,
        "better_metrics": 8,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.02,
          "after": 8.407,
          "delta": 4.387,
          "percent_delta": 1.0913,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.371,
          "after": 0.3535,
          "delta": -0.0175,
          "percent_delta": -0.0472,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 2,
        "last_10": 3,
        "season": 49
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.3076,
        "predicted_3B": 0.0009,
        "predicted_AB": 8.407,
        "predicted_AVG": 0.2416,
        "predicted_BB": 1.0498,
        "predicted_H": 2.0313,
        "predicted_HBP": 0.724,
        "predicted_HR": 0.147,
        "predicted_OBP": 0.3258,
        "predicted_R": 1.1763,
        "predicted_RBI": 1.1564,
        "predicted_SLG": 0.3309,
        "predicted_SO": 1.1554
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.3076,
          "after": 0.3076,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.407,
          "after": 8.407,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2438,
          "after": 0.2416,
          "delta": -0.0022,
          "percent_delta": -0.009,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0598,
          "after": 1.0498,
          "delta": -0.01,
          "percent_delta": -0.0094,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.093,
          "after": 2.0313,
          "delta": -0.0617,
          "percent_delta": -0.0295,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.724,
          "after": 0.724,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1526,
          "after": 0.147,
          "delta": -0.0056,
          "percent_delta": -0.0367,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3324,
          "after": 0.3258,
          "delta": -0.0066,
          "percent_delta": -0.0199,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.2377,
          "after": 1.1763,
          "delta": -0.0614,
          "percent_delta": -0.0496,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.2168,
          "after": 1.1564,
          "delta": -0.0604,
          "percent_delta": -0.0496,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3535,
          "after": 0.3309,
          "delta": -0.0226,
          "percent_delta": -0.0639,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1446,
          "after": 1.1554,
          "delta": 0.0108,
          "percent_delta": 0.0094,
          "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": 2.093,
          "after": 2.0313,
          "delta": -0.0617,
          "percent_delta": -0.0295,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 8 (raw=8.41), rates preserved: AVG=0.242 HR/AB=0.017",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.3076,
          "after": 0.0,
          "delta": -0.3076,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.407,
          "after": 8.0,
          "delta": -0.407,
          "percent_delta": -0.0484,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0498,
          "after": 1.0,
          "delta": -0.0498,
          "percent_delta": -0.0474,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0313,
          "after": 2.0,
          "delta": -0.0313,
          "percent_delta": -0.0154,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.724,
          "after": 0.0,
          "delta": -0.724,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.147,
          "after": 0.0,
          "delta": -0.147,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.1564,
          "after": 1.0,
          "delta": -0.1564,
          "percent_delta": -0.1352,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1554,
          "after": 1.0,
          "delta": -0.1554,
          "percent_delta": -0.1345,
          "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_HBP",
          "before": 0.724,
          "after": 0.0,
          "delta": -0.724,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=18.0, weight=0.150, BvP AVG=0.611)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.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": 8.0,
          "after": 8.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": 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_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.85,
        "bvp": 0.15
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 8.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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.1763,
          "after": 1.0,
          "delta": -0.1763,
          "percent_delta": -0.1499,
          "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": 1.1763,
          "after": 1.0,
          "delta": -0.1763,
          "percent_delta": -0.1499,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.333,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.25,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2416,
          "after": 0.25,
          "delta": 0.0084,
          "percent_delta": 0.0348,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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.3258,
          "after": 0.333,
          "delta": 0.0072,
          "percent_delta": 0.0221,
          "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.3309,
          "after": 0.25,
          "delta": -0.0809,
          "percent_delta": -0.2445,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.2416,
          "after": 0.25,
          "delta": 0.0084,
          "percent_delta": 0.0348,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3309,
          "after": 0.25,
          "delta": -0.0809,
          "percent_delta": -0.2445,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 2.0,
        "predicted_BB": 2.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 2.0,
          "delta": -6.0,
          "percent_delta": -0.75,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.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": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 2.0,
          "delta": -6.0,
          "percent_delta": -0.75,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 2.0,
        "predicted_AVG": 0.2416,
        "predicted_BB": 2.0,
        "predicted_CS": 0.0,
        "predicted_FB": 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.3309,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2416,
          "delta": -0.0084,
          "percent_delta": -0.0335,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.333,
          "after": 0.3258,
          "delta": -0.0072,
          "percent_delta": -0.0216,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.3309,
          "delta": 0.0809,
          "percent_delta": 0.3235,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.3309,
          "delta": 0.0809,
          "percent_delta": 0.3235,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2416,
          "delta": -0.0084,
          "percent_delta": -0.0335,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.157,
        "after": 0.0,
        "delta": -0.157,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.02,
        "after": 2.0,
        "delta": -2.02,
        "percent_delta": -0.5025,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.236,
        "after": 0.2416,
        "delta": 0.0056,
        "percent_delta": 0.0237,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.529,
        "after": 2.0,
        "delta": 1.471,
        "percent_delta": 2.7807,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.95,
        "after": 0.0,
        "delta": -0.95,
        "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.315,
        "after": 0.3258,
        "delta": 0.0108,
        "percent_delta": 0.0343,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.618,
        "after": 0.0,
        "delta": -0.618,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.49,
        "after": 0.0,
        "delta": -0.49,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.371,
        "after": 0.3309,
        "delta": -0.0401,
        "percent_delta": -0.1081,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.461,
        "after": 0.0,
        "delta": -0.461,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 3,
      "deboosted_metrics": 8,
      "better_metrics": 4,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.529,
        "after": 2.0,
        "delta": 1.471,
        "percent_delta": 2.7807,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.02,
        "after": 2.0,
        "delta": -2.02,
        "percent_delta": -0.5025,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.157-
predicted_3B0.000-
predicted_AB4.020-
predicted_AVG0.236-
predicted_BB0.529-
predicted_H0.950-
predicted_HR0.120-
predicted_OBP0.315-
predicted_R0.618-
predicted_RBI0.490-
predicted_SLG0.371-
predicted_SO0.461-
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.3080.151
predicted_3B0.0010.001
predicted_AB8.4074.387
predicted_AVG0.2440.008
predicted_BB1.0600.531
predicted_H2.0931.143
predicted_HBP0.724-
predicted_HR0.1530.033
predicted_OBP0.3320.017
predicted_R1.2380.620
predicted_RBI1.2170.727
predicted_SLG0.353-0.018
predicted_SO1.1450.684
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.3080.000
predicted_3B0.0010.000
predicted_AB8.4070.000
predicted_AVG0.242-0.002
predicted_BB1.050-0.010
predicted_H2.031-0.062
predicted_HBP0.7240.000
predicted_HR0.147-0.006
predicted_OBP0.326-0.007
predicted_R1.176-0.061
predicted_RBI1.156-0.060
predicted_SLG0.331-0.023
predicted_SO1.1550.011
4. ab_floor_and_scaling

AB rounded to 8 (raw=8.41), rates preserved: AVG=0.242 HR/AB=0.017

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB8.000-
BB1.000-
H2.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
5. bvp_blend

Sample-size BvP blend (BvP AB=18.0, weight=0.150, BvP AVG=0.611)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB8.0000.000
BB1.0000.000
H2.0000.000
HR0.0000.000
RBI1.0000.000
SO1.0000.000
6. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB8.0000.000
BB1.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. 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.308
predicted_3B0.000-0.001
predicted_AB8.000-0.407
predicted_AVG0.2500.008
predicted_BB1.000-0.050
predicted_H2.000-0.031
predicted_HR0.000-0.147
predicted_OBP0.3330.007
predicted_R1.000-0.176
predicted_RBI1.000-0.156
predicted_SLG0.250-0.081
predicted_SO1.000-0.155
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB2.000-6.000
BB2.0001.000
CS0.0000.000
H0.000-2.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: 204
Reference playing time: 4.020
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-15.0001.0000.0000.0000.0005.0000.0000.0004.0000.06670.20830.06670.06670.00000.33330.00000.2667
last_100.203-34.0005.0000.0000.0000.0006.0004.0004.0005.0000.14710.28570.14710.14710.00000.17650.11770.1471
season0.6049-756.000216.00032.0000.00012.00097.000126.000108.00094.0000.28570.38020.37570.28570.01590.12830.14290.1243
Weighted Prediction From Real Data
MetricValue
predicted_2B0.4990
predicted_3B0.0020
predicted_AB13.9800
predicted_AVG0.2536
predicted_BB1.7340
predicted_H3.5450
predicted_HBP0.7240
predicted_HR0.1940
predicted_OBP0.3545
predicted_R2.0250
predicted_RBI2.1400
predicted_SLG0.3312
predicted_SO2.0130
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15700.49900.3076model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB4.020013.98008.4070model_form_blend
predicted_AVG0.23600.25360.2438model_form_blend
predicted_BB0.52901.73401.0598model_form_blend
predicted_H0.95003.54502.0930model_form_blend
predicted_HBP-0.72400.7240form_only
predicted_HR0.12000.19400.1526model_form_blend
predicted_OBP0.31500.35450.3324model_form_blend
predicted_R0.61802.02501.2377model_form_blend
predicted_RBI0.49002.14001.2168model_form_blend
predicted_SLG0.37100.33120.3535model_form_blend
predicted_SO0.46102.01301.1446model_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 date204
Season rows before report date204
Report year2026
Profile rows used204
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
AB2
H0
2B0
3B0
HR0
R0
RBI0
BB2
SO0
SF0
HBP0
season_avg0.286

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_GIDP1
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI1
Hitting_SAC0
Hitting_SF1
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
allPositionsPlayed1B
gameID20260520_TOR@NYY
game_typefull
mlbID665489
playerID665489
playerNameVladimir Guerrero Jr.
pos1B
startedTrue
startingPosition1B
teamTOR
teamID29
game_date2026-05-20
sl_k_percent11.3
sl_bb_percent11.3
sl_woba0.333
sl_xwoba0.357
sl_xba0.298
sl_xslg0.426
sl_sweet_spot_percent31.2
sl_barrel_batted_rate7.8
sl_hard_hit_percent43.5
sl_exit_velocity_avg90.4
sl_launch_angle_avg8.4
sl_whiff_percent20.3
sl_swing_percent48.4
George Springer (543807) · BATTER · DH · Team TOR
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 126
All-history rows before 20260521: 126
System season_avg: 0.2000
Data season_avg (2026 season-to-date): 0.2000
Diff (system - data): 0.0000
System opponent_avg: 0.1790

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1981.0000.000Hitting_2B0.1980.0000.8021.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.3404.0009.000Hitting_AB4.0874.000-0.0870.000
predicted_AVG0.2120.2500.222Hitting_AVG0.2000.2500.0500.000
predicted_BB0.3970.0001.000Hitting_BB0.3970.000-0.3970.000
predicted_CS-0.0000.000BaseRunning_CS0.0400.000-0.0400.000
predicted_H0.9201.0002.000Hitting_H0.8171.0000.1830.000
predicted_HR0.1300.0000.000Hitting_HR0.1110.000-0.1110.000
predicted_OBP0.2750.2500.300Hitting_OBP0.2730.250-0.0230.000
predicted_R0.3411.0001.000Hitting_R0.3410.0000.6591.000
predicted_RBI0.3501.0001.000Hitting_RBI0.3250.0000.6751.000
predicted_SLG0.3500.5000.222Hitting_SLG0.3300.2500.1700.250
predicted_SO0.9131.0002.000Hitting_SO0.9131.0000.0870.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_2B: 0.1980 -> 1.0000 (boost 0.8020, better)
Biggest Deboostpredicted_BB: 0.3970 -> 0.0000 (deboost -0.3970, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend98172predicted_AB: 4.3400 -> 9.3758 (boost 5.0358, better)predicted_SLG: 0.3500 -> 0.3420 (deboost -0.0080, worse)Final model 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_snapshot40404-predicted_H: 1.9595 -> 1.9017 (deboost -0.0578, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling83544predicted_RBI: 0.6743 -> 1.0000 (boost 0.3257, better)predicted_2B: 0.3952 -> 0.0000 (deboost -0.3952, worse)AB rounded to 9 (raw=9.38), rates preserved: AVG=0.203 HR/AB=0.027
5bvp_blend00000--Sample-size BvP blend (BvP AB=28.0, weight=0.193, BvP AVG=0.179)
6consistency_constraints11010predicted_R: 0.6889 -> 1.0000 (boost 0.3111, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context32121predicted_OBP: 0.2638 -> 0.3000 (boost 0.0362, better)predicted_SLG: 0.3267 -> 0.2220 (deboost -0.1047, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference51423predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 9.0000 -> 4.0000 (deboost -5.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final31212predicted_SLG: 0.2220 -> 0.3267 (boost 0.1047, better)predicted_OBP: 0.3000 -> 0.2638 (deboost -0.0362, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "543807",
  "player_name": "George Springer",
  "position": "DH",
  "team": "TOR",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.198,
        "predicted_3B": 0.0,
        "predicted_AB": 4.34,
        "predicted_AVG": 0.212,
        "predicted_BB": 0.397,
        "predicted_H": 0.92,
        "predicted_HR": 0.13,
        "predicted_OBP": 0.275,
        "predicted_R": 0.341,
        "predicted_RBI": 0.35,
        "predicted_SLG": 0.35,
        "predicted_SO": 0.913
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.3952,
        "predicted_3B": 0.0013,
        "predicted_AB": 9.3758,
        "predicted_AVG": 0.2102,
        "predicted_BB": 0.7835,
        "predicted_H": 1.9595,
        "predicted_HBP": 0.056,
        "predicted_HR": 0.2641,
        "predicted_OBP": 0.2725,
        "predicted_R": 0.7249,
        "predicted_RBI": 0.7095,
        "predicted_SLG": 0.342,
        "predicted_SO": 2.073
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.198,
          "after": 0.3952,
          "delta": 0.1972,
          "percent_delta": 0.996,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0013,
          "delta": 0.0013,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.34,
          "after": 9.3758,
          "delta": 5.0358,
          "percent_delta": 1.1603,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.212,
          "after": 0.2102,
          "delta": -0.0018,
          "percent_delta": -0.0085,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.397,
          "after": 0.7835,
          "delta": 0.3865,
          "percent_delta": 0.9736,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.92,
          "after": 1.9595,
          "delta": 1.0395,
          "percent_delta": 1.1299,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.13,
          "after": 0.2641,
          "delta": 0.1341,
          "percent_delta": 1.0315,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.275,
          "after": 0.2725,
          "delta": -0.0025,
          "percent_delta": -0.0091,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.341,
          "after": 0.7249,
          "delta": 0.3839,
          "percent_delta": 1.1258,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.35,
          "after": 0.7095,
          "delta": 0.3595,
          "percent_delta": 1.0271,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.35,
          "after": 0.342,
          "delta": -0.008,
          "percent_delta": -0.0229,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.913,
          "after": 2.073,
          "delta": 1.16,
          "percent_delta": 1.2705,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 8,
        "deboosted_metrics": 1,
        "better_metrics": 7,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.34,
          "after": 9.3758,
          "delta": 5.0358,
          "percent_delta": 1.1603,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.35,
          "after": 0.342,
          "delta": -0.008,
          "percent_delta": -0.0229,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 2,
        "last_10": 3,
        "season": 30
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.3952,
        "predicted_3B": 0.0013,
        "predicted_AB": 9.3758,
        "predicted_AVG": 0.2028,
        "predicted_BB": 0.7761,
        "predicted_H": 1.9017,
        "predicted_HBP": 0.056,
        "predicted_HR": 0.2544,
        "predicted_OBP": 0.2638,
        "predicted_R": 0.6889,
        "predicted_RBI": 0.6743,
        "predicted_SLG": 0.3267,
        "predicted_SO": 2.0925
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.3952,
          "after": 0.3952,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0013,
          "after": 0.0013,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.3758,
          "after": 9.3758,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2102,
          "after": 0.2028,
          "delta": -0.0074,
          "percent_delta": -0.0352,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.7835,
          "after": 0.7761,
          "delta": -0.0074,
          "percent_delta": -0.0094,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.9595,
          "after": 1.9017,
          "delta": -0.0578,
          "percent_delta": -0.0295,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.056,
          "after": 0.056,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2641,
          "after": 0.2544,
          "delta": -0.0097,
          "percent_delta": -0.0367,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2725,
          "after": 0.2638,
          "delta": -0.0087,
          "percent_delta": -0.0319,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.7249,
          "after": 0.6889,
          "delta": -0.036,
          "percent_delta": -0.0497,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7095,
          "after": 0.6743,
          "delta": -0.0352,
          "percent_delta": -0.0496,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.342,
          "after": 0.3267,
          "delta": -0.0153,
          "percent_delta": -0.0447,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.073,
          "after": 2.0925,
          "delta": 0.0195,
          "percent_delta": 0.0094,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.9595,
          "after": 1.9017,
          "delta": -0.0578,
          "percent_delta": -0.0295,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 9 (raw=9.38), rates preserved: AVG=0.203 HR/AB=0.027",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.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.3952,
          "after": 0.0,
          "delta": -0.3952,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0013,
          "after": 0.0,
          "delta": -0.0013,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.3758,
          "after": 9.0,
          "delta": -0.3758,
          "percent_delta": -0.0401,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.7761,
          "after": 1.0,
          "delta": 0.2239,
          "percent_delta": 0.2885,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.9017,
          "after": 2.0,
          "delta": 0.0983,
          "percent_delta": 0.0517,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.056,
          "after": 0.0,
          "delta": -0.056,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2544,
          "after": 0.0,
          "delta": -0.2544,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6743,
          "after": 1.0,
          "delta": 0.3257,
          "percent_delta": 0.483,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0925,
          "after": 2.0,
          "delta": -0.0925,
          "percent_delta": -0.0442,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 3,
        "deboosted_metrics": 5,
        "better_metrics": 4,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.6743,
          "after": 1.0,
          "delta": 0.3257,
          "percent_delta": 0.483,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.3952,
          "after": 0.0,
          "delta": -0.3952,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=28.0, weight=0.193, BvP AVG=0.179)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.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": 9.0,
          "after": 9.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": 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_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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.8069,
        "bvp": 0.1931
      },
      "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": 9.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": 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": 9.0,
          "after": 9.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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.6889,
          "after": 1.0,
          "delta": 0.3111,
          "percent_delta": 0.4516,
          "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.6889,
          "after": 1.0,
          "delta": 0.3111,
          "percent_delta": 0.4516,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_AVG": 0.222,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.222,
        "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": 9.0,
          "after": 9.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2028,
          "after": 0.222,
          "delta": 0.0192,
          "percent_delta": 0.0947,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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.2638,
          "after": 0.3,
          "delta": 0.0362,
          "percent_delta": 0.1372,
          "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.3267,
          "after": 0.222,
          "delta": -0.1047,
          "percent_delta": -0.3205,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.2638,
          "after": 0.3,
          "delta": 0.0362,
          "percent_delta": 0.1372,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3267,
          "after": 0.222,
          "delta": -0.1047,
          "percent_delta": -0.3205,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 4.0,
          "delta": -5.0,
          "percent_delta": -0.5556,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 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": 1,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 4.0,
          "delta": -5.0,
          "percent_delta": -0.5556,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2028,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_DH": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2638,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3267,
        "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.222,
          "after": 0.2028,
          "delta": -0.0192,
          "percent_delta": -0.0864,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.2638,
          "delta": -0.0362,
          "percent_delta": -0.1207,
          "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.222,
          "after": 0.3267,
          "delta": 0.1047,
          "percent_delta": 0.4715,
          "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.222,
          "after": 0.3267,
          "delta": 0.1047,
          "percent_delta": 0.4715,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3,
          "after": 0.2638,
          "delta": -0.0362,
          "percent_delta": -0.1207,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.198,
        "after": 1.0,
        "delta": 0.802,
        "percent_delta": 4.0505,
        "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.34,
        "after": 4.0,
        "delta": -0.34,
        "percent_delta": -0.0783,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.212,
        "after": 0.2028,
        "delta": -0.0092,
        "percent_delta": -0.0434,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.397,
        "after": 0.0,
        "delta": -0.397,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "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.13,
        "after": 0.0,
        "delta": -0.13,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.275,
        "after": 0.2638,
        "delta": -0.0112,
        "percent_delta": -0.0407,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.341,
        "after": 1.0,
        "delta": 0.659,
        "percent_delta": 1.9326,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.35,
        "after": 1.0,
        "delta": 0.65,
        "percent_delta": 1.8571,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.35,
        "after": 0.3267,
        "delta": -0.0233,
        "percent_delta": -0.0666,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.913,
        "after": 1.0,
        "delta": 0.087,
        "percent_delta": 0.0953,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 5,
      "deboosted_metrics": 6,
      "better_metrics": 4,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_2B",
        "before": 0.198,
        "after": 1.0,
        "delta": 0.802,
        "percent_delta": 4.0505,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.397,
        "after": 0.0,
        "delta": -0.397,
        "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.198-
predicted_3B0.000-
predicted_AB4.340-
predicted_AVG0.212-
predicted_BB0.397-
predicted_H0.920-
predicted_HR0.130-
predicted_OBP0.275-
predicted_R0.341-
predicted_RBI0.350-
predicted_SLG0.350-
predicted_SO0.913-
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.3950.197
predicted_3B0.0010.001
predicted_AB9.3765.036
predicted_AVG0.210-0.002
predicted_BB0.7830.386
predicted_H1.9601.039
predicted_HBP0.056-
predicted_HR0.2640.134
predicted_OBP0.273-0.003
predicted_R0.7250.384
predicted_RBI0.7100.360
predicted_SLG0.342-0.008
predicted_SO2.0731.160
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.3950.000
predicted_3B0.0010.000
predicted_AB9.3760.000
predicted_AVG0.203-0.007
predicted_BB0.776-0.007
predicted_H1.902-0.058
predicted_HBP0.0560.000
predicted_HR0.254-0.010
predicted_OBP0.264-0.009
predicted_R0.689-0.036
predicted_RBI0.674-0.035
predicted_SLG0.327-0.015
predicted_SO2.0920.019
4. ab_floor_and_scaling

AB rounded to 9 (raw=9.38), rates preserved: AVG=0.203 HR/AB=0.027

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB9.000-
BB1.000-
H2.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO2.000-
5. bvp_blend

Sample-size BvP blend (BvP AB=28.0, weight=0.193, BvP AVG=0.179)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB9.0000.000
BB1.0000.000
H2.0000.000
HR0.0000.000
RBI1.0000.000
SO2.0000.000
6. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB9.0000.000
BB1.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
7. 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.395
predicted_3B0.000-0.001
predicted_AB9.000-0.376
predicted_AVG0.2220.019
predicted_BB1.0000.224
predicted_H2.0000.098
predicted_HR0.000-0.254
predicted_OBP0.3000.036
predicted_R1.0000.311
predicted_RBI1.0000.326
predicted_SLG0.222-0.105
predicted_SO2.000-0.092
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB4.000-5.000
BB0.000-1.000
CS0.0000.000
H1.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0000.000
RBI1.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: 126
Reference playing time: 4.340
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-24.0005.0000.0000.0000.0000.0000.0000.0005.0000.20830.20830.20830.20830.00000.00000.00000.2083
last_100.203-49.00014.0000.0000.0004.0004.0004.0000.00014.0000.28570.28570.53060.28570.08160.08160.00000.2857
season0.6030-515.000103.00025.0000.00014.00041.00043.00050.000115.0000.20000.27340.33010.20000.02720.07960.09710.2233
Weighted Prediction From Real Data
MetricValue
predicted_2B0.6510
predicted_3B0.0030
predicted_AB15.9090
predicted_AVG0.2079
predicted_BB1.2850
predicted_H3.3080
predicted_HBP0.0560
predicted_HR0.4380
predicted_OBP0.2692
predicted_R1.2230
predicted_RBI1.1760
predicted_SLG0.3317
predicted_SO3.5780
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.19800.65100.3952model_form_blend
predicted_3B0.00000.00300.0013model_form_blend
predicted_AB4.340015.90909.3758model_form_blend
predicted_AVG0.21200.20790.2102model_form_blend
predicted_BB0.39701.28500.7835model_form_blend
predicted_H0.92003.30801.9595model_form_blend
predicted_HBP-0.05600.0560form_only
predicted_HR0.13000.43800.2641model_form_blend
predicted_OBP0.27500.26920.2725model_form_blend
predicted_R0.34101.22300.7249model_form_blend
predicted_RBI0.35001.17600.7095model_form_blend
predicted_SLG0.35000.33170.3420model_form_blend
predicted_SO0.91303.57802.0730model_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 date126
Season rows before report date126
Report year2026
Profile rows used126
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB1
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.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_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
gameID20260520_TOR@NYY
game_typefull
mlbID543807
playerID543807
playerNameGeorge Springer
posDH
startedTrue
startingPositionDH
teamTOR
teamID29
game_date2026-05-20
sl_k_percent19.2
sl_bb_percent8.8
sl_woba0.272
sl_xwoba0.285
sl_xba0.208
sl_xslg0.355
sl_sweet_spot_percent25.0
sl_barrel_batted_rate8.0
sl_hard_hit_percent36.4
sl_exit_velocity_avg86.9
sl_launch_angle_avg16.5
sl_whiff_percent24.3
sl_swing_percent51.9
Lenyn Sosa (672820) · BATTER · 2B · Team TOR
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 70
All-history rows before 20260521: 70
System season_avg: 0.2110
Data season_avg (2026 season-to-date): 0.2033
Diff (system - data): 0.0077
System opponent_avg: 0.1480

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2140.0000.000Hitting_2B0.1860.000-0.1860.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.4564.0006.000Hitting_AB3.4431.0000.5573.000
predicted_AVG0.2140.2500.167Hitting_AVG0.2030.0000.0470.250
predicted_BB0.0000.0000.000Hitting_BB0.0000.0000.0000.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.2501.0001.000Hitting_H0.7000.0000.3001.000
predicted_HR0.0300.0000.000Hitting_HR0.0710.000-0.0710.000
predicted_OBP0.2200.2500.167Hitting_OBP0.2010.0000.0490.250
predicted_R0.3300.0001.000Hitting_R0.3710.000-0.3710.000
predicted_RBI0.1300.0000.000Hitting_RBI0.2710.000-0.2710.000
predicted_SB-0.0000.000BaseRunning_SB0.0000.0000.0000.000
predicted_SLG0.3170.2500.167Hitting_SLG0.3200.000-0.0700.250
predicted_SO0.7770.0001.000Hitting_SO0.7431.000-0.743-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics9
Boosted Metrics2
Deboosted Metrics7
Better Metrics3
Worse Metrics6
Biggest Boostpredicted_H: 0.2500 -> 1.0000 (boost 0.7500, better)
Biggest Deboostpredicted_SO: 0.7770 -> 0.0000 (deboost -0.7770, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend76152predicted_AB: 3.4560 -> 5.8343 (boost 2.3783, better)predicted_SLG: 0.3170 -> 0.3105 (deboost -0.0065, worse)Final model 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.3105 -> 0.2479 (deboost -0.0626, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling62433predicted_AB: 5.8343 -> 6.0000 (boost 0.1657, better)predicted_2B: 0.3217 -> 0.0000 (deboost -0.3217, worse)AB rounded to 6 (raw=5.83), rates preserved: AVG=0.159 HR/AB=0.011
5consistency_constraints11010predicted_R: 0.6008 -> 1.0000 (boost 0.3992, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context21111predicted_AVG: 0.1593 -> 0.1670 (boost 0.0077, better)predicted_SLG: 0.2479 -> 0.1670 (deboost -0.0809, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference30312-predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final21111predicted_SLG: 0.1670 -> 0.2479 (boost 0.0809, better)predicted_AVG: 0.1670 -> 0.1593 (deboost -0.0077, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "672820",
  "player_name": "Lenyn Sosa",
  "position": "2B",
  "team": "TOR",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.214,
        "predicted_3B": 0.0,
        "predicted_AB": 3.456,
        "predicted_AVG": 0.214,
        "predicted_BB": 0.0,
        "predicted_H": 0.25,
        "predicted_HR": 0.03,
        "predicted_OBP": 0.22,
        "predicted_R": 0.33,
        "predicted_RBI": 0.13,
        "predicted_SLG": 0.317,
        "predicted_SO": 0.777
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.3217,
        "predicted_3B": 0.0013,
        "predicted_AB": 5.8343,
        "predicted_AVG": 0.2128,
        "predicted_BB": 0.0235,
        "predicted_H": 0.9574,
        "predicted_HBP": 0.006,
        "predicted_HR": 0.0668,
        "predicted_OBP": 0.2183,
        "predicted_R": 0.6322,
        "predicted_RBI": 0.3266,
        "predicted_SLG": 0.3105,
        "predicted_SO": 1.1874
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.214,
          "after": 0.3217,
          "delta": 0.1077,
          "percent_delta": 0.5033,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0013,
          "delta": 0.0013,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.456,
          "after": 5.8343,
          "delta": 2.3783,
          "percent_delta": 0.6882,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.214,
          "after": 0.2128,
          "delta": -0.0012,
          "percent_delta": -0.0056,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0235,
          "delta": 0.0235,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.25,
          "after": 0.9574,
          "delta": 0.7074,
          "percent_delta": 2.8296,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.03,
          "after": 0.0668,
          "delta": 0.0368,
          "percent_delta": 1.2267,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.22,
          "after": 0.2183,
          "delta": -0.0017,
          "percent_delta": -0.0077,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.33,
          "after": 0.6322,
          "delta": 0.3022,
          "percent_delta": 0.9158,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.13,
          "after": 0.3266,
          "delta": 0.1966,
          "percent_delta": 1.5123,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.317,
          "after": 0.3105,
          "delta": -0.0065,
          "percent_delta": -0.0205,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.777,
          "after": 1.1874,
          "delta": 0.4104,
          "percent_delta": 0.5282,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 6,
        "deboosted_metrics": 1,
        "better_metrics": 5,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.456,
          "after": 5.8343,
          "delta": 2.3783,
          "percent_delta": 0.6882,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.317,
          "after": 0.3105,
          "delta": -0.0065,
          "percent_delta": -0.0205,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 3,
        "last_10": 4,
        "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.3217,
        "predicted_3B": 0.0013,
        "predicted_AB": 5.8343,
        "predicted_AVG": 0.1593,
        "predicted_BB": 0.0233,
        "predicted_H": 0.9292,
        "predicted_HBP": 0.006,
        "predicted_HR": 0.0644,
        "predicted_OBP": 0.1626,
        "predicted_R": 0.6008,
        "predicted_RBI": 0.3104,
        "predicted_SLG": 0.2479,
        "predicted_SO": 1.1986
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.3217,
          "after": 0.3217,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0013,
          "after": 0.0013,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.8343,
          "after": 5.8343,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2128,
          "after": 0.1593,
          "delta": -0.0535,
          "percent_delta": -0.2514,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0235,
          "after": 0.0233,
          "delta": -0.0002,
          "percent_delta": -0.0085,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9574,
          "after": 0.9292,
          "delta": -0.0282,
          "percent_delta": -0.0295,
          "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.0668,
          "after": 0.0644,
          "delta": -0.0024,
          "percent_delta": -0.0359,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2183,
          "after": 0.1626,
          "delta": -0.0557,
          "percent_delta": -0.2552,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6322,
          "after": 0.6008,
          "delta": -0.0314,
          "percent_delta": -0.0497,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3266,
          "after": 0.3104,
          "delta": -0.0162,
          "percent_delta": -0.0496,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3105,
          "after": 0.2479,
          "delta": -0.0626,
          "percent_delta": -0.2016,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1874,
          "after": 1.1986,
          "delta": 0.0112,
          "percent_delta": 0.0094,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3105,
          "after": 0.2479,
          "delta": -0.0626,
          "percent_delta": -0.2016,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 6 (raw=5.83), rates preserved: AVG=0.159 HR/AB=0.011",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.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.3217,
          "after": 0.0,
          "delta": -0.3217,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0013,
          "after": 0.0,
          "delta": -0.0013,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.8343,
          "after": 6.0,
          "delta": 0.1657,
          "percent_delta": 0.0284,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0233,
          "after": 0.0,
          "delta": -0.0233,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9292,
          "after": 1.0,
          "delta": 0.0708,
          "percent_delta": 0.0762,
          "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.0644,
          "after": 0.0,
          "delta": -0.0644,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3104,
          "after": 0.0,
          "delta": -0.3104,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1986,
          "after": 1.0,
          "delta": -0.1986,
          "percent_delta": -0.1657,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 5.8343,
          "after": 6.0,
          "delta": 0.1657,
          "percent_delta": 0.0284,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.3217,
          "after": 0.0,
          "delta": -0.3217,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 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": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.6008,
          "after": 1.0,
          "delta": 0.3992,
          "percent_delta": 0.6644,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.6008,
          "after": 1.0,
          "delta": 0.3992,
          "percent_delta": 0.6644,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_AVG": 0.167,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.167,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.167,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1593,
          "after": 0.167,
          "delta": 0.0077,
          "percent_delta": 0.0483,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.1626,
          "after": 0.167,
          "delta": 0.0044,
          "percent_delta": 0.0271,
          "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.2479,
          "after": 0.167,
          "delta": -0.0809,
          "percent_delta": -0.3263,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "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.1593,
          "after": 0.167,
          "delta": 0.0077,
          "percent_delta": 0.0483,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.2479,
          "after": 0.167,
          "delta": -0.0809,
          "percent_delta": -0.3263,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 4.0,
          "delta": -2.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 4.0,
          "delta": -2.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.1593,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.1626,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2479,
        "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.167,
          "after": 0.1593,
          "delta": -0.0077,
          "percent_delta": -0.0464,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.167,
          "after": 0.1626,
          "delta": -0.0044,
          "percent_delta": -0.0264,
          "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.167,
          "after": 0.2479,
          "delta": 0.0809,
          "percent_delta": 0.4846,
          "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.167,
          "after": 0.2479,
          "delta": 0.0809,
          "percent_delta": 0.4846,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.167,
          "after": 0.1593,
          "delta": -0.0077,
          "percent_delta": -0.0464,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.214,
        "after": 0.0,
        "delta": -0.214,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.456,
        "after": 4.0,
        "delta": 0.544,
        "percent_delta": 0.1574,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.214,
        "after": 0.1593,
        "delta": -0.0547,
        "percent_delta": -0.2556,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 0.25,
        "after": 1.0,
        "delta": 0.75,
        "percent_delta": 3.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.03,
        "after": 0.0,
        "delta": -0.03,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_OBP",
        "before": 0.22,
        "after": 0.1626,
        "delta": -0.0574,
        "percent_delta": -0.2609,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.33,
        "after": 0.0,
        "delta": -0.33,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.13,
        "after": 0.0,
        "delta": -0.13,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.317,
        "after": 0.2479,
        "delta": -0.0691,
        "percent_delta": -0.218,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.777,
        "after": 0.0,
        "delta": -0.777,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 2,
      "deboosted_metrics": 7,
      "better_metrics": 3,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.25,
        "after": 1.0,
        "delta": 0.75,
        "percent_delta": 3.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.777,
        "after": 0.0,
        "delta": -0.777,
        "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.214-
predicted_3B0.000-
predicted_AB3.456-
predicted_AVG0.214-
predicted_BB0.000-
predicted_H0.250-
predicted_HR0.030-
predicted_OBP0.220-
predicted_R0.330-
predicted_RBI0.130-
predicted_SLG0.317-
predicted_SO0.777-
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.3220.108
predicted_3B0.0010.001
predicted_AB5.8342.378
predicted_AVG0.213-0.001
predicted_BB0.0240.024
predicted_H0.9570.707
predicted_HBP0.006-
predicted_HR0.0670.037
predicted_OBP0.218-0.002
predicted_R0.6320.302
predicted_RBI0.3270.197
predicted_SLG0.310-0.007
predicted_SO1.1870.410
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.3220.000
predicted_3B0.0010.000
predicted_AB5.8340.000
predicted_AVG0.159-0.053
predicted_BB0.023-0.000
predicted_H0.929-0.028
predicted_HBP0.0060.000
predicted_HR0.064-0.002
predicted_OBP0.163-0.056
predicted_R0.601-0.031
predicted_RBI0.310-0.016
predicted_SLG0.248-0.063
predicted_SO1.1990.011
4. ab_floor_and_scaling

AB rounded to 6 (raw=5.83), rates preserved: AVG=0.159 HR/AB=0.011

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB6.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
6. 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.322
predicted_3B0.000-0.001
predicted_AB6.0000.166
predicted_AVG0.1670.008
predicted_BB0.000-0.023
predicted_H1.0000.071
predicted_HR0.000-0.064
predicted_OBP0.1670.004
predicted_R1.0000.399
predicted_RBI0.000-0.310
predicted_SLG0.167-0.081
predicted_SO1.000-0.199
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 103
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.203-14.0003.0000.0000.0000.0000.0003.0000.0001.0000.21430.21430.21430.21430.00000.00000.00000.0714
last_100.204-34.0005.0002.0000.0000.0000.0003.0000.0001.0000.14710.14710.20590.14710.00000.00000.00000.0294
season0.6034-356.00075.00022.0000.0005.00027.00034.0000.00080.0000.21070.21070.31460.21070.01400.07580.00000.2247
Weighted Prediction From Real Data
MetricValue
predicted_2B0.4660
predicted_3B0.0030
predicted_AB9.0200
predicted_AVG0.2112
predicted_BB0.0550
predicted_H1.9050
predicted_HBP0.0060
predicted_HR0.1160
predicted_OBP0.2161
predicted_R1.0370
predicted_RBI0.5900
predicted_SLG0.3019
predicted_SO1.7370
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.21400.46600.3217model_form_blend
predicted_3B0.00000.00300.0013model_form_blend
predicted_AB3.45609.02005.8343model_form_blend
predicted_AVG0.21400.21120.2128model_form_blend
predicted_BB0.00000.05500.0235model_form_blend
predicted_H0.25001.90500.9574model_form_blend
predicted_HBP-0.00600.0060form_only
predicted_HR0.03000.11600.0668model_form_blend
predicted_OBP0.22000.21610.2183model_form_blend
predicted_R0.33001.03700.6322model_form_blend
predicted_RBI0.13000.59000.3266model_form_blend
predicted_SLG0.31700.30190.3105model_form_blend
predicted_SO0.77701.73701.1874model_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 date70
Season rows before report date70
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
H1
2B0
3B0
HR0
R0
RBI0
BB0
SO0
SF0
HBP0
season_avg0.211

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB1
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder6
Hitting_substitutionOrder1
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedPH-2B
gameID20260519_TOR@NYY
game_typeph
mlbID672820
noteStruck out for Sánchez, J in the 8th.
playerID672820
playerNameLenyn Sosa
pos2B
startedFalse
startingPositionPH
teamTOR
teamID29
game_date2026-05-19
game_pk823548.0
sl_k_percent20.4
sl_bb_percent0.0
sl_woba0.223
sl_xwoba0.248
sl_xba0.225
sl_xslg0.36
sl_sweet_spot_percent36.6
sl_barrel_batted_rate6.1
sl_hard_hit_percent36.6
sl_exit_velocity_avg89.1
sl_launch_angle_avg20.6
sl_whiff_percent21.8
sl_swing_percent58.2
at_bat_number66.0
ab_pitcher687396.0
ab_pitcher_nameHeadrick, Brent
ab_home_teamNYY
ab_away_teamTOR
ab_game_typeR
ab_standR
ab_p_throwsL
ab_inning8.0
ab_inning_topbotTop
ab_outs_when_up1.0
ab_balls_start0.0
ab_strikes_start0.0
ab_home_score_start5.0
ab_away_score_start3.0
ab_bat_score_start3.0
ab_fld_score_start5.0
ab_eventstrikeout
ab_event_descriptionLenyn Sosa strikes out swinging.
ab_event_typeS
ab_hit_location2.0
ab_pitch_type_lastSI
ab_pitch_name_lastSinker
ab_zone_last14.0
ab_launch_speed_last77.8
ab_launch_angle_last-29.0
ab_hit_distance_last4.0
ab_estimated_woba_last0.0
ab_woba_value0.0
ab_woba_denom1.0
ab_babip_value0.0
ab_iso_value0.0
ab_balls_end2.0
ab_strikes_end2.0
ab_home_score_end5.0
ab_away_score_end3.0
ab_bat_score_end3.0
ab_fld_score_end5.0
ab_pitch_count9.0
ab_release_speed_avg89.24444444444445
ab_release_spin_rate_avg2069.555555555556
ab_effective_speed_avg90.25555555555556
ab_launch_speed_avg66.89999999999999
ab_launch_angle_avg-29.0
ab_delta_run_exp_avg-0.0282222222222222
ab_delta_home_win_exp_avg0.0027777777777777
ab_delta_pitcher_run_exp_avg0.0282222222222222
ab_bat_speed_avg74.32000000000001
ab_swing_length_avg7.94
ab_launch_speed_max77.8
ab_hit_distance_sc_max25.0
ab_release_speed_max96.7
ab_release_spin_rate_max2406.0
ab_release_speed_min83.7
ab_release_spin_rate_min1149.0
ab_delta_run_exp_sum-0.254
ab_delta_home_win_exp_sum0.025
ab_delta_pitcher_run_exp_sum0.254
ab_result_is_hitFalse
ab_result_is_walkFalse
ab_result_is_strikeoutTrue
ab_result_is_hbpFalse
Ernie Clement (676391) · BATTER · SS · Team TOR
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 190
All-history rows before 20260521: 190
System season_avg: 0.2960
Data season_avg (2026 season-to-date): 0.2956
Diff (system - data): 0.0004
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.2890.0000.000Hitting_2B0.2890.000-0.2890.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.0424.0008.000Hitting_AB4.0424.000-0.0420.000
predicted_AVG0.2410.0000.250Hitting_AVG0.2960.250-0.296-0.250
predicted_BB0.1420.0000.000Hitting_BB0.1420.000-0.1420.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.9500.0002.000Hitting_H1.1951.000-1.195-1.000
predicted_HR0.1000.0000.000Hitting_HR0.0740.000-0.0740.000
predicted_OBP0.3010.0000.250Hitting_OBP0.3180.250-0.318-0.250
predicted_R0.4260.0001.000Hitting_R0.4261.000-0.426-1.000
predicted_RBI0.4900.0002.000Hitting_RBI0.3790.000-0.3790.000
predicted_SLG0.3900.0000.250Hitting_SLG0.4220.250-0.422-0.250
predicted_SO0.3261.0001.000Hitting_SO0.3261.0000.6740.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: 0.3260 -> 1.0000 (boost 0.6740, worse)
Biggest Deboostpredicted_H: 0.9500 -> 0.0000 (deboost -0.9500, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend11110101predicted_AB: 4.0420 -> 8.1729 (boost 4.1309, 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_snapshot62424predicted_SLG: 0.4452 -> 0.4650 (boost 0.0198, better)predicted_RBI: 1.6399 -> 1.5586 (deboost -0.0813, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling72516predicted_RBI: 1.5586 -> 2.0000 (boost 0.4414, better)predicted_2B: 0.4942 -> 0.0000 (deboost -0.4942, worse)AB rounded to 8 (raw=8.17), rates preserved: AVG=0.272 HR/AB=0.044
5bvp_blend00000--Sample-size BvP blend (BvP AB=15.0, weight=0.133, BvP AVG=0.333)
6consistency_constraints10101-predicted_R: 1.2083 -> 1.0000 (deboost -0.2083, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context30303-predicted_SLG: 0.4650 -> 0.2500 (deboost -0.2150, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference40404-predicted_AB: 8.0000 -> 4.0000 (deboost -4.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final33030predicted_SLG: 0.2500 -> 0.4650 (boost 0.2150, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "676391",
  "player_name": "Ernie Clement",
  "position": "SS",
  "team": "TOR",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.289,
        "predicted_3B": 0.0,
        "predicted_AB": 4.042,
        "predicted_AVG": 0.241,
        "predicted_BB": 0.142,
        "predicted_H": 0.95,
        "predicted_HR": 0.1,
        "predicted_OBP": 0.301,
        "predicted_R": 0.426,
        "predicted_RBI": 0.49,
        "predicted_SLG": 0.39,
        "predicted_SO": 0.326
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.4942,
        "predicted_3B": 0.0009,
        "predicted_AB": 8.1729,
        "predicted_AVG": 0.2658,
        "predicted_BB": 0.4834,
        "predicted_H": 2.2902,
        "predicted_HBP": 0.004,
        "predicted_HR": 0.3742,
        "predicted_OBP": 0.3175,
        "predicted_R": 1.2714,
        "predicted_RBI": 1.6399,
        "predicted_SLG": 0.4452,
        "predicted_SO": 0.7026
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.289,
          "after": 0.4942,
          "delta": 0.2052,
          "percent_delta": 0.71,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.042,
          "after": 8.1729,
          "delta": 4.1309,
          "percent_delta": 1.022,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.241,
          "after": 0.2658,
          "delta": 0.0248,
          "percent_delta": 0.1029,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.142,
          "after": 0.4834,
          "delta": 0.3414,
          "percent_delta": 2.4042,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.95,
          "after": 2.2902,
          "delta": 1.3402,
          "percent_delta": 1.4107,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1,
          "after": 0.3742,
          "delta": 0.2742,
          "percent_delta": 2.742,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.301,
          "after": 0.3175,
          "delta": 0.0165,
          "percent_delta": 0.0548,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.426,
          "after": 1.2714,
          "delta": 0.8454,
          "percent_delta": 1.9845,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.49,
          "after": 1.6399,
          "delta": 1.1499,
          "percent_delta": 2.3467,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.39,
          "after": 0.4452,
          "delta": 0.0552,
          "percent_delta": 0.1415,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.326,
          "after": 0.7026,
          "delta": 0.3766,
          "percent_delta": 1.1552,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 11,
        "boosted_metrics": 11,
        "deboosted_metrics": 0,
        "better_metrics": 10,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.042,
          "after": 8.1729,
          "delta": 4.1309,
          "percent_delta": 1.022,
          "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": 3,
        "last_10": 4,
        "season": 48
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.4942,
        "predicted_3B": 0.0009,
        "predicted_AB": 8.1729,
        "predicted_AVG": 0.272,
        "predicted_BB": 0.4789,
        "predicted_H": 2.2226,
        "predicted_HBP": 0.004,
        "predicted_HR": 0.3605,
        "predicted_OBP": 0.3122,
        "predicted_R": 1.2083,
        "predicted_RBI": 1.5586,
        "predicted_SLG": 0.465,
        "predicted_SO": 0.7092
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.4942,
          "after": 0.4942,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.1729,
          "after": 8.1729,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2658,
          "after": 0.272,
          "delta": 0.0062,
          "percent_delta": 0.0233,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4834,
          "after": 0.4789,
          "delta": -0.0045,
          "percent_delta": -0.0093,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.2902,
          "after": 2.2226,
          "delta": -0.0676,
          "percent_delta": -0.0295,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.004,
          "after": 0.004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.3742,
          "after": 0.3605,
          "delta": -0.0137,
          "percent_delta": -0.0366,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3175,
          "after": 0.3122,
          "delta": -0.0053,
          "percent_delta": -0.0167,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.2714,
          "after": 1.2083,
          "delta": -0.0631,
          "percent_delta": -0.0496,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.6399,
          "after": 1.5586,
          "delta": -0.0813,
          "percent_delta": -0.0496,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4452,
          "after": 0.465,
          "delta": 0.0198,
          "percent_delta": 0.0445,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7026,
          "after": 0.7092,
          "delta": 0.0066,
          "percent_delta": 0.0094,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.4452,
          "after": 0.465,
          "delta": 0.0198,
          "percent_delta": 0.0445,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.6399,
          "after": 1.5586,
          "delta": -0.0813,
          "percent_delta": -0.0496,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 8 (raw=8.17), rates preserved: AVG=0.272 HR/AB=0.044",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.4942,
          "after": 0.0,
          "delta": -0.4942,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.1729,
          "after": 8.0,
          "delta": -0.1729,
          "percent_delta": -0.0212,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4789,
          "after": 0.0,
          "delta": -0.4789,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.2226,
          "after": 2.0,
          "delta": -0.2226,
          "percent_delta": -0.1002,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.004,
          "after": 0.0,
          "delta": -0.004,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.3605,
          "after": 0.0,
          "delta": -0.3605,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.5586,
          "after": 2.0,
          "delta": 0.4414,
          "percent_delta": 0.2832,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7092,
          "after": 1.0,
          "delta": 0.2908,
          "percent_delta": 0.41,
          "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": 1.5586,
          "after": 2.0,
          "delta": 0.4414,
          "percent_delta": 0.2832,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.4942,
          "after": 0.0,
          "delta": -0.4942,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=15.0, weight=0.133, BvP AVG=0.333)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 0.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 2.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "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_RBI",
          "before": 2.0,
          "after": 2.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": 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": 8.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.2083,
          "after": 1.0,
          "delta": -0.2083,
          "percent_delta": -0.1724,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "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_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.2083,
          "after": 1.0,
          "delta": -0.2083,
          "percent_delta": -0.1724,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 0.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.25,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SLG": 0.25,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.272,
          "after": 0.25,
          "delta": -0.022,
          "percent_delta": -0.0809,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3122,
          "after": 0.25,
          "delta": -0.0622,
          "percent_delta": -0.1992,
          "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_SLG",
          "before": 0.465,
          "after": 0.25,
          "delta": -0.215,
          "percent_delta": -0.4624,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.465,
          "after": 0.25,
          "delta": -0.215,
          "percent_delta": -0.4624,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 4.0,
          "delta": -4.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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": 0.0,
          "delta": -2.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": 2.0,
          "after": 0.0,
          "delta": -2.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 4.0,
          "delta": -4.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.272,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3122,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.465,
        "predicted_SO": 1.0,
        "predicted_SS": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.272,
          "delta": 0.022,
          "percent_delta": 0.0878,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.25,
          "after": 0.3122,
          "delta": 0.0622,
          "percent_delta": 0.249,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.465,
          "delta": 0.215,
          "percent_delta": 0.8599,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.465,
          "delta": 0.215,
          "percent_delta": 0.8599,
          "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.289,
        "after": 0.0,
        "delta": -0.289,
        "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.042,
        "after": 4.0,
        "delta": -0.042,
        "percent_delta": -0.0104,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AVG",
        "before": 0.241,
        "after": 0.272,
        "delta": 0.031,
        "percent_delta": 0.1286,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.142,
        "after": 0.0,
        "delta": -0.142,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.95,
        "after": 0.0,
        "delta": -0.95,
        "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.301,
        "after": 0.3122,
        "delta": 0.0112,
        "percent_delta": 0.0372,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.426,
        "after": 0.0,
        "delta": -0.426,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.49,
        "after": 0.0,
        "delta": -0.49,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.39,
        "after": 0.465,
        "delta": 0.075,
        "percent_delta": 0.1923,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.326,
        "after": 1.0,
        "delta": 0.674,
        "percent_delta": 2.0675,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 4,
      "deboosted_metrics": 6,
      "better_metrics": 3,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.326,
        "after": 1.0,
        "delta": 0.674,
        "percent_delta": 2.0675,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.95,
        "after": 0.0,
        "delta": -0.95,
        "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.289-
predicted_3B0.000-
predicted_AB4.042-
predicted_AVG0.241-
predicted_BB0.142-
predicted_H0.950-
predicted_HR0.100-
predicted_OBP0.301-
predicted_R0.426-
predicted_RBI0.490-
predicted_SLG0.390-
predicted_SO0.326-
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.4940.205
predicted_3B0.0010.001
predicted_AB8.1734.131
predicted_AVG0.2660.025
predicted_BB0.4830.341
predicted_H2.2901.340
predicted_HBP0.004-
predicted_HR0.3740.274
predicted_OBP0.3180.017
predicted_R1.2710.845
predicted_RBI1.6401.150
predicted_SLG0.4450.055
predicted_SO0.7030.377
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.4940.000
predicted_3B0.0010.000
predicted_AB8.1730.000
predicted_AVG0.2720.006
predicted_BB0.479-0.005
predicted_H2.223-0.068
predicted_HBP0.0040.000
predicted_HR0.360-0.014
predicted_OBP0.312-0.005
predicted_R1.208-0.063
predicted_RBI1.559-0.081
predicted_SLG0.4650.020
predicted_SO0.7090.007
4. ab_floor_and_scaling

AB rounded to 8 (raw=8.17), rates preserved: AVG=0.272 HR/AB=0.044

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB8.000-
BB0.000-
H2.000-
HBP0.000-
HR0.000-
RBI2.000-
SB0.000-
SO1.000-
5. bvp_blend

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB8.0000.000
BB0.0000.000
H2.0000.000
HR0.0000.000
RBI2.0000.000
SO1.0000.000
6. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB8.0000.000
BB0.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI2.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. 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.494
predicted_3B0.000-0.001
predicted_AB8.000-0.173
predicted_AVG0.250-0.022
predicted_BB0.000-0.479
predicted_H2.000-0.223
predicted_HR0.000-0.360
predicted_OBP0.250-0.062
predicted_R1.000-0.208
predicted_RBI2.0000.441
predicted_SLG0.250-0.215
predicted_SO1.0000.291
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.000-4.000
BB0.0000.000
CS0.0000.000
H0.000-2.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-1.000
RBI0.000-2.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: 190
Reference playing time: 4.042
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.203-14.0005.0000.0000.0003.00012.0007.0003.0001.0000.35710.47061.00000.35710.21430.85710.21430.0714
last_100.204-33.0006.0000.0000.0004.00016.0009.0004.0005.0000.18180.27030.54550.18180.12120.48490.12120.1515
season0.6048-768.000227.00055.0000.00014.00072.00081.00027.00062.0000.29560.31790.42190.29560.01820.09380.03520.0807
Weighted Prediction From Real Data
MetricValue
predicted_2B0.7560
predicted_3B0.0020
predicted_AB13.4430
predicted_AVG0.2975
predicted_BB0.9190
predicted_H4.0000
predicted_HBP0.0040
predicted_HR0.7240
predicted_OBP0.3386
predicted_R2.3500
predicted_RBI3.1070
predicted_SLG0.5156
predicted_SO1.1830
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.28900.75600.4942model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB4.042013.44308.1729model_form_blend
predicted_AVG0.24100.29750.2658model_form_blend
predicted_BB0.14200.91900.4834model_form_blend
predicted_H0.95004.00002.2902model_form_blend
predicted_HBP-0.00400.0040form_only
predicted_HR0.10000.72400.3742model_form_blend
predicted_OBP0.30100.33860.3175model_form_blend
predicted_R0.42602.35001.2714model_form_blend
predicted_RBI0.49003.10701.6399model_form_blend
predicted_SLG0.39000.51560.4452model_form_blend
predicted_SO0.32601.18300.7026model_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 date190
Season rows before report date190
Report year2026
Profile rows used190
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.296

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_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
gameID20260520_TOR@NYY
game_typefull
mlbID676391
playerID676391
playerNameErnie Clement
pos2B
startedTrue
startingPosition2B
teamTOR
teamID29
game_date2026-05-20
sl_k_percent7.9
sl_bb_percent3.7
sl_woba0.319
sl_xwoba0.292
sl_xba0.275
sl_xslg0.369
sl_sweet_spot_percent31.7
sl_barrel_batted_rate1.8
sl_hard_hit_percent26.9
sl_exit_velocity_avg86.2
sl_launch_angle_avg17.1
sl_whiff_percent14.6
sl_swing_percent56.8
Myles Straw (664702) · BATTER · RF · Team TOR
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 91
All-history rows before 20260521: 91
System season_avg: 0.2700
Data season_avg (2026 season-to-date): 0.2703
Diff (system - data): -0.0003
System opponent_avg: 0.0910

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1050.0000.000Hitting_2B0.0990.000-0.0990.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.5814.0004.000Hitting_AB2.4401.0001.5603.000
predicted_AVG0.2410.0000.250Hitting_AVG0.2700.000-0.2700.000
predicted_BB0.3490.0001.000Hitting_BB0.3410.000-0.3410.000
predicted_CS-0.0000.000BaseRunning_CS0.0110.000-0.0110.000
predicted_H0.1800.0001.000Hitting_H0.6590.000-0.6590.000
predicted_HR0.0300.0000.000Hitting_HR0.0770.000-0.0770.000
predicted_OBP0.2480.0000.400Hitting_OBP0.3540.000-0.3540.000
predicted_R0.5580.0001.000Hitting_R0.5380.000-0.5380.000
predicted_RBI0.1100.0000.000Hitting_RBI0.1870.000-0.1870.000
predicted_SLG0.3170.0000.250Hitting_SLG0.4050.000-0.4050.000
predicted_SO0.3951.0001.000Hitting_SO0.3740.0000.6261.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_AB: 2.5810 -> 4.0000 (boost 1.4190, better)
Biggest Deboostpredicted_R: 0.5580 -> 0.0000 (deboost -0.5580, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend97263predicted_AB: 2.5810 -> 3.6004 (boost 1.0194, better)predicted_AVG: 0.2410 -> 0.2201 (deboost -0.0209, worse)Final model 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.2201 -> 0.1364 (deboost -0.0837, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling73425predicted_H: 0.4913 -> 1.0000 (boost 0.5087, better)predicted_BB: 0.4296 -> 0.0000 (deboost -0.4296, worse)AB rounded to 4 (raw=3.60), rates preserved: AVG=0.136 HR/AB=0.017
5bvp_blend11010predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)-Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.091)
6consistency_constraints11010predicted_R: 0.5985 -> 1.0000 (boost 0.4015, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context33030predicted_OBP: 0.2285 -> 0.4000 (boost 0.1715, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference30303-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final30303-predicted_OBP: 0.4000 -> 0.2285 (deboost -0.1715, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "664702",
  "player_name": "Myles Straw",
  "position": "RF",
  "team": "TOR",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.105,
        "predicted_3B": 0.0,
        "predicted_AB": 2.581,
        "predicted_AVG": 0.241,
        "predicted_BB": 0.349,
        "predicted_H": 0.18,
        "predicted_HR": 0.03,
        "predicted_OBP": 0.248,
        "predicted_R": 0.558,
        "predicted_RBI": 0.11,
        "predicted_SLG": 0.317,
        "predicted_SO": 0.395
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1239,
        "predicted_3B": 0.0008,
        "predicted_AB": 3.6004,
        "predicted_AVG": 0.2201,
        "predicted_BB": 0.4337,
        "predicted_H": 0.5062,
        "predicted_HBP": 0.005,
        "predicted_HR": 0.0652,
        "predicted_OBP": 0.255,
        "predicted_R": 0.6297,
        "predicted_RBI": 0.1913,
        "predicted_SLG": 0.3058,
        "predicted_SO": 0.7086
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.105,
          "after": 0.1239,
          "delta": 0.0189,
          "percent_delta": 0.18,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0008,
          "delta": 0.0008,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.581,
          "after": 3.6004,
          "delta": 1.0194,
          "percent_delta": 0.395,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.241,
          "after": 0.2201,
          "delta": -0.0209,
          "percent_delta": -0.0867,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.349,
          "after": 0.4337,
          "delta": 0.0847,
          "percent_delta": 0.2427,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.18,
          "after": 0.5062,
          "delta": 0.3262,
          "percent_delta": 1.8122,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.03,
          "after": 0.0652,
          "delta": 0.0352,
          "percent_delta": 1.1733,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.248,
          "after": 0.255,
          "delta": 0.007,
          "percent_delta": 0.0282,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.558,
          "after": 0.6297,
          "delta": 0.0717,
          "percent_delta": 0.1285,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.11,
          "after": 0.1913,
          "delta": 0.0813,
          "percent_delta": 0.7391,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.317,
          "after": 0.3058,
          "delta": -0.0112,
          "percent_delta": -0.0353,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.395,
          "after": 0.7086,
          "delta": 0.3136,
          "percent_delta": 0.7939,
          "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_AB",
          "before": 2.581,
          "after": 3.6004,
          "delta": 1.0194,
          "percent_delta": 0.395,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.241,
          "after": 0.2201,
          "delta": -0.0209,
          "percent_delta": -0.0867,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 3,
        "last_10": 7,
        "season": 36
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1239,
        "predicted_3B": 0.0008,
        "predicted_AB": 3.6004,
        "predicted_AVG": 0.1364,
        "predicted_BB": 0.4296,
        "predicted_H": 0.4913,
        "predicted_HBP": 0.005,
        "predicted_HR": 0.0628,
        "predicted_OBP": 0.2285,
        "predicted_R": 0.5985,
        "predicted_RBI": 0.1818,
        "predicted_SLG": 0.2236,
        "predicted_SO": 0.7153
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1239,
          "after": 0.1239,
          "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.6004,
          "after": 3.6004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2201,
          "after": 0.1364,
          "delta": -0.0837,
          "percent_delta": -0.3803,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4337,
          "after": 0.4296,
          "delta": -0.0041,
          "percent_delta": -0.0095,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.5062,
          "after": 0.4913,
          "delta": -0.0149,
          "percent_delta": -0.0294,
          "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.0652,
          "after": 0.0628,
          "delta": -0.0024,
          "percent_delta": -0.0368,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.255,
          "after": 0.2285,
          "delta": -0.0265,
          "percent_delta": -0.1039,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6297,
          "after": 0.5985,
          "delta": -0.0312,
          "percent_delta": -0.0495,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1913,
          "after": 0.1818,
          "delta": -0.0095,
          "percent_delta": -0.0497,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3058,
          "after": 0.2236,
          "delta": -0.0822,
          "percent_delta": -0.2688,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7086,
          "after": 0.7153,
          "delta": 0.0067,
          "percent_delta": 0.0095,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.2201,
          "after": 0.1364,
          "delta": -0.0837,
          "percent_delta": -0.3803,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.60), rates preserved: AVG=0.136 HR/AB=0.017",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1239,
          "after": 0.0,
          "delta": -0.1239,
          "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.6004,
          "after": 4.0,
          "delta": 0.3996,
          "percent_delta": 0.111,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4296,
          "after": 0.0,
          "delta": -0.4296,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.4913,
          "after": 1.0,
          "delta": 0.5087,
          "percent_delta": 1.0354,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.005,
          "after": 0.0,
          "delta": -0.005,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0628,
          "after": 0.0,
          "delta": -0.0628,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1818,
          "after": 0.0,
          "delta": -0.1818,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7153,
          "after": 1.0,
          "delta": 0.2847,
          "percent_delta": 0.398,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 3,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.4913,
          "after": 1.0,
          "delta": 0.5087,
          "percent_delta": 1.0354,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4296,
          "after": 0.0,
          "delta": -0.4296,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.091)",
      "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": 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": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.8927,
        "bvp": 0.1073
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 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.5985,
          "after": 1.0,
          "delta": 0.4015,
          "percent_delta": 0.6708,
          "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.5985,
          "after": 1.0,
          "delta": 0.4015,
          "percent_delta": 0.6708,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.4,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.25,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1364,
          "after": 0.25,
          "delta": 0.1136,
          "percent_delta": 0.8328,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2285,
          "after": 0.4,
          "delta": 0.1715,
          "percent_delta": 0.7505,
          "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.2236,
          "after": 0.25,
          "delta": 0.0264,
          "percent_delta": 0.1181,
          "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.2285,
          "after": 0.4,
          "delta": 0.1715,
          "percent_delta": 0.7505,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 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": 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": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.1364,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2285,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2236,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.1364,
          "delta": -0.1136,
          "percent_delta": -0.4542,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.4,
          "after": 0.2285,
          "delta": -0.1715,
          "percent_delta": -0.4287,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.2236,
          "delta": -0.0264,
          "percent_delta": -0.1054,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.4,
          "after": 0.2285,
          "delta": -0.1715,
          "percent_delta": -0.4287,
          "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.105,
        "after": 0.0,
        "delta": -0.105,
        "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.581,
        "after": 4.0,
        "delta": 1.419,
        "percent_delta": 0.5498,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.241,
        "after": 0.1364,
        "delta": -0.1046,
        "percent_delta": -0.434,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.349,
        "after": 0.0,
        "delta": -0.349,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.18,
        "after": 0.0,
        "delta": -0.18,
        "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.248,
        "after": 0.2285,
        "delta": -0.0195,
        "percent_delta": -0.0786,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.558,
        "after": 0.0,
        "delta": -0.558,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.11,
        "after": 0.0,
        "delta": -0.11,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.317,
        "after": 0.2236,
        "delta": -0.0934,
        "percent_delta": -0.2946,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.395,
        "after": 1.0,
        "delta": 0.605,
        "percent_delta": 1.5316,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 2,
      "deboosted_metrics": 8,
      "better_metrics": 1,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 2.581,
        "after": 4.0,
        "delta": 1.419,
        "percent_delta": 0.5498,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.558,
        "after": 0.0,
        "delta": -0.558,
        "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.105-
predicted_3B0.000-
predicted_AB2.581-
predicted_AVG0.241-
predicted_BB0.349-
predicted_H0.180-
predicted_HR0.030-
predicted_OBP0.248-
predicted_R0.558-
predicted_RBI0.110-
predicted_SLG0.317-
predicted_SO0.395-
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.1240.019
predicted_3B0.0010.001
predicted_AB3.6001.019
predicted_AVG0.220-0.021
predicted_BB0.4340.085
predicted_H0.5060.326
predicted_HBP0.005-
predicted_HR0.0650.035
predicted_OBP0.2550.007
predicted_R0.6300.072
predicted_RBI0.1910.081
predicted_SLG0.306-0.011
predicted_SO0.7090.314
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.1240.000
predicted_3B0.0010.000
predicted_AB3.6000.000
predicted_AVG0.136-0.084
predicted_BB0.430-0.004
predicted_H0.491-0.015
predicted_HBP0.0050.000
predicted_HR0.063-0.002
predicted_OBP0.229-0.026
predicted_R0.599-0.031
predicted_RBI0.182-0.010
predicted_SLG0.224-0.082
predicted_SO0.7150.007
4. ab_floor_and_scaling

AB rounded to 4 (raw=3.60), rates preserved: AVG=0.136 HR/AB=0.017

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

Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.091)

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB1.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. 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.124
predicted_3B0.000-0.001
predicted_AB4.0000.400
predicted_AVG0.2500.114
predicted_BB1.0000.570
predicted_H1.0000.509
predicted_HR0.000-0.063
predicted_OBP0.4000.172
predicted_R1.0000.401
predicted_RBI0.000-0.182
predicted_SLG0.2500.026
predicted_SO1.0000.285
8. 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: 86
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.203-11.0000.0000.0000.0000.0000.0000.0000.0004.0000.00000.00000.00000.00000.00000.00000.00000.3636
last_100.207-17.0000.0000.0000.0000.0000.0000.0002.0007.0000.00000.10530.00000.00000.00000.00000.11770.4118
season0.6036-222.00060.0009.0000.0007.00017.00048.00030.00034.0000.27030.35160.40540.27030.03150.07660.13510.1532
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1500
predicted_3B0.0020
predicted_AB5.0120
predicted_AVG0.1912
predicted_BB0.5510
predicted_H0.9580
predicted_HBP0.0050
predicted_HR0.1140
predicted_OBP0.2647
predicted_R0.7290
predicted_RBI0.3040
predicted_SLG0.2902
predicted_SO1.1430
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.10500.15000.1239model_form_blend
predicted_3B0.00000.00200.0008model_form_blend
predicted_AB2.58105.01203.6004model_form_blend
predicted_AVG0.24100.19120.2201model_form_blend
predicted_BB0.34900.55100.4337model_form_blend
predicted_H0.18000.95800.5062model_form_blend
predicted_HBP-0.00500.0050form_only
predicted_HR0.03000.11400.0652model_form_blend
predicted_OBP0.24800.26470.2550model_form_blend
predicted_R0.55800.72900.6297model_form_blend
predicted_RBI0.11000.30400.1913model_form_blend
predicted_SLG0.31700.29020.3058model_form_blend
predicted_SO0.39501.14300.7086model_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 date91
Season rows before report date91
Report year2026
Profile rows used86
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.27

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB1
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder7
Hitting_substitutionOrder1
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedLF
gameID20260520_TOR@NYY
game_typeshort
mlbID664702
playerID664702
playerNameMyles Straw
posRF
startedFalse
startingPositionLF
teamTOR
teamID29
game_date2026-05-20
sl_k_percent15.1
sl_bb_percent10.5
sl_woba0.328
sl_xwoba0.331
sl_xba0.277
sl_xslg0.397
sl_sweet_spot_percent32.8
sl_barrel_batted_rate6.3
sl_hard_hit_percent25.0
sl_exit_velocity_avg86.5
sl_launch_angle_avg15.3
sl_whiff_percent13.1
sl_swing_percent38.0
Brandon Valenzuela (678218) · BATTER · C · Team TOR
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 85
All-history rows before 20260521: 85
System season_avg: 0.2670
Data season_avg (2026 season-to-date): 0.2674
Diff (system - data): -0.0004
System opponent_avg: 0.2630

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0610.0000.000Hitting_2B0.0590.000-0.0590.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.1463.0006.000Hitting_AB3.0353.000-0.0350.000
predicted_AVG0.2690.0000.167Hitting_AVG0.2670.333-0.267-0.333
predicted_BB0.3411.0001.000Hitting_BB0.3290.0000.6711.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.6100.0001.000Hitting_H0.8121.000-0.812-1.000
predicted_HR0.0900.0000.000Hitting_HR0.2000.000-0.2000.000
predicted_OBP0.3200.2500.286Hitting_OBP0.3390.333-0.089-0.083
predicted_R0.5370.0001.000Hitting_R0.5181.000-0.518-1.000
predicted_RBI0.3000.0001.000Hitting_RBI0.5180.000-0.5180.000
predicted_SLG0.3900.0000.167Hitting_SLG0.4840.333-0.484-0.333
predicted_SO0.9761.0002.000Hitting_SO0.9410.0000.0591.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_BB: 0.3410 -> 1.0000 (boost 0.6590, better)
Biggest Deboostpredicted_H: 0.6100 -> 0.0000 (deboost -0.6100, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend88071predicted_AB: 3.1460 -> 5.6102 (boost 2.4642, 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.2676 -> 0.2352 (deboost -0.0324, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling74334predicted_BB: 0.5243 -> 1.0000 (boost 0.4757, better)predicted_H: 1.3198 -> 1.0000 (deboost -0.3198, worse)AB rounded to 6 (raw=5.61), rates preserved: AVG=0.235 HR/AB=0.042
5consistency_constraints11010predicted_R: 0.8053 -> 1.0000 (boost 0.1947, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context30303-predicted_SLG: 0.3794 -> 0.1670 (deboost -0.2124, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference50514-predicted_AB: 6.0000 -> 3.0000 (deboost -3.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final33030predicted_SLG: 0.1670 -> 0.3794 (boost 0.2124, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "678218",
  "player_name": "Brandon Valenzuela",
  "position": "C",
  "team": "TOR",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.061,
        "predicted_3B": 0.0,
        "predicted_AB": 3.146,
        "predicted_AVG": 0.269,
        "predicted_BB": 0.341,
        "predicted_H": 0.61,
        "predicted_HR": 0.09,
        "predicted_OBP": 0.32,
        "predicted_R": 0.537,
        "predicted_RBI": 0.3,
        "predicted_SLG": 0.39,
        "predicted_SO": 0.976
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1053,
        "predicted_3B": 0.0013,
        "predicted_AB": 5.6102,
        "predicted_AVG": 0.2676,
        "predicted_BB": 0.5293,
        "predicted_H": 1.3599,
        "predicted_HBP": 0.008,
        "predicted_HR": 0.2424,
        "predicted_OBP": 0.3221,
        "predicted_R": 0.8473,
        "predicted_RBI": 0.683,
        "predicted_SLG": 0.4093,
        "predicted_SO": 1.7529
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.061,
          "after": 0.1053,
          "delta": 0.0443,
          "percent_delta": 0.7262,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0013,
          "delta": 0.0013,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.146,
          "after": 5.6102,
          "delta": 2.4642,
          "percent_delta": 0.7833,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.269,
          "after": 0.2676,
          "delta": -0.0014,
          "percent_delta": -0.0052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.341,
          "after": 0.5293,
          "delta": 0.1883,
          "percent_delta": 0.5522,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.61,
          "after": 1.3599,
          "delta": 0.7499,
          "percent_delta": 1.2293,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.09,
          "after": 0.2424,
          "delta": 0.1524,
          "percent_delta": 1.6933,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.32,
          "after": 0.3221,
          "delta": 0.0021,
          "percent_delta": 0.0066,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.537,
          "after": 0.8473,
          "delta": 0.3103,
          "percent_delta": 0.5778,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3,
          "after": 0.683,
          "delta": 0.383,
          "percent_delta": 1.2767,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.39,
          "after": 0.4093,
          "delta": 0.0193,
          "percent_delta": 0.0495,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.976,
          "after": 1.7529,
          "delta": 0.7769,
          "percent_delta": 0.796,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 8,
        "deboosted_metrics": 0,
        "better_metrics": 7,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.146,
          "after": 5.6102,
          "delta": 2.4642,
          "percent_delta": 0.7833,
          "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": 2,
        "last_10": 4,
        "season": 27
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1053,
        "predicted_3B": 0.0013,
        "predicted_AB": 5.6102,
        "predicted_AVG": 0.2352,
        "predicted_BB": 0.5243,
        "predicted_H": 1.3198,
        "predicted_HBP": 0.008,
        "predicted_HR": 0.2335,
        "predicted_OBP": 0.3006,
        "predicted_R": 0.8053,
        "predicted_RBI": 0.6491,
        "predicted_SLG": 0.3794,
        "predicted_SO": 1.7694
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1053,
          "after": 0.1053,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0013,
          "after": 0.0013,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.6102,
          "after": 5.6102,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2676,
          "after": 0.2352,
          "delta": -0.0324,
          "percent_delta": -0.1211,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5293,
          "after": 0.5243,
          "delta": -0.005,
          "percent_delta": -0.0094,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.3599,
          "after": 1.3198,
          "delta": -0.0401,
          "percent_delta": -0.0295,
          "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.2424,
          "after": 0.2335,
          "delta": -0.0089,
          "percent_delta": -0.0367,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3221,
          "after": 0.3006,
          "delta": -0.0215,
          "percent_delta": -0.0667,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.8473,
          "after": 0.8053,
          "delta": -0.042,
          "percent_delta": -0.0496,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.683,
          "after": 0.6491,
          "delta": -0.0339,
          "percent_delta": -0.0496,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4093,
          "after": 0.3794,
          "delta": -0.0299,
          "percent_delta": -0.0731,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.7529,
          "after": 1.7694,
          "delta": 0.0165,
          "percent_delta": 0.0094,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.2676,
          "after": 0.2352,
          "delta": -0.0324,
          "percent_delta": -0.1211,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 6 (raw=5.61), rates preserved: AVG=0.235 HR/AB=0.042",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.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.1053,
          "after": 0.0,
          "delta": -0.1053,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0013,
          "after": 0.0,
          "delta": -0.0013,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.6102,
          "after": 6.0,
          "delta": 0.3898,
          "percent_delta": 0.0695,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5243,
          "after": 1.0,
          "delta": 0.4757,
          "percent_delta": 0.9073,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.3198,
          "after": 1.0,
          "delta": -0.3198,
          "percent_delta": -0.2423,
          "direction": "deboost",
          "projection_effect": "worse",
          "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.2335,
          "after": 0.0,
          "delta": -0.2335,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6491,
          "after": 1.0,
          "delta": 0.3509,
          "percent_delta": 0.5406,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.7694,
          "after": 2.0,
          "delta": 0.2306,
          "percent_delta": 0.1303,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 4,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.5243,
          "after": 1.0,
          "delta": 0.4757,
          "percent_delta": 0.9073,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.3198,
          "after": 1.0,
          "delta": -0.3198,
          "percent_delta": -0.2423,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_BB": 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": 6.0,
          "after": 6.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.8053,
          "after": 1.0,
          "delta": 0.1947,
          "percent_delta": 0.2418,
          "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.8053,
          "after": 1.0,
          "delta": 0.1947,
          "percent_delta": 0.2418,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_AVG": 0.167,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.286,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.167,
        "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": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2352,
          "after": 0.167,
          "delta": -0.0682,
          "percent_delta": -0.29,
          "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.3006,
          "after": 0.286,
          "delta": -0.0146,
          "percent_delta": -0.0486,
          "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.3794,
          "after": 0.167,
          "delta": -0.2124,
          "percent_delta": -0.5598,
          "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.3794,
          "after": 0.167,
          "delta": -0.2124,
          "percent_delta": -0.5598,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 3.0,
          "delta": -3.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 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_AB",
          "before": 6.0,
          "after": 3.0,
          "delta": -3.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2352,
        "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.3006,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3794,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.167,
          "after": 0.2352,
          "delta": 0.0682,
          "percent_delta": 0.4087,
          "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.286,
          "after": 0.3006,
          "delta": 0.0146,
          "percent_delta": 0.0511,
          "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.167,
          "after": 0.3794,
          "delta": 0.2124,
          "percent_delta": 1.2716,
          "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.167,
          "after": 0.3794,
          "delta": 0.2124,
          "percent_delta": 1.2716,
          "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.061,
        "after": 0.0,
        "delta": -0.061,
        "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.146,
        "after": 3.0,
        "delta": -0.146,
        "percent_delta": -0.0464,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.269,
        "after": 0.2352,
        "delta": -0.0338,
        "percent_delta": -0.1257,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.341,
        "after": 1.0,
        "delta": 0.659,
        "percent_delta": 1.9326,
        "direction": "boost",
        "projection_effect": "better",
        "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.09,
        "after": 0.0,
        "delta": -0.09,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.32,
        "after": 0.3006,
        "delta": -0.0194,
        "percent_delta": -0.0606,
        "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.3,
        "after": 0.0,
        "delta": -0.3,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.39,
        "after": 0.3794,
        "delta": -0.0106,
        "percent_delta": -0.0272,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.976,
        "after": 1.0,
        "delta": 0.024,
        "percent_delta": 0.0246,
        "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_BB",
        "before": 0.341,
        "after": 1.0,
        "delta": 0.659,
        "percent_delta": 1.9326,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.61,
        "after": 0.0,
        "delta": -0.61,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.061-
predicted_3B0.000-
predicted_AB3.146-
predicted_AVG0.269-
predicted_BB0.341-
predicted_H0.610-
predicted_HR0.090-
predicted_OBP0.320-
predicted_R0.537-
predicted_RBI0.300-
predicted_SLG0.390-
predicted_SO0.976-
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.1050.044
predicted_3B0.0010.001
predicted_AB5.6102.464
predicted_AVG0.268-0.001
predicted_BB0.5290.188
predicted_H1.3600.750
predicted_HBP0.008-
predicted_HR0.2420.152
predicted_OBP0.3220.002
predicted_R0.8470.310
predicted_RBI0.6830.383
predicted_SLG0.4090.019
predicted_SO1.7530.777
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.0010.000
predicted_AB5.6100.000
predicted_AVG0.235-0.032
predicted_BB0.524-0.005
predicted_H1.320-0.040
predicted_HBP0.0080.000
predicted_HR0.234-0.009
predicted_OBP0.301-0.022
predicted_R0.805-0.042
predicted_RBI0.649-0.034
predicted_SLG0.379-0.030
predicted_SO1.7690.017
4. ab_floor_and_scaling

AB rounded to 6 (raw=5.61), rates preserved: AVG=0.235 HR/AB=0.042

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB6.000-
BB1.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO2.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB6.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
6. 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.001
predicted_AB6.0000.390
predicted_AVG0.167-0.068
predicted_BB1.0000.476
predicted_H1.000-0.320
predicted_HR0.000-0.234
predicted_OBP0.286-0.015
predicted_R1.0000.195
predicted_RBI1.0000.351
predicted_SLG0.167-0.212
predicted_SO2.0000.231
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-3.000
BB1.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.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 82
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-19.0005.0000.0000.0000.0000.0001.0000.0008.0000.26320.26320.26320.26320.00000.00000.00000.4210
last_100.204-37.00010.0000.0000.0000.0000.0001.0001.00012.0000.27030.28950.27030.27030.00000.00000.02700.3243
season0.6027-258.00069.0005.0000.00017.00044.00044.00028.00080.0000.26740.33920.48450.26740.06590.17050.10850.3101
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1660
predicted_3B0.0030
predicted_AB8.9820
predicted_AVG0.2657
predicted_BB0.7870
predicted_H2.3860
predicted_HBP0.0080
predicted_HR0.4510
predicted_OBP0.3249
predicted_R1.2720
predicted_RBI1.2070
predicted_SLG0.4357
predicted_SO2.8160
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.06100.16600.1053model_form_blend
predicted_3B0.00000.00300.0013model_form_blend
predicted_AB3.14608.98205.6102model_form_blend
predicted_AVG0.26900.26570.2676model_form_blend
predicted_BB0.34100.78700.5293model_form_blend
predicted_H0.61002.38601.3599model_form_blend
predicted_HBP-0.00800.0080form_only
predicted_HR0.09000.45100.2424model_form_blend
predicted_OBP0.32000.32490.3221model_form_blend
predicted_R0.53701.27200.8473model_form_blend
predicted_RBI0.30001.20700.6830model_form_blend
predicted_SLG0.39000.43570.4093model_form_blend
predicted_SO0.97602.81601.7529model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date85
Season rows before report date85
Report year2026
Profile rows used82
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

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

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_SAC1
Hitting_SF0
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
gameID20260520_TOR@NYY
game_typefull
mlbID678218
playerID678218
playerNameBrandon Valenzuela
posC
startedTrue
startingPositionC
teamTOR
teamID29
game_date2026-05-20
sl_k_percent28.4
sl_bb_percent9.9
sl_woba0.322
sl_xwoba0.326
sl_xba0.252
sl_xslg0.411
sl_sweet_spot_percent38.0
sl_barrel_batted_rate10.0
sl_hard_hit_percent44.0
sl_exit_velocity_avg89.8
sl_launch_angle_avg14.2
sl_whiff_percent29.0
sl_swing_percent51.3
Davis Schneider (676914) · BATTER · LF · Team TOR
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 89
All-history rows before 20260521: 89
System season_avg: 0.1260
Data season_avg (2026 season-to-date): 0.1262
Diff (system - data): -0.0002
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.1340.0000.000Hitting_2B0.1240.000-0.1240.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.6103.0004.000Hitting_AB2.4042.0000.5961.000
predicted_AVG0.2590.3330.250Hitting_AVG0.1260.0000.2070.333
predicted_BB0.6340.0001.000Hitting_BB0.6291.000-0.629-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.4301.0001.000Hitting_H0.3030.0000.6971.000
predicted_HR0.0601.0000.000Hitting_HR0.0110.0000.9891.000
predicted_OBP0.2970.3330.400Hitting_OBP0.3070.3330.0260.000
predicted_R0.3661.0001.000Hitting_R0.4040.0000.5961.000
predicted_RBI0.2601.0000.000Hitting_RBI0.2470.0000.7531.000
predicted_SLG0.2921.3330.250Hitting_SLG0.1920.0001.1421.333
predicted_SO1.1221.0002.000Hitting_SO1.0341.000-0.0340.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_HR: 0.0600 -> 1.0000 (boost 0.9400, better)
Biggest Deboostpredicted_BB: 0.6340 -> 0.0000 (deboost -0.6340, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend97263predicted_AB: 2.6100 -> 4.4065 (boost 1.7965, better)predicted_AVG: 0.2590 -> 0.2035 (deboost -0.0555, worse)Final model 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_AVG: 0.2035 -> 0.1358 (deboost -0.0677, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling62415predicted_H: 0.5984 -> 1.0000 (boost 0.4016, better)predicted_AB: 4.4065 -> 4.0000 (deboost -0.4065, worse)AB rounded to 4 (raw=4.41), rates preserved: AVG=0.136 HR/AB=0.012
5bvp_blend00000--Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.250)
6consistency_constraints11010predicted_R: 0.5260 -> 1.0000 (boost 0.4740, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context33030predicted_AVG: 0.1358 -> 0.2500 (boost 0.1142, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference52332predicted_HR: 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
9current_json_final30303-predicted_AVG: 0.2500 -> 0.1358 (deboost -0.1142, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "676914",
  "player_name": "Davis Schneider",
  "position": "LF",
  "team": "TOR",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.134,
        "predicted_3B": 0.0,
        "predicted_AB": 2.61,
        "predicted_AVG": 0.259,
        "predicted_BB": 0.634,
        "predicted_H": 0.43,
        "predicted_HR": 0.06,
        "predicted_OBP": 0.297,
        "predicted_R": 0.366,
        "predicted_RBI": 0.26,
        "predicted_SLG": 0.292,
        "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.2034,
        "predicted_3B": 0.0013,
        "predicted_AB": 4.4065,
        "predicted_AVG": 0.2035,
        "predicted_BB": 1.0531,
        "predicted_H": 0.6166,
        "predicted_HBP": 0.006,
        "predicted_HR": 0.0545,
        "predicted_OBP": 0.2963,
        "predicted_R": 0.5535,
        "predicted_RBI": 0.4122,
        "predicted_SLG": 0.25,
        "predicted_SO": 1.882
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.134,
          "after": 0.2034,
          "delta": 0.0694,
          "percent_delta": 0.5179,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0013,
          "delta": 0.0013,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.61,
          "after": 4.4065,
          "delta": 1.7965,
          "percent_delta": 0.6883,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.259,
          "after": 0.2035,
          "delta": -0.0555,
          "percent_delta": -0.2143,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.634,
          "after": 1.0531,
          "delta": 0.4191,
          "percent_delta": 0.661,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.43,
          "after": 0.6166,
          "delta": 0.1866,
          "percent_delta": 0.434,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.06,
          "after": 0.0545,
          "delta": -0.0055,
          "percent_delta": -0.0917,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.297,
          "after": 0.2963,
          "delta": -0.0007,
          "percent_delta": -0.0024,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.366,
          "after": 0.5535,
          "delta": 0.1875,
          "percent_delta": 0.5123,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.26,
          "after": 0.4122,
          "delta": 0.1522,
          "percent_delta": 0.5854,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.292,
          "after": 0.25,
          "delta": -0.042,
          "percent_delta": -0.1438,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.122,
          "after": 1.882,
          "delta": 0.76,
          "percent_delta": 0.6774,
          "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_AB",
          "before": 2.61,
          "after": 4.4065,
          "delta": 1.7965,
          "percent_delta": 0.6883,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.259,
          "after": 0.2035,
          "delta": -0.0555,
          "percent_delta": -0.2143,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 2,
        "last_10": 3,
        "season": 29
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2034,
        "predicted_3B": 0.0013,
        "predicted_AB": 4.4065,
        "predicted_AVG": 0.1358,
        "predicted_BB": 1.0432,
        "predicted_H": 0.5984,
        "predicted_HBP": 0.006,
        "predicted_HR": 0.0525,
        "predicted_OBP": 0.3012,
        "predicted_R": 0.526,
        "predicted_RBI": 0.3918,
        "predicted_SLG": 0.2183,
        "predicted_SO": 1.8997
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2034,
          "after": 0.2034,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0013,
          "after": 0.0013,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.4065,
          "after": 4.4065,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2035,
          "after": 0.1358,
          "delta": -0.0677,
          "percent_delta": -0.3327,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0531,
          "after": 1.0432,
          "delta": -0.0099,
          "percent_delta": -0.0094,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.6166,
          "after": 0.5984,
          "delta": -0.0182,
          "percent_delta": -0.0295,
          "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.0545,
          "after": 0.0525,
          "delta": -0.002,
          "percent_delta": -0.0367,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2963,
          "after": 0.3012,
          "delta": 0.0049,
          "percent_delta": 0.0165,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5535,
          "after": 0.526,
          "delta": -0.0275,
          "percent_delta": -0.0497,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4122,
          "after": 0.3918,
          "delta": -0.0204,
          "percent_delta": -0.0495,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.2183,
          "delta": -0.0317,
          "percent_delta": -0.1268,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.882,
          "after": 1.8997,
          "delta": 0.0177,
          "percent_delta": 0.0094,
          "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.2035,
          "after": 0.1358,
          "delta": -0.0677,
          "percent_delta": -0.3327,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.41), rates preserved: AVG=0.136 HR/AB=0.012",
      "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": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2034,
          "after": 0.0,
          "delta": -0.2034,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0013,
          "after": 0.0,
          "delta": -0.0013,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.4065,
          "after": 4.0,
          "delta": -0.4065,
          "percent_delta": -0.0923,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0432,
          "after": 1.0,
          "delta": -0.0432,
          "percent_delta": -0.0414,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.5984,
          "after": 1.0,
          "delta": 0.4016,
          "percent_delta": 0.6711,
          "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.0525,
          "after": 0.0,
          "delta": -0.0525,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3918,
          "after": 0.0,
          "delta": -0.3918,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.8997,
          "after": 2.0,
          "delta": 0.1003,
          "percent_delta": 0.0528,
          "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.5984,
          "after": 1.0,
          "delta": 0.4016,
          "percent_delta": 0.6711,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.4065,
          "after": 4.0,
          "delta": -0.4065,
          "percent_delta": -0.0923,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.250)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 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_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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.8857,
        "bvp": 0.1143
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 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.526,
          "after": 1.0,
          "delta": 0.474,
          "percent_delta": 0.9011,
          "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": 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.526,
          "after": 1.0,
          "delta": 0.474,
          "percent_delta": 0.9011,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.4,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.25,
        "predicted_SO": 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.1358,
          "after": 0.25,
          "delta": 0.1142,
          "percent_delta": 0.8409,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3012,
          "after": 0.4,
          "delta": 0.0988,
          "percent_delta": 0.328,
          "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.2183,
          "after": 0.25,
          "delta": 0.0317,
          "percent_delta": 0.1452,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.1358,
          "after": 0.25,
          "delta": 0.1142,
          "percent_delta": 0.8409,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 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": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 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": 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": 2,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.1358,
        "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.3012,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2183,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.1358,
          "delta": -0.1142,
          "percent_delta": -0.4568,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.4,
          "after": 0.3012,
          "delta": -0.0988,
          "percent_delta": -0.2469,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.2183,
          "delta": -0.0317,
          "percent_delta": -0.1268,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.1358,
          "delta": -0.1142,
          "percent_delta": -0.4568,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.134,
        "after": 0.0,
        "delta": -0.134,
        "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.61,
        "after": 3.0,
        "delta": 0.39,
        "percent_delta": 0.1494,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.259,
        "after": 0.1358,
        "delta": -0.1232,
        "percent_delta": -0.4757,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.634,
        "after": 0.0,
        "delta": -0.634,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.43,
        "after": 1.0,
        "delta": 0.57,
        "percent_delta": 1.3256,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.06,
        "after": 1.0,
        "delta": 0.94,
        "percent_delta": 15.6667,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.297,
        "after": 0.3012,
        "delta": 0.0042,
        "percent_delta": 0.0141,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.366,
        "after": 1.0,
        "delta": 0.634,
        "percent_delta": 1.7322,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.26,
        "after": 1.0,
        "delta": 0.74,
        "percent_delta": 2.8462,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.292,
        "after": 0.2183,
        "delta": -0.0737,
        "percent_delta": -0.2524,
        "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_HR",
        "before": 0.06,
        "after": 1.0,
        "delta": 0.94,
        "percent_delta": 15.6667,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.634,
        "after": 0.0,
        "delta": -0.634,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.134-
predicted_3B0.000-
predicted_AB2.610-
predicted_AVG0.259-
predicted_BB0.634-
predicted_H0.430-
predicted_HR0.060-
predicted_OBP0.297-
predicted_R0.366-
predicted_RBI0.260-
predicted_SLG0.292-
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.2030.069
predicted_3B0.0010.001
predicted_AB4.4071.797
predicted_AVG0.203-0.056
predicted_BB1.0530.419
predicted_H0.6170.187
predicted_HBP0.006-
predicted_HR0.054-0.005
predicted_OBP0.296-0.001
predicted_R0.5530.188
predicted_RBI0.4120.152
predicted_SLG0.250-0.042
predicted_SO1.8820.760
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.2030.000
predicted_3B0.0010.000
predicted_AB4.4070.000
predicted_AVG0.136-0.068
predicted_BB1.043-0.010
predicted_H0.598-0.018
predicted_HBP0.0060.000
predicted_HR0.052-0.002
predicted_OBP0.3010.005
predicted_R0.526-0.027
predicted_RBI0.392-0.020
predicted_SLG0.218-0.032
predicted_SO1.9000.018
4. ab_floor_and_scaling

AB rounded to 4 (raw=4.41), rates preserved: AVG=0.136 HR/AB=0.012

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB1.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO2.000-
5. bvp_blend

Sample-size BvP blend (BvP AB=12.0, weight=0.114, 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
SO2.0000.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-
SO2.0000.000
7. 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.203
predicted_3B0.000-0.001
predicted_AB4.000-0.407
predicted_AVG0.2500.114
predicted_BB1.000-0.043
predicted_H1.0000.402
predicted_HR0.000-0.052
predicted_OBP0.4000.099
predicted_R1.0000.474
predicted_RBI0.000-0.392
predicted_SLG0.2500.032
predicted_SO2.0000.100
8. 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
H1.0000.000
HBP0.0000.000
HR1.0001.000
PA3.000-
R1.0000.000
RBI1.0001.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: 82
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-10.0000.0000.0000.0000.0000.0000.0004.0006.0000.00000.28570.00000.00000.00000.00000.40000.6000
last_100.203-28.0004.0000.0000.0000.0000.0000.0004.00012.0000.14290.25000.14290.14290.00000.00000.14290.4286
season0.6029-214.00027.00011.0000.0001.00022.00030.00052.00092.0000.12620.29700.19160.12620.00470.10280.24300.4299
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2990
predicted_3B0.0030
predicted_AB6.8840
predicted_AVG0.1270
predicted_BB1.6310
predicted_H0.8740
predicted_HBP0.0060
predicted_HR0.0470
predicted_OBP0.2953
predicted_R0.8120
predicted_RBI0.6220
predicted_SLG0.1920
predicted_SO2.9300
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.13400.29900.2034model_form_blend
predicted_3B0.00000.00300.0013model_form_blend
predicted_AB2.61006.88404.4065model_form_blend
predicted_AVG0.25900.12700.2035model_form_blend
predicted_BB0.63401.63101.0531model_form_blend
predicted_H0.43000.87400.6166model_form_blend
predicted_HBP-0.00600.0060form_only
predicted_HR0.06000.04700.0545model_form_blend
predicted_OBP0.29700.29530.2963model_form_blend
predicted_R0.36600.81200.5535model_form_blend
predicted_RBI0.26000.62200.4122model_form_blend
predicted_SLG0.29200.19200.2500model_form_blend
predicted_SO1.12202.93001.8820model_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 date89
Season rows before report date89
Report year2026
Profile rows used82
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA3
AB3
H1
2B0
3B0
HR1
R1
RBI1
BB0
SO1
SF0
HBP0
season_avg0.126

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB2
Hitting_AVG0.0
Hitting_BB1
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC1
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
allPositionsPlayed2B-LF
gameID20260519_TOR@NYY
game_typefull
mlbID676914
playerID676914
playerNameDavis Schneider
posLF
startedTrue
startingPosition2B
teamTOR
teamID29
game_date2026-05-19
game_pk823548.0
sl_k_percent34.5
sl_bb_percent20.2
sl_woba0.27
sl_xwoba0.291
sl_xba0.164
sl_xslg0.266
sl_sweet_spot_percent28.9
sl_barrel_batted_rate10.5
sl_hard_hit_percent42.1
sl_exit_velocity_avg86.6
sl_launch_angle_avg22.9
sl_whiff_percent30.9
sl_swing_percent36.2
at_bat_number67.0
ab_pitcher687396.0
ab_pitcher_nameHeadrick, Brent
ab_home_teamNYY
ab_away_teamTOR
ab_game_typeR
ab_standR
ab_p_throwsL
ab_inning8.0
ab_inning_topbotTop
ab_outs_when_up2.0
ab_balls_start0.0
ab_strikes_start0.0
ab_home_score_start5.0
ab_away_score_start3.0
ab_bat_score_start3.0
ab_fld_score_start5.0
ab_eventfield_out
ab_event_descriptionDavis Schneider flies out to right fielder Aaron Judge.
ab_event_typeX
ab_bb_typefly_ball
ab_hit_location9.0
ab_pitch_type_lastFF
ab_pitch_name_last4-Seam Fastball
ab_zone_last8.0
ab_launch_speed_last94.1
ab_launch_angle_last60.0
ab_hit_distance_last230.0
ab_estimated_ba_last0.02
ab_estimated_woba_last0.025
ab_estimated_slg_last0.035
ab_woba_value0.0
ab_woba_denom1.0
ab_babip_value0.0
ab_iso_value0.0
ab_balls_end0.0
ab_strikes_end2.0
ab_home_score_end5.0
ab_away_score_end3.0
ab_bat_score_end3.0
ab_fld_score_end5.0
ab_pitch_count4.0
ab_release_speed_avg92.875
ab_release_spin_rate_avg2205.25
ab_effective_speed_avg94.25
ab_launch_speed_avg75.23333333333333
ab_launch_angle_avg30.33333333333333
ab_delta_run_exp_avg-0.065
ab_delta_home_win_exp_avg0.00325
ab_delta_pitcher_run_exp_avg0.065
ab_bat_speed_avg71.86666666666666
ab_swing_length_avg7.5
ab_launch_speed_max94.1
ab_hit_distance_sc_max233.0
ab_release_speed_max96.1
ab_release_spin_rate_max2333.0
ab_release_speed_min84.5
ab_release_spin_rate_min1922.0
ab_delta_run_exp_sum-0.26
ab_delta_home_win_exp_sum0.013
ab_delta_pitcher_run_exp_sum0.26
ab_result_is_hitFalse
ab_result_is_walkFalse
ab_result_is_strikeoutFalse
ab_result_is_hbpFalse
Braydon Fisher (680755) · PITCHER · Starter · Team TOR
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 24
All-history rows before 20260521: 24

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB4.0004.0004.000Pitching_BB0.4170.0003.5834.000
predicted_ER2.0002.0002.000Pitching_ER0.3750.0001.6252.000
predicted_H3.0003.0003.000Pitching_H0.7501.0002.2502.000
predicted_IP5.0005.0005.000Pitching_InningsPitched0.9121.2004.0883.800
predicted_SO5.0005.0005.000Pitching_SO1.0001.0004.0004.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": "680755",
  "player_name": "Braydon Fisher",
  "position": "Starter",
  "team": "TOR",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 4.0,
        "predicted_ER": 2.0,
        "predicted_H": 3.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": 4.0,
        "predicted_ER": 2.0,
        "predicted_H": 3.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.0,
        "predicted_SO": 5.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 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": 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": 4.0,
        "predicted_ER": 2.0,
        "predicted_H": 3.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.0,
        "predicted_R": 2.0,
        "predicted_SO": 5.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 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": 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": 4.0,
        "after": 4.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": 3.0,
        "after": 3.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 5.0,
        "after": 5.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 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_BB4.000-
predicted_ER2.000-
predicted_H3.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_BB4.0000.000
predicted_ER2.0000.000
predicted_H3.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: 24
Reference playing time: 5.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.2003.0004.0002.0004.0001.0004.76471.05880.52940.70590.35290.70590.1765
last_100.351011.0006.0007.0004.0009.0001.0004.90911.00000.54540.63640.36360.81820.0909
season0.202426.1009.00018.00010.00024.0002.0003.07591.06330.34180.68350.37970.91140.0760
Weighted Prediction From Real Data
MetricValue
predicted_BB1.0910
predicted_ER1.4330
predicted_ERA4.3607
predicted_H2.3850
predicted_HR0.3800
predicted_IP3.0000
predicted_SO2.5640
predicted_WHIP1.1753
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB4.00001.09102.7106model_form_blend
predicted_ER2.00001.43301.7487model_form_blend
predicted_ERA-4.36074.3607form_only
predicted_H3.00002.38502.7274model_form_blend
predicted_HR0.00000.38000.1684model_form_blend
predicted_IP5.00003.00004.1000model_form_blend
predicted_SO5.00002.56403.9203model_form_blend
predicted_WHIP-1.17531.1753form_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 date24
Season rows before report date24
Report year2026
Profile rows used24
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP5.0
H3
R2
ER2
BB4
SO5
HR0
BF22
Pitches100

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.08
Pitching_Flyouts2
Pitching_Groundouts1
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.2
Pitching_Pitches27
Pitching_R0
Pitching_SO1
Pitching_Strikes17
Pitching_Wild Pitch0
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20260518_TOR@NYY
game_typefull
mlbID680755
playerID680755
playerNameBraydon Fisher
posP
startedFalse
startingPositionP
teamTOR
teamID29
game_date2026-05-18
game_pk823549.0
sl_k_percent23.8
sl_bb_percent9.9
sl_woba0.287
sl_xwoba0.329
sl_sweet_spot_percent33.8
sl_barrel_batted_rate12.3
sl_hard_hit_percent40.0
sl_whiff_percent25.9
sl_swing_percent45.5
sv_pitch_count27.0
sv_outs_recorded_est5.0
sv_release_speed87.05185185185185
sv_release_spin_rate2435.555555555556
sv_effective_speed85.5
sv_launch_speed86.63
sv_launch_angle39.3
sv_woba_value0.9
sv_woba_denom6.0
sv_delta_run_exp-0.896
sv_delta_home_win_exp-0.115
sl_avg_best_speed78.32308303
sl_avg_hyper_speed93.672957231
Louis Varland (686973) · PITCHER · Middle Reliever · Team TOR
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 24
All-history rows before 20260521: 24

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.3750.000-0.3750.000
predicted_ER0.0000.0000.000Pitching_ER0.0831.000-0.083-1.000
predicted_H0.0000.0000.000Pitching_H0.8752.000-0.875-2.000
predicted_IP1.1001.1001.100Pitching_InningsPitched0.9631.0000.1380.100
predicted_SO1.0001.0001.000Pitching_SO1.5422.000-0.542-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics1
Boosted Metrics1
Deboosted Metrics0
Better Metrics1
Worse Metrics0
Biggest Boostpredicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better)
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final11010predicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "686973",
  "player_name": "Louis Varland",
  "position": "Middle Reliever",
  "team": "TOR",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.1,
        "predicted_R": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.1,
          "delta": 0.1,
          "percent_delta": 0.1,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.1,
          "delta": 0.1,
          "percent_delta": 0.1,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.1,
        "delta": 0.1,
        "percent_delta": 0.1,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 1,
      "deboosted_metrics": 0,
      "better_metrics": 1,
      "worse_metrics": 0,
      "biggest_boost": {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.1,
        "delta": 0.1,
        "percent_delta": 0.1,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": null,
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 24
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4556.0001.0007.0002.0008.0000.0001.50001.50000.16671.16670.33331.33330.0000
last_100.351010.2001.0009.0005.00014.0000.0000.84381.31250.09380.84380.46881.31250.0000
season0.202425.2002.00021.0009.00037.0000.0000.70131.16880.07790.81820.35071.44160.0000
Weighted Prediction From Real Data
MetricValue
predicted_BB0.4090
predicted_ER0.3180
predicted_ERA2.6616
predicted_H1.0360
predicted_HR0.0700
predicted_IP1.0000
predicted_SO1.2380
predicted_WHIP1.3430
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.40900.1802model_form_blend
predicted_ER0.00000.31800.1401model_form_blend
predicted_ERA-2.66162.6616form_only
predicted_H0.00001.03600.4564model_form_blend
predicted_HR0.00000.07000.0308model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00001.23801.1048model_form_blend
predicted_WHIP-1.34301.3430form_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 date24
Season rows before report date24
Report year2026
Profile rows used24
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
Pitches31

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_ER1
Pitching_ERA0.70
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H2
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches24
Pitching_R1
Pitching_SO2
Pitching_Strikes18
Pitching_Wild Pitch0
Pitching_decisionS
Pitching_pitchingOrder5
allPositionsPlayedP
gameID20260520_TOR@NYY
game_typefull
mlbID686973
playerID686973
playerNameLouis Varland
posP
startedFalse
startingPositionP
teamTOR
teamID29
game_date2026-05-20
sl_k_percent35.7
sl_bb_percent9.2
sl_woba0.242
sl_xwoba0.219
sl_sweet_spot_percent22.2
sl_barrel_batted_rate0.0
sl_hard_hit_percent33.3
sl_whiff_percent29.8
sl_swing_percent49.9
sl_avg_best_speed75.054445926
sl_avg_hyper_speed92.986541111
Tyler Rogers (643511) · PITCHER · Middle Reliever · Team TOR
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 23
All-history rows before 20260521: 23

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.3040.000-0.3040.000
predicted_ER0.0000.0000.000Pitching_ER0.1740.000-0.1740.000
predicted_H0.0000.0000.000Pitching_H0.7390.000-0.7390.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.9001.0000.1000.000
predicted_SO2.0002.0002.000Pitching_SO0.6521.0001.3481.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": "643511",
  "player_name": "Tyler Rogers",
  "position": "Middle Reliever",
  "team": "TOR",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 0,
      "boosted_metrics": 0,
      "deboosted_metrics": 0,
      "better_metrics": 0,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": null,
      "has_material_change": false,
      "dominant_effect": "neutral"
    }
  }
}

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 23
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.0002.0003.0005.0000.0000.00001.07140.00000.42860.64291.07140.0000
last_100.35109.0003.0009.0003.0009.0000.0003.00001.33330.33331.00000.33331.00000.0000
season0.202322.1004.00017.0007.00015.0000.0001.61191.07460.17910.76120.31340.67160.0000
Weighted Prediction From Real Data
MetricValue
predicted_BB0.4200
predicted_ER0.3210
predicted_ERA2.8930
predicted_H0.8260
predicted_HR0.0690
predicted_IP1.0000
predicted_SO0.9580
predicted_WHIP1.2452
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.42000.1789model_form_blend
predicted_ER0.00000.32100.1367model_form_blend
predicted_ERA-2.89302.8930form_only
predicted_H0.00000.82600.3518model_form_blend
predicted_HR0.00000.06900.0294model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO2.00000.95801.5562model_form_blend
predicted_WHIP-1.24521.2452form_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 date23
Season rows before report date23
Report year2026
Profile rows used23
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
SO2
HR0
BF3
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 Faced3
Pitching_ER0
Pitching_ERA1.61
Pitching_Flyouts1
Pitching_Groundouts1
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches10
Pitching_R0
Pitching_SO1
Pitching_Strikes7
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260520_TOR@NYY
game_typefull
mlbID643511
playerID643511
playerNameTyler Rogers
posP
startedFalse
startingPositionP
teamTOR
teamID29
game_date2026-05-20
sl_k_percent15.9
sl_bb_percent8.0
sl_woba0.225
sl_xwoba0.242
sl_sweet_spot_percent20.9
sl_barrel_batted_rate0.0
sl_hard_hit_percent22.4
sl_whiff_percent13.2
sl_swing_percent49.3
sl_avg_best_speed71.202693636
sl_avg_hyper_speed91.913222769
Jeff Hoffman (656546) · PITCHER · Middle Reliever · Team TOR
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 23
All-history rows before 20260521: 23

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.3480.0000.6521.000
predicted_ER2.0002.0002.000Pitching_ER0.5650.0001.4352.000
predicted_H2.0002.0002.000Pitching_H1.2610.0000.7392.000
predicted_IP0.2000.2000.200Pitching_InningsPitched0.8220.200-0.6220.000
predicted_SO1.0001.0001.000Pitching_SO1.5220.000-0.5221.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.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: 0.3333 -> 0.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": "656546",
  "player_name": "Jeff Hoffman",
  "position": "Middle Reliever",
  "team": "TOR",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 2.0,
        "predicted_H": 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": 2.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.2,
        "predicted_R": 2.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 0.3333,
          "after": 0.2,
          "delta": -0.1333,
          "percent_delta": -0.4,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.2,
          "delta": -0.1333,
          "percent_delta": -0.4,
          "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": 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.2,
        "delta": -0.1333,
        "percent_delta": -0.3999,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.0,
        "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.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_BB1.000-
predicted_ER2.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: 23
Reference playing time: 0.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4554.1003.0007.0001.0005.0001.0006.23081.84620.69231.61540.23081.15390.2308
last_100.35109.1004.00013.0001.00010.0001.0003.85711.50000.42861.39290.10711.07140.1071
season0.202321.00013.00029.0008.00035.0003.0005.57141.76190.61901.38090.38101.66670.1429
Weighted Prediction From Real Data
MetricValue
predicted_BB0.1930
predicted_ER0.3330
predicted_ERA4.7063
predicted_H0.7570
predicted_HR0.0940
predicted_IP0.2000
predicted_SO0.6850
predicted_WHIP1.4949
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.19300.6615model_form_blend
predicted_ER2.00000.33301.3009model_form_blend
predicted_ERA-4.70634.7063form_only
predicted_H2.00000.75701.4787model_form_blend
predicted_HR0.00000.09400.0394model_form_blend
predicted_IP0.10000.20000.1000model_form_blend
predicted_SO1.00000.68500.8679model_form_blend
predicted_WHIP-1.49491.4949form_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 date23
Season rows before report date23
Report year2026
Profile rows used23
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP0.2
H2
R2
ER2
BB1
SO1
HR0
BF5
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 Faced2
Pitching_ER0
Pitching_ERA5.57
Pitching_Flyouts1
Pitching_Groundouts1
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners2
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.2
Pitching_Pitches8
Pitching_R0
Pitching_SO0
Pitching_Strikes4
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20260520_TOR@NYY
game_typefull
mlbID656546
playerID656546
playerNameJeff Hoffman
posP
startedFalse
startingPositionP
teamTOR
teamID29
game_date2026-05-20
sl_k_percent35.0
sl_bb_percent8.0
sl_woba0.373
sl_xwoba0.279
sl_sweet_spot_percent27.3
sl_barrel_batted_rate7.4
sl_hard_hit_percent30.9
sl_whiff_percent39.6
sl_swing_percent52.5
sl_avg_best_speed79.432001111
sl_avg_hyper_speed93.020629623

Home Team: NYY

Home Pitcher Deep Analysis

FieldValue
PitcherCarlos Rodón
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.0466
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.0971
Avg Velo91.4179
Avg Spin2351.8333
HB Inches0
IVB Inches0
Release Extension0
Pre IP4
Pre ER2
Pre H1
Pre BB3
Pre SO5
Season ERA5.6250
Season WHIP1.6250
Role Avg IP4
Recent Avg IP4
Last Start IP3.2000
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "NYY",
    "games": 58,
    "wins": 35,
    "losses": 23,
    "win_pct": 0.6034,
    "runs_scored": 280.0,
    "runs_allowed": 220.0,
    "run_differential": 60.0,
    "run_differential_per_game": 1.0345,
    "avg_runs_scored": 4.8276,
    "avg_runs_allowed": 3.7931,
    "offense_index": 1.0796,
    "defense_index": 1.1789,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 3.8,
      "avg_runs_allowed": 4.3,
      "run_differential": -5.0
    },
    "available": true,
    "quality_score": 0.1801
  },
  "opponent": {
    "team": "TOR",
    "games": 55,
    "wins": 25,
    "losses": 30,
    "win_pct": 0.4545,
    "runs_scored": 232.0,
    "runs_allowed": 225.0,
    "run_differential": 7.0,
    "run_differential_per_game": 0.1273,
    "avg_runs_scored": 4.2182,
    "avg_runs_allowed": 4.0909,
    "offense_index": 0.9433,
    "defense_index": 1.0931,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 3.7,
      "avg_runs_allowed": 4.2,
      "run_differential": -5.0
    },
    "available": true,
    "quality_score": -0.058
  },
  "edges": {
    "quality_edge": 0.2381,
    "offense_edge": 0.0796,
    "opponent_offense_edge": -0.0567,
    "defense_strength": 0.1789,
    "opponent_defense_weakness": -0.0931,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.0172,
    "run_prevention": 0.9611,
    "strikeout": 1.0117
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "607074",
    "profile": {
      "available": true,
      "pitcher_id": "607074",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 20.0,
        "k_percent": 26.3,
        "bb_percent": 21.1,
        "woba": 0.314,
        "xwoba": 0.323,
        "sweet_spot_percent": 21.1,
        "barrel_batted_rate": 10.5,
        "hard_hit_percent": 26.3,
        "avg_best_speed": 83.0815,
        "avg_hyper_speed": 94.1508,
        "whiff_percent": 27.6,
        "swing_percent": 45.8
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": -0.0723,
        "command_and_miss": -0.1736,
        "regression_edge": -0.2571,
        "xwoba_edge": -0.3143,
        "barrel_edge": -0.7333,
        "hard_hit_edge": 1.7714,
        "whiff_edge": 0.2714,
        "bb_edge": -2.5,
        "pitch_design_score": 0.0971
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "607074",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 78,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 78,
          "pitch_usage": 0.0,
          "release_speed": 91.41794871794872,
          "release_spin_rate": 2351.833333333333,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 78,
            "pitch_usage": 0.0,
            "release_speed": 91.41794871794872,
            "release_spin_rate": 2351.833333333333,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.4179,
          "release_spin_rate": 2351.8333,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.0971,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.6938,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.0466,
      "sample_weight": 0.45,
      "run_prevention_factor": 1.004,
      "strikeout_factor": 1.0141,
      "walk_factor": 1.09,
      "homer_factor": 0.9988,
      "woba_minus_xwoba": -0.009,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "607074",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 2.0,
        "factor": 1.0018,
        "adjusted": 2
      },
      "predicted_H": {
        "original": 2.0,
        "factor": 1.0018,
        "adjusted": 2
      },
      "predicted_BB": {
        "original": 4.0,
        "factor": 1.0405,
        "adjusted": 4
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9995,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 5.0,
        "factor": 1.0063,
        "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": "insufficient_data"
  },
  "pitching": {
    "IP": 8.0,
    "ER": 5,
    "H": 5,
    "BB": 8,
    "SO": 10,
    "HR": 0,
    "ERA": 5.625,
    "WHIP": 1.625,
    "K9": 11.25,
    "HR9": 0.0,
    "games_pitched": 2,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": true
  },
  "fielding": {
    "errors": 1,
    "assists": 0,
    "games_fielded": 2,
    "error_prone": false
  },
  "games_count": 2,
  "latest_game_date": "2026-05-16T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "607074",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 78,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 78,
    "pitch_usage": 0.0,
    "release_speed": 91.41794871794872,
    "release_spin_rate": 2351.833333333333,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 78,
      "pitch_usage": 0.0,
      "release_speed": 91.41794871794872,
      "release_spin_rate": 2351.833333333333,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.4179,
    "release_spin_rate": 2351.8333,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.0971,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.6938,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 1.0
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 2.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.2857,
    "prior_weight": 0.7143
  },
  "role": "pitcher",
  "player_id": "607074",
  "report_date": "20260521_T",
  "season_year": 2026,
  "rows_used": 2,
  "reference_playing_time": 4.333,
  "windows": {
    "last_5": {
      "games": 2,
      "totals": {
        "IP": 8.0,
        "ER": 5.0,
        "R": 6.0,
        "H": 5.0,
        "BB": 8.0,
        "SO": 10.0,
        "HR": 0.0,
        "BF": 38.0,
        "Pitches": 166.0
      },
      "per_game": {
        "IP": 4.0,
        "ER": 2.5,
        "R": 3.0,
        "H": 2.5,
        "BB": 4.0,
        "SO": 5.0,
        "HR": 0.0,
        "BF": 19.0,
        "Pitches": 83.0
      },
      "rates": {
        "ERA": 5.625,
        "WHIP": 1.625,
        "ER_per_IP": 0.625,
        "H_per_IP": 0.625,
        "BB_per_IP": 1.0,
        "SO_per_IP": 1.25,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 2,
      "totals": {
        "IP": 8.0,
        "ER": 5.0,
        "R": 6.0,
        "H": 5.0,
        "BB": 8.0,
        "SO": 10.0,
        "HR": 0.0,
        "BF": 38.0,
        "Pitches": 166.0
      },
      "per_game": {
        "IP": 4.0,
        "ER": 2.5,
        "R": 3.0,
        "H": 2.5,
        "BB": 4.0,
        "SO": 5.0,
        "HR": 0.0,
        "BF": 19.0,
        "Pitches": 83.0
      },
      "rates": {
        "ERA": 5.625,
        "WHIP": 1.625,
        "ER_per_IP": 0.625,
        "H_per_IP": 0.625,
        "BB_per_IP": 1.0,
        "SO_per_IP": 1.25,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 2,
      "totals": {
        "IP": 8.0,
        "ER": 5.0,
        "R": 6.0,
        "H": 5.0,
        "BB": 8.0,
        "SO": 10.0,
        "HR": 0.0,
        "BF": 38.0,
        "Pitches": 166.0
      },
      "per_game": {
        "IP": 4.0,
        "ER": 2.5,
        "R": 3.0,
        "H": 2.5,
        "BB": 4.0,
        "SO": 5.0,
        "HR": 0.0,
        "BF": 19.0,
        "Pitches": 83.0
      },
      "rates": {
        "ERA": 5.625,
        "WHIP": 1.625,
        "ER_per_IP": 0.625,
        "H_per_IP": 0.625,
        "BB_per_IP": 1.0,
        "SO_per_IP": 1.25,
        "HR_per_IP": 0.0
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 4.1,
    "predicted_ER": 2.183,
    "predicted_H": 3.606,
    "predicted_BB": 2.349,
    "predicted_SO": 4.393,
    "predicted_HR": 0.395,
    "predicted_ERA": 4.6348,
    "predicted_WHIP": 1.4053
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.6518,
  "form_weight": 0.3482,
  "form_reliability": 0.2857,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 2.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.2857,
    "prior_weight": 0.7143
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 4.1,
      "form": 4.1,
      "final": 4.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 2.0,
      "form": 2.183,
      "final": 2.0637,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 3.606,
      "final": 1.9074,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 3.0,
      "form": 2.349,
      "final": 2.7733,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 5.0,
      "form": 4.393,
      "final": 4.7886,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.395,
      "final": 0.1375,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.6348,
      "final": 4.6348,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.4053,
      "final": 1.4053,
      "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
RoleMiddle Reliever
Projection Source-
Savant Quality Score0.0980
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.0154
Avg Velo89.9580
Avg Spin2219.3643
HB Inches0
IVB Inches0
Release Extension0
Pre IP1.1000
Pre ER0
Pre H1
Pre BB0
Pre SO0
Season ERA2.1892
Season WHIP1.2568
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "NYY",
    "games": 58,
    "wins": 35,
    "losses": 23,
    "win_pct": 0.6034,
    "runs_scored": 280.0,
    "runs_allowed": 220.0,
    "run_differential": 60.0,
    "run_differential_per_game": 1.0345,
    "avg_runs_scored": 4.8276,
    "avg_runs_allowed": 3.7931,
    "offense_index": 1.0796,
    "defense_index": 1.1789,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 3.8,
      "avg_runs_allowed": 4.3,
      "run_differential": -5.0
    },
    "available": true,
    "quality_score": 0.1801
  },
  "opponent": {
    "team": "TOR",
    "games": 55,
    "wins": 25,
    "losses": 30,
    "win_pct": 0.4545,
    "runs_scored": 232.0,
    "runs_allowed": 225.0,
    "run_differential": 7.0,
    "run_differential_per_game": 0.1273,
    "avg_runs_scored": 4.2182,
    "avg_runs_allowed": 4.0909,
    "offense_index": 0.9433,
    "defense_index": 1.0931,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 3.7,
      "avg_runs_allowed": 4.2,
      "run_differential": -5.0
    },
    "available": true,
    "quality_score": -0.058
  },
  "edges": {
    "quality_edge": 0.2381,
    "offense_edge": 0.0796,
    "opponent_offense_edge": -0.0567,
    "defense_strength": 0.1789,
    "opponent_defense_weakness": -0.0931,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.0172,
    "run_prevention": 0.9611,
    "strikeout": 1.0117
  },
  "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": 94.0,
        "k_percent": 26.9,
        "bb_percent": 8.7,
        "woba": 0.297,
        "xwoba": 0.294,
        "sweet_spot_percent": 40.3,
        "barrel_batted_rate": 6.0,
        "hard_hit_percent": 40.3,
        "avg_best_speed": 80.3483,
        "avg_hyper_speed": 94.4179,
        "whiff_percent": 29.8,
        "swing_percent": 52.0
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": 0.1346,
        "command_and_miss": 0.51,
        "regression_edge": 0.0857,
        "xwoba_edge": 0.5143,
        "barrel_edge": 0.2667,
        "hard_hit_edge": -0.2286,
        "whiff_edge": 0.5857,
        "bb_edge": 0.175,
        "pitch_design_score": 0.0154
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "687396",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 18,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 18,
          "pitch_usage": 0.0,
          "release_speed": 89.95798640425322,
          "release_spin_rate": 2219.3643226172653,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 18,
            "pitch_usage": 0.0,
            "release_speed": 89.95798640425322,
            "release_spin_rate": 2219.3643226172653,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.958,
          "release_spin_rate": 2219.3643,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.0154,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.1098,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.098,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9917,
      "strikeout_factor": 1.0213,
      "walk_factor": 0.9937,
      "homer_factor": 0.9876,
      "woba_minus_xwoba": 0.003,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "687396",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9963,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9963,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9972,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9944,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0096,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 12.2,
    "ER": 4,
    "H": 9,
    "BB": 4,
    "SO": 14,
    "HR": 2,
    "ERA": 2.8421052631578947,
    "WHIP": 1.0263157894736843,
    "K9": 9.947368421052632,
    "HR9": 1.4210526315789473,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-05-19T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "687396",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 18,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 18,
    "pitch_usage": 0.0,
    "release_speed": 89.95798640425322,
    "release_spin_rate": 2219.3643226172653,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 18,
      "pitch_usage": 0.0,
      "release_speed": 89.95798640425322,
      "release_spin_rate": 2219.3643226172653,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.958,
    "release_spin_rate": 2219.3643,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.0154,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.1098,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.887,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4943,
    "prior_weight": 0.5057
  },
  "role": "pitcher",
  "player_id": "687396",
  "report_date": "20260521_T",
  "season_year": 2026,
  "rows_used": 24,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 6.1,
        "ER": 3.0,
        "R": 3.0,
        "H": 5.0,
        "BB": 3.0,
        "SO": 8.0,
        "HR": 2.0,
        "BF": 27.0,
        "Pitches": 100.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.6,
        "R": 0.6,
        "H": 1.0,
        "BB": 0.6,
        "SO": 1.6,
        "HR": 0.4,
        "BF": 5.4,
        "Pitches": 20.0
      },
      "rates": {
        "ERA": 4.2632,
        "WHIP": 1.2632,
        "ER_per_IP": 0.47368,
        "H_per_IP": 0.78947,
        "BB_per_IP": 0.47368,
        "SO_per_IP": 1.26316,
        "HR_per_IP": 0.31579
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 12.2,
        "ER": 4.0,
        "R": 4.0,
        "H": 9.0,
        "BB": 4.0,
        "SO": 14.0,
        "HR": 2.0,
        "BF": 50.0,
        "Pitches": 197.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.4,
        "R": 0.4,
        "H": 0.9,
        "BB": 0.4,
        "SO": 1.4,
        "HR": 0.2,
        "BF": 5.0,
        "Pitches": 19.7
      },
      "rates": {
        "ERA": 2.8421,
        "WHIP": 1.0263,
        "ER_per_IP": 0.31579,
        "H_per_IP": 0.71053,
        "BB_per_IP": 0.31579,
        "SO_per_IP": 1.10526,
        "HR_per_IP": 0.15789
      }
    },
    "season": {
      "games": 24,
      "totals": {
        "IP": 24.2,
        "ER": 6.0,
        "R": 7.0,
        "H": 22.0,
        "BB": 9.0,
        "SO": 28.0,
        "HR": 2.0,
        "BF": 104.0,
        "Pitches": 381.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.25,
        "R": 0.2917,
        "H": 0.9167,
        "BB": 0.375,
        "SO": 1.1667,
        "HR": 0.0833,
        "BF": 4.3333,
        "Pitches": 15.875
      },
      "rates": {
        "ERA": 2.1892,
        "WHIP": 1.2568,
        "ER_per_IP": 0.24324,
        "H_per_IP": 0.89189,
        "BB_per_IP": 0.36486,
        "SO_per_IP": 1.13514,
        "HR_per_IP": 0.08108
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.478,
    "predicted_H": 0.976,
    "predicted_BB": 0.437,
    "predicted_SO": 1.206,
    "predicted_HR": 0.194,
    "predicted_ERA": 3.8,
    "predicted_WHIP": 1.249
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5637,
  "form_weight": 0.4363,
  "form_reliability": 0.4943,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.887,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4943,
    "prior_weight": 0.5057
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.478,
      "final": 0.2086,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.976,
      "final": 0.9895,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.437,
      "final": 0.1907,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 1.206,
      "final": 0.5262,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.194,
      "final": 0.0847,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.8,
      "final": 3.8,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.249,
      "final": 1.249,
      "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
RoleMiddle Reliever
Projection Source-
Savant Quality Score0.2530
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0658
Avg Velo88.5089
Avg Spin2170.1745
HB Inches0
IVB Inches0
Release Extension0
Pre IP1.1000
Pre ER0
Pre H0
Pre BB0
Pre SO0
Season ERA5.1429
Season WHIP1.6190
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "NYY",
    "games": 58,
    "wins": 35,
    "losses": 23,
    "win_pct": 0.6034,
    "runs_scored": 280.0,
    "runs_allowed": 220.0,
    "run_differential": 60.0,
    "run_differential_per_game": 1.0345,
    "avg_runs_scored": 4.8276,
    "avg_runs_allowed": 3.7931,
    "offense_index": 1.0796,
    "defense_index": 1.1789,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 3.8,
      "avg_runs_allowed": 4.3,
      "run_differential": -5.0
    },
    "available": true,
    "quality_score": 0.1801
  },
  "opponent": {
    "team": "TOR",
    "games": 55,
    "wins": 25,
    "losses": 30,
    "win_pct": 0.4545,
    "runs_scored": 232.0,
    "runs_allowed": 225.0,
    "run_differential": 7.0,
    "run_differential_per_game": 0.1273,
    "avg_runs_scored": 4.2182,
    "avg_runs_allowed": 4.0909,
    "offense_index": 0.9433,
    "defense_index": 1.0931,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 3.7,
      "avg_runs_allowed": 4.2,
      "run_differential": -5.0
    },
    "available": true,
    "quality_score": -0.058
  },
  "edges": {
    "quality_edge": 0.2381,
    "offense_edge": 0.0796,
    "opponent_offense_edge": -0.0567,
    "defense_strength": 0.1789,
    "opponent_defense_weakness": -0.0931,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.0172,
    "run_prevention": 0.9611,
    "strikeout": 1.0117
  },
  "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": 91.0,
        "k_percent": 25.5,
        "bb_percent": 9.2,
        "woba": 0.349,
        "xwoba": 0.278,
        "sweet_spot_percent": 20.6,
        "barrel_batted_rate": 4.8,
        "hard_hit_percent": 39.7,
        "avg_best_speed": 75.9948,
        "avg_hyper_speed": 93.7412,
        "whiff_percent": 29.2,
        "swing_percent": 52.3
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": 0.4869,
        "command_and_miss": 0.365,
        "regression_edge": 2.0,
        "xwoba_edge": 0.9714,
        "barrel_edge": 0.5333,
        "hard_hit_edge": -0.1429,
        "whiff_edge": 0.5,
        "bb_edge": 0.05,
        "pitch_design_score": -0.0658
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "670280",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 15,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 15,
          "pitch_usage": 0.0,
          "release_speed": 88.50886587267073,
          "release_spin_rate": 2170.174491741022,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 15,
            "pitch_usage": 0.0,
            "release_speed": 88.50886587267073,
            "release_spin_rate": 2170.174491741022,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.5089,
          "release_spin_rate": 2170.1745,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.0658,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.4699,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.253,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9785,
      "strikeout_factor": 1.0162,
      "walk_factor": 0.9982,
      "homer_factor": 0.9703,
      "woba_minus_xwoba": 0.071,
      "regression_flag": "positive_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "670280",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 0.9903,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9903,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9992,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9866,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0073,
        "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": 8,
    "H": 13,
    "BB": 4,
    "SO": 12,
    "HR": 2,
    "ERA": 6.967741935483871,
    "WHIP": 1.6451612903225805,
    "K9": 10.451612903225806,
    "HR9": 1.7419354838709677,
    "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-05-18T00: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": 15,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 15,
    "pitch_usage": 0.0,
    "release_speed": 88.50886587267073,
    "release_spin_rate": 2170.174491741022,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 15,
      "pitch_usage": 0.0,
      "release_speed": 88.50886587267073,
      "release_spin_rate": 2170.174491741022,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.5089,
    "release_spin_rate": 2170.1745,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0658,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.4699,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.16,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4542,
    "prior_weight": 0.5458
  },
  "role": "pitcher",
  "player_id": "670280",
  "report_date": "20260521_T",
  "season_year": 2026,
  "rows_used": 21,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.2,
        "ER": 6.0,
        "R": 6.0,
        "H": 7.0,
        "BB": 4.0,
        "SO": 6.0,
        "HR": 2.0,
        "BF": 24.0,
        "Pitches": 102.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 1.2,
        "R": 1.2,
        "H": 1.4,
        "BB": 0.8,
        "SO": 1.2,
        "HR": 0.4,
        "BF": 4.8,
        "Pitches": 20.4
      },
      "rates": {
        "ERA": 11.5714,
        "WHIP": 2.3571,
        "ER_per_IP": 1.28571,
        "H_per_IP": 1.5,
        "BB_per_IP": 0.85714,
        "SO_per_IP": 1.28571,
        "HR_per_IP": 0.42857
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.1,
        "ER": 8.0,
        "R": 10.0,
        "H": 13.0,
        "BB": 4.0,
        "SO": 12.0,
        "HR": 2.0,
        "BF": 49.0,
        "Pitches": 198.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.8,
        "R": 1.0,
        "H": 1.3,
        "BB": 0.4,
        "SO": 1.2,
        "HR": 0.2,
        "BF": 4.9,
        "Pitches": 19.8
      },
      "rates": {
        "ERA": 6.9677,
        "WHIP": 1.6452,
        "ER_per_IP": 0.77419,
        "H_per_IP": 1.25806,
        "BB_per_IP": 0.3871,
        "SO_per_IP": 1.16129,
        "HR_per_IP": 0.19355
      }
    },
    "season": {
      "games": 21,
      "totals": {
        "IP": 21.0,
        "ER": 12.0,
        "R": 15.0,
        "H": 25.0,
        "BB": 9.0,
        "SO": 25.0,
        "HR": 2.0,
        "BF": 98.0,
        "Pitches": 413.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.5714,
        "R": 0.7143,
        "H": 1.1905,
        "BB": 0.4286,
        "SO": 1.1905,
        "HR": 0.0952,
        "BF": 4.6667,
        "Pitches": 19.6667
      },
      "rates": {
        "ERA": 5.1429,
        "WHIP": 1.619,
        "ER_per_IP": 0.57143,
        "H_per_IP": 1.19048,
        "BB_per_IP": 0.42857,
        "SO_per_IP": 1.19048,
        "HR_per_IP": 0.09524
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.695,
    "predicted_H": 1.128,
    "predicted_BB": 0.481,
    "predicted_SO": 1.075,
    "predicted_HR": 0.198,
    "predicted_ERA": 6.2535,
    "predicted_WHIP": 1.6094
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5806,
  "form_weight": 0.4194,
  "form_reliability": 0.4542,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 4.16,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4542,
    "prior_weight": 0.5458
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.695,
      "final": 0.2915,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 1.128,
      "final": 0.4731,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.481,
      "final": 0.2017,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 1.075,
      "final": 0.4509,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.198,
      "final": 0.083,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 6.2535,
      "final": 6.2535,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.6094,
      "final": 1.6094,
      "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
PitcherFernando Cruz
RoleMiddle Reliever
Projection Source-
Savant Quality Score0.3080
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.2784
Avg Velo84.7118
Avg Spin1496.2662
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO0
Season ERA2.2500
Season WHIP1.3500
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "NYY",
    "games": 58,
    "wins": 35,
    "losses": 23,
    "win_pct": 0.6034,
    "runs_scored": 280.0,
    "runs_allowed": 220.0,
    "run_differential": 60.0,
    "run_differential_per_game": 1.0345,
    "avg_runs_scored": 4.8276,
    "avg_runs_allowed": 3.7931,
    "offense_index": 1.0796,
    "defense_index": 1.1789,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 3.8,
      "avg_runs_allowed": 4.3,
      "run_differential": -5.0
    },
    "available": true,
    "quality_score": 0.1801
  },
  "opponent": {
    "team": "TOR",
    "games": 55,
    "wins": 25,
    "losses": 30,
    "win_pct": 0.4545,
    "runs_scored": 232.0,
    "runs_allowed": 225.0,
    "run_differential": 7.0,
    "run_differential_per_game": 0.1273,
    "avg_runs_scored": 4.2182,
    "avg_runs_allowed": 4.0909,
    "offense_index": 0.9433,
    "defense_index": 1.0931,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 3.7,
      "avg_runs_allowed": 4.2,
      "run_differential": -5.0
    },
    "available": true,
    "quality_score": -0.058
  },
  "edges": {
    "quality_edge": 0.2381,
    "offense_edge": 0.0796,
    "opponent_offense_edge": -0.0567,
    "defense_strength": 0.1789,
    "opponent_defense_weakness": -0.0931,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.0172,
    "run_prevention": 0.9611,
    "strikeout": 1.0117
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "518585",
    "profile": {
      "available": true,
      "pitcher_id": "518585",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 83.0,
        "k_percent": 32.2,
        "bb_percent": 14.9,
        "woba": 0.294,
        "xwoba": 0.292,
        "sweet_spot_percent": 27.3,
        "barrel_batted_rate": 6.8,
        "hard_hit_percent": 25.0,
        "avg_best_speed": 74.4677,
        "avg_hyper_speed": 92.696,
        "whiff_percent": 43.0,
        "swing_percent": 42.5
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": 0.6942,
        "command_and_miss": 1.2007,
        "regression_edge": 0.0571,
        "xwoba_edge": 0.5714,
        "barrel_edge": 0.0889,
        "hard_hit_edge": 1.9571,
        "whiff_edge": 2.4714,
        "bb_edge": -1.375,
        "pitch_design_score": -0.2784
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "518585",
        "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": 84.7118338271206,
          "release_spin_rate": 1496.266195709371,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 84.7118338271206,
            "release_spin_rate": 1496.266195709371,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 84.7118,
          "release_spin_rate": 1496.2662,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.2784,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -1.9887,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.308,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9738,
      "strikeout_factor": 1.0689,
      "walk_factor": 1.0495,
      "homer_factor": 0.9539,
      "woba_minus_xwoba": 0.002,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "518585",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9882,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9882,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0223,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9793,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.031,
        "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": 4,
    "SO": 11,
    "HR": 0,
    "ERA": 0.9000000000000001,
    "WHIP": 1.0000000000000002,
    "K9": 9.900000000000002,
    "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-05-18T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "518585",
  "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": 84.7118338271206,
    "release_spin_rate": 1496.266195709371,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 84.7118338271206,
      "release_spin_rate": 1496.266195709371,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 84.7118,
    "release_spin_rate": 1496.2662,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.2784,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -1.9887,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 3.962,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4421,
    "prior_weight": 0.5579
  },
  "role": "pitcher",
  "player_id": "518585",
  "report_date": "20260521_T",
  "season_year": 2026,
  "rows_used": 23,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 6.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 2.0,
        "BB": 2.0,
        "SO": 8.0,
        "HR": 0.0,
        "BF": 22.0,
        "Pitches": 80.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.4,
        "BB": 0.4,
        "SO": 1.6,
        "HR": 0.0,
        "BF": 4.4,
        "Pitches": 16.0
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.6667,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.33333,
        "BB_per_IP": 0.33333,
        "SO_per_IP": 1.33333,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.0,
        "ER": 1.0,
        "R": 2.0,
        "H": 6.0,
        "BB": 4.0,
        "SO": 11.0,
        "HR": 0.0,
        "BF": 40.0,
        "Pitches": 160.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.1,
        "R": 0.2,
        "H": 0.6,
        "BB": 0.4,
        "SO": 1.1,
        "HR": 0.0,
        "BF": 4.0,
        "Pitches": 16.0
      },
      "rates": {
        "ERA": 0.9,
        "WHIP": 1.0,
        "ER_per_IP": 0.1,
        "H_per_IP": 0.6,
        "BB_per_IP": 0.4,
        "SO_per_IP": 1.1,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 23,
      "totals": {
        "IP": 20.0,
        "ER": 5.0,
        "R": 6.0,
        "H": 14.0,
        "BB": 13.0,
        "SO": 28.0,
        "HR": 2.0,
        "BF": 87.0,
        "Pitches": 351.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2174,
        "R": 0.2609,
        "H": 0.6087,
        "BB": 0.5652,
        "SO": 1.2174,
        "HR": 0.087,
        "BF": 3.7826,
        "Pitches": 15.2609
      },
      "rates": {
        "ERA": 2.25,
        "WHIP": 1.35,
        "ER_per_IP": 0.25,
        "H_per_IP": 0.7,
        "BB_per_IP": 0.65,
        "SO_per_IP": 1.4,
        "HR_per_IP": 0.1
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.32,
    "predicted_H": 0.796,
    "predicted_BB": 0.422,
    "predicted_SO": 1.162,
    "predicted_HR": 0.087,
    "predicted_ERA": 2.703,
    "predicted_WHIP": 1.1417
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5857,
  "form_weight": 0.4143,
  "form_reliability": 0.4421,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 3.962,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.4421,
    "prior_weight": 0.5579
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.32,
      "final": 0.1326,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.796,
      "final": 0.3298,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.422,
      "final": 0.1748,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 1.162,
      "final": 0.4814,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.087,
      "final": 0.036,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.703,
      "final": 2.703,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1417,
      "final": 1.1417,
      "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
PitcherTim Hill
RoleMiddle Reliever
Projection Source-
Savant Quality Score0.0107
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.1370
Avg Velo87.2362
Avg Spin2062.4196
HB Inches0
IVB Inches0
Release Extension0
Pre IP1.1000
Pre ER0
Pre H2
Pre BB1
Pre SO2
Season ERA1.3729
Season WHIP0.8644
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "NYY",
    "games": 58,
    "wins": 35,
    "losses": 23,
    "win_pct": 0.6034,
    "runs_scored": 280.0,
    "runs_allowed": 220.0,
    "run_differential": 60.0,
    "run_differential_per_game": 1.0345,
    "avg_runs_scored": 4.8276,
    "avg_runs_allowed": 3.7931,
    "offense_index": 1.0796,
    "defense_index": 1.1789,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 3.8,
      "avg_runs_allowed": 4.3,
      "run_differential": -5.0
    },
    "available": true,
    "quality_score": 0.1801
  },
  "opponent": {
    "team": "TOR",
    "games": 55,
    "wins": 25,
    "losses": 30,
    "win_pct": 0.4545,
    "runs_scored": 232.0,
    "runs_allowed": 225.0,
    "run_differential": 7.0,
    "run_differential_per_game": 0.1273,
    "avg_runs_scored": 4.2182,
    "avg_runs_allowed": 4.0909,
    "offense_index": 0.9433,
    "defense_index": 1.0931,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 3.7,
      "avg_runs_allowed": 4.2,
      "run_differential": -5.0
    },
    "available": true,
    "quality_score": -0.058
  },
  "edges": {
    "quality_edge": 0.2381,
    "offense_edge": 0.0796,
    "opponent_offense_edge": -0.0567,
    "defense_strength": 0.1789,
    "opponent_defense_weakness": -0.0931,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.0172,
    "run_prevention": 0.9611,
    "strikeout": 1.0117
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "657612",
    "profile": {
      "available": true,
      "pitcher_id": "657612",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 70.0,
        "k_percent": 10.7,
        "bb_percent": 4.0,
        "woba": 0.225,
        "xwoba": 0.288,
        "sweet_spot_percent": 15.9,
        "barrel_batted_rate": 1.6,
        "hard_hit_percent": 46.0,
        "avg_best_speed": 78.187,
        "avg_hyper_speed": 94.962,
        "whiff_percent": 13.4,
        "swing_percent": 53.4
      },
      "league_medians": {
        "pa": 69.0,
        "k_percent": 22.7,
        "bb_percent": 9.4,
        "woba": 0.308,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.2751,
        "avg_hyper_speed": 94.07,
        "whiff_percent": 25.7,
        "swing_percent": 46.9
      },
      "components": {
        "contact_quality": 0.902,
        "command_and_miss": -1.1164,
        "regression_edge": -1.8,
        "xwoba_edge": 0.6857,
        "barrel_edge": 1.2444,
        "hard_hit_edge": -1.0429,
        "whiff_edge": -1.7571,
        "bb_edge": 1.35,
        "pitch_design_score": -0.137
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "657612",
        "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": 87.23622656087228,
          "release_spin_rate": 2062.419624916082,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 87.23622656087228,
            "release_spin_rate": 2062.419624916082,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 87.2362,
          "release_spin_rate": 2062.4196,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.137,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.9789,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 0.0107,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9991,
      "strikeout_factor": 0.9375,
      "walk_factor": 0.9514,
      "homer_factor": 0.9647,
      "woba_minus_xwoba": -0.063,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "657612",
        "reason": "player_not_in_espn_rankings"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9996,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9996,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9781,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9841,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 0.0,
        "factor": 0.9719,
        "adjusted": 0
      }
    }
  }
}
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.0,
    "ER": 1,
    "H": 8,
    "BB": 1,
    "SO": 4,
    "HR": 0,
    "ERA": 1.2857142857142858,
    "WHIP": 1.2857142857142858,
    "K9": 5.142857142857143,
    "HR9": 0.0,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-05-19T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "657612",
  "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": 87.23622656087228,
    "release_spin_rate": 2062.419624916082,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 87.23622656087228,
      "release_spin_rate": 2062.419624916082,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 87.2362,
    "release_spin_rate": 2062.4196,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.137,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.9789,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "method": "weighted_recent_form",
  "description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 3.896,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.438,
    "prior_weight": 0.562
  },
  "role": "pitcher",
  "player_id": "657612",
  "report_date": "20260521_T",
  "season_year": 2026,
  "rows_used": 23,
  "reference_playing_time": 0.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 3.1,
        "ER": 1.0,
        "R": 2.0,
        "H": 3.0,
        "BB": 1.0,
        "SO": 1.0,
        "HR": 0.0,
        "BF": 15.0,
        "Pitches": 54.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.2,
        "R": 0.4,
        "H": 0.6,
        "BB": 0.2,
        "SO": 0.2,
        "HR": 0.0,
        "BF": 3.0,
        "Pitches": 10.8
      },
      "rates": {
        "ERA": 2.7,
        "WHIP": 1.2,
        "ER_per_IP": 0.3,
        "H_per_IP": 0.9,
        "BB_per_IP": 0.3,
        "SO_per_IP": 0.3,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 7.0,
        "ER": 1.0,
        "R": 2.0,
        "H": 8.0,
        "BB": 1.0,
        "SO": 4.0,
        "HR": 0.0,
        "BF": 32.0,
        "Pitches": 97.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.1,
        "R": 0.2,
        "H": 0.8,
        "BB": 0.1,
        "SO": 0.4,
        "HR": 0.0,
        "BF": 3.2,
        "Pitches": 9.7
      },
      "rates": {
        "ERA": 1.2857,
        "WHIP": 1.2857,
        "ER_per_IP": 0.14286,
        "H_per_IP": 1.14286,
        "BB_per_IP": 0.14286,
        "SO_per_IP": 0.57143,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 23,
      "totals": {
        "IP": 19.2,
        "ER": 3.0,
        "R": 4.0,
        "H": 14.0,
        "BB": 3.0,
        "SO": 8.0,
        "HR": 1.0,
        "BF": 75.0,
        "Pitches": 238.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.1304,
        "R": 0.1739,
        "H": 0.6087,
        "BB": 0.1304,
        "SO": 0.3478,
        "HR": 0.0435,
        "BF": 3.2609,
        "Pitches": 10.3478
      },
      "rates": {
        "ERA": 1.3729,
        "WHIP": 0.8644,
        "ER_per_IP": 0.15254,
        "H_per_IP": 0.71186,
        "BB_per_IP": 0.15254,
        "SO_per_IP": 0.40678,
        "HR_per_IP": 0.05085
      }
    }
  },
  "weighted_prediction": {
    "predicted_IP": 0.2,
    "predicted_ER": 0.25,
    "predicted_H": 0.657,
    "predicted_BB": 0.213,
    "predicted_SO": 0.499,
    "predicted_HR": 0.054,
    "predicted_ERA": 3.2317,
    "predicted_WHIP": 1.2497
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5874,
  "form_weight": 0.4126,
  "form_reliability": 0.438,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 3.896,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.438,
    "prior_weight": 0.562
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.2,
      "form": 0.2,
      "final": 0.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.25,
      "final": 0.1031,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 0.657,
      "final": 1.4459,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.213,
      "final": 0.6753,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 0.499,
      "final": 1.3808,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.054,
      "final": 0.6097,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.2317,
      "final": 3.2317,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2497,
      "final": 1.2497,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
Aaron Judge (592450) · BATTER · RF · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 218
All-history rows before 20260521: 218
System season_avg: 0.2630
Data season_avg (2026 season-to-date): 0.2634
Diff (system - data): -0.0004
System opponent_avg: 0.2840

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1560.0000.000Hitting_2B0.1560.000-0.1560.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.9502.0008.000Hitting_AB3.6064.000-1.606-2.000
predicted_AVG0.2310.0000.250Hitting_AVG0.2630.000-0.2630.000
predicted_BB0.7941.0002.000Hitting_BB0.7940.0000.2061.000
predicted_CS-0.0000.000BaseRunning_CS0.0600.000-0.0600.000
predicted_H0.9100.0002.000Hitting_H0.9500.000-0.9500.000
predicted_HR0.2100.0001.000Hitting_HR0.3210.000-0.3210.000
predicted_OBP0.3360.2500.400Hitting_OBP0.4020.000-0.1520.250
predicted_R0.8261.0002.000Hitting_R0.8260.0000.1741.000
predicted_RBI0.4301.0001.000Hitting_RBI0.6330.0000.3671.000
predicted_SLG0.4530.0000.625Hitting_SLG0.5740.000-0.5740.000
predicted_SO1.2610.0003.000Hitting_SO1.2614.000-1.261-4.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics11
Boosted Metrics5
Deboosted Metrics6
Better Metrics6
Worse Metrics5
Biggest Boostpredicted_RBI: 0.4300 -> 1.0000 (boost 0.5700, better)
Biggest Deboostpredicted_AB: 3.9500 -> 2.0000 (deboost -1.9500, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend99081predicted_AB: 3.9500 -> 8.3350 (boost 4.3850, 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.3466 -> 0.3599 (boost 0.0133, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling83544predicted_HR: 0.5478 -> 1.0000 (boost 0.4522, better)predicted_AB: 8.3350 -> 8.0000 (deboost -0.3350, worse)AB rounded to 8 (raw=8.34), rates preserved: AVG=0.225 HR/AB=0.066
5consistency_constraints11010predicted_R: 1.8935 -> 2.0000 (boost 0.1065, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context33030predicted_SLG: 0.4587 -> 0.6250 (boost 0.1663, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference71615predicted_SF: 0.0000 -> 1.0000 (boost 1.0000, higher)predicted_AB: 8.0000 -> 2.0000 (deboost -6.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final30303-predicted_SLG: 0.6250 -> 0.4587 (deboost -0.1663, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "592450",
  "player_name": "Aaron Judge",
  "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.156,
        "predicted_3B": 0.0,
        "predicted_AB": 3.95,
        "predicted_AVG": 0.231,
        "predicted_BB": 0.794,
        "predicted_H": 0.91,
        "predicted_HR": 0.21,
        "predicted_OBP": 0.336,
        "predicted_R": 0.826,
        "predicted_RBI": 0.43,
        "predicted_SLG": 0.453,
        "predicted_SO": 1.261
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2994,
        "predicted_3B": 0.0009,
        "predicted_AB": 8.335,
        "predicted_AVG": 0.2264,
        "predicted_BB": 1.7342,
        "predicted_H": 1.8599,
        "predicted_HBP": 0.125,
        "predicted_HR": 0.5413,
        "predicted_OBP": 0.3466,
        "predicted_R": 1.8553,
        "predicted_RBI": 1.0883,
        "predicted_SLG": 0.4574,
        "predicted_SO": 3.3081
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.156,
          "after": 0.2994,
          "delta": 0.1434,
          "percent_delta": 0.9192,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.95,
          "after": 8.335,
          "delta": 4.385,
          "percent_delta": 1.1101,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.231,
          "after": 0.2264,
          "delta": -0.0046,
          "percent_delta": -0.0199,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.794,
          "after": 1.7342,
          "delta": 0.9402,
          "percent_delta": 1.1841,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.91,
          "after": 1.8599,
          "delta": 0.9499,
          "percent_delta": 1.0438,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.21,
          "after": 0.5413,
          "delta": 0.3313,
          "percent_delta": 1.5776,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.336,
          "after": 0.3466,
          "delta": 0.0106,
          "percent_delta": 0.0315,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.826,
          "after": 1.8553,
          "delta": 1.0293,
          "percent_delta": 1.2461,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.43,
          "after": 1.0883,
          "delta": 0.6583,
          "percent_delta": 1.5309,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.453,
          "after": 0.4574,
          "delta": 0.0044,
          "percent_delta": 0.0097,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.261,
          "after": 3.3081,
          "delta": 2.0471,
          "percent_delta": 1.6234,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 9,
        "deboosted_metrics": 0,
        "better_metrics": 8,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.95,
          "after": 8.335,
          "delta": 4.385,
          "percent_delta": 1.1101,
          "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": 2,
        "last_10": 4,
        "season": 50
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2994,
        "predicted_3B": 0.0009,
        "predicted_AB": 8.335,
        "predicted_AVG": 0.2254,
        "predicted_BB": 1.7521,
        "predicted_H": 1.8785,
        "predicted_HBP": 0.125,
        "predicted_HR": 0.5478,
        "predicted_OBP": 0.3599,
        "predicted_R": 1.8935,
        "predicted_RBI": 1.1107,
        "predicted_SLG": 0.4587,
        "predicted_SO": 3.274
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2994,
          "after": 0.2994,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.335,
          "after": 8.335,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2264,
          "after": 0.2254,
          "delta": -0.001,
          "percent_delta": -0.0044,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.7342,
          "after": 1.7521,
          "delta": 0.0179,
          "percent_delta": 0.0103,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.8599,
          "after": 1.8785,
          "delta": 0.0186,
          "percent_delta": 0.01,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.125,
          "after": 0.125,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.5413,
          "after": 0.5478,
          "delta": 0.0065,
          "percent_delta": 0.012,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3466,
          "after": 0.3599,
          "delta": 0.0133,
          "percent_delta": 0.0384,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.8553,
          "after": 1.8935,
          "delta": 0.0382,
          "percent_delta": 0.0206,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0883,
          "after": 1.1107,
          "delta": 0.0224,
          "percent_delta": 0.0206,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4574,
          "after": 0.4587,
          "delta": 0.0013,
          "percent_delta": 0.0028,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 3.3081,
          "after": 3.274,
          "delta": -0.0341,
          "percent_delta": -0.0103,
          "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.3466,
          "after": 0.3599,
          "delta": 0.0133,
          "percent_delta": 0.0384,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 8 (raw=8.34), rates preserved: AVG=0.225 HR/AB=0.066",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 2.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2994,
          "after": 0.0,
          "delta": -0.2994,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.335,
          "after": 8.0,
          "delta": -0.335,
          "percent_delta": -0.0402,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.7521,
          "after": 2.0,
          "delta": 0.2479,
          "percent_delta": 0.1415,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.8785,
          "after": 2.0,
          "delta": 0.1215,
          "percent_delta": 0.0647,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.125,
          "after": 0.0,
          "delta": -0.125,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.5478,
          "after": 1.0,
          "delta": 0.4522,
          "percent_delta": 0.8255,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.1107,
          "after": 1.0,
          "delta": -0.1107,
          "percent_delta": -0.0997,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 3.274,
          "after": 3.0,
          "delta": -0.274,
          "percent_delta": -0.0837,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 3,
        "deboosted_metrics": 5,
        "better_metrics": 4,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_HR",
          "before": 0.5478,
          "after": 1.0,
          "delta": 0.4522,
          "percent_delta": 0.8255,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 8.335,
          "after": 8.0,
          "delta": -0.335,
          "percent_delta": -0.0402,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 2.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 2.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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_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_R",
          "before": 1.8935,
          "after": 2.0,
          "delta": 0.1065,
          "percent_delta": 0.0562,
          "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": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 1.8935,
          "after": 2.0,
          "delta": 0.1065,
          "percent_delta": 0.0562,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 2.0,
        "predicted_H": 2.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.4,
        "predicted_R": 2.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.625,
        "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": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2254,
          "after": 0.25,
          "delta": 0.0246,
          "percent_delta": 0.1091,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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_OBP",
          "before": 0.3599,
          "after": 0.4,
          "delta": 0.0401,
          "percent_delta": 0.1114,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 2.0,
          "after": 2.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.4587,
          "after": 0.625,
          "delta": 0.1663,
          "percent_delta": 0.3625,
          "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.4587,
          "after": 0.625,
          "delta": 0.1663,
          "percent_delta": 0.3625,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 2.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 1.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 2.0,
          "delta": -6.0,
          "percent_delta": -0.75,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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": 2.0,
          "after": 0.0,
          "delta": -2.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": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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_SF",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "higher",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 0.0,
          "delta": -3.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 1,
        "deboosted_metrics": 6,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "higher",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 2.0,
          "delta": -6.0,
          "percent_delta": -0.75,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 2.0,
        "predicted_AVG": 0.2254,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3599,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 1.0,
        "predicted_SLG": 0.4587,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2254,
          "delta": -0.0246,
          "percent_delta": -0.0985,
          "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.4,
          "after": 0.3599,
          "delta": -0.0401,
          "percent_delta": -0.1002,
          "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": 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.625,
          "after": 0.4587,
          "delta": -0.1663,
          "percent_delta": -0.2661,
          "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.625,
          "after": 0.4587,
          "delta": -0.1663,
          "percent_delta": -0.2661,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.156,
        "after": 0.0,
        "delta": -0.156,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.95,
        "after": 2.0,
        "delta": -1.95,
        "percent_delta": -0.4937,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.231,
        "after": 0.2254,
        "delta": -0.0056,
        "percent_delta": -0.0242,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.794,
        "after": 1.0,
        "delta": 0.206,
        "percent_delta": 0.2594,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.91,
        "after": 0.0,
        "delta": -0.91,
        "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.336,
        "after": 0.3599,
        "delta": 0.0239,
        "percent_delta": 0.0711,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.826,
        "after": 1.0,
        "delta": 0.174,
        "percent_delta": 0.2107,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.43,
        "after": 1.0,
        "delta": 0.57,
        "percent_delta": 1.3256,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.453,
        "after": 0.4587,
        "delta": 0.0057,
        "percent_delta": 0.0126,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.261,
        "after": 0.0,
        "delta": -1.261,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 5,
      "deboosted_metrics": 6,
      "better_metrics": 6,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.43,
        "after": 1.0,
        "delta": 0.57,
        "percent_delta": 1.3256,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 3.95,
        "after": 2.0,
        "delta": -1.95,
        "percent_delta": -0.4937,
        "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.156-
predicted_3B0.000-
predicted_AB3.950-
predicted_AVG0.231-
predicted_BB0.794-
predicted_H0.910-
predicted_HR0.210-
predicted_OBP0.336-
predicted_R0.826-
predicted_RBI0.430-
predicted_SLG0.453-
predicted_SO1.261-
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.2990.143
predicted_3B0.0010.001
predicted_AB8.3354.385
predicted_AVG0.226-0.005
predicted_BB1.7340.940
predicted_H1.8600.950
predicted_HBP0.125-
predicted_HR0.5410.331
predicted_OBP0.3470.011
predicted_R1.8551.029
predicted_RBI1.0880.658
predicted_SLG0.4570.004
predicted_SO3.3082.047
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.2990.000
predicted_3B0.0010.000
predicted_AB8.3350.000
predicted_AVG0.225-0.001
predicted_BB1.7520.018
predicted_H1.8790.019
predicted_HBP0.1250.000
predicted_HR0.5480.006
predicted_OBP0.3600.013
predicted_R1.8930.038
predicted_RBI1.1110.022
predicted_SLG0.4590.001
predicted_SO3.274-0.034
4. ab_floor_and_scaling

AB rounded to 8 (raw=8.34), rates preserved: AVG=0.225 HR/AB=0.066

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB8.000-
BB2.000-
H2.000-
HBP0.000-
HR1.000-
RBI1.000-
SB0.000-
SO3.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB8.0000.000
BB2.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR1.0000.000
R2.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO3.0000.000
6. 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.299
predicted_3B0.000-0.001
predicted_AB8.000-0.335
predicted_AVG0.2500.025
predicted_BB2.0000.248
predicted_H2.0000.121
predicted_HR1.0000.452
predicted_OBP0.4000.040
predicted_R2.0000.107
predicted_RBI1.000-0.111
predicted_SLG0.6250.166
predicted_SO3.000-0.274
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB2.000-6.000
BB1.000-1.000
CS0.0000.000
H0.000-2.000
HBP0.0000.000
HR0.000-1.000
PA4.000-
R1.000-1.000
RBI1.0000.000
SB0.0000.000
SF1.0001.000
SO0.000-3.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 218
Reference playing time: 3.950
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-16.0000.0000.0000.0000.0000.0004.0004.00016.0000.00000.20000.00000.00000.00000.00000.25001.0000
last_100.204-36.0004.0000.0000.0000.0000.0008.0005.00017.0000.11110.21950.11110.11110.00000.00000.13890.4722
season0.6050-786.000207.00034.0000.00070.000138.000180.000173.000275.0000.26340.40190.57380.26340.08910.17560.22010.3499
Weighted Prediction From Real Data
MetricValue
predicted_2B0.4810
predicted_3B0.0020
predicted_AB13.8890
predicted_AVG0.2206
predicted_BB2.9250
predicted_H3.0630
predicted_HBP0.1250
predicted_HR0.9610
predicted_OBP0.3600
predicted_R3.1590
predicted_RBI1.9220
predicted_SLG0.4630
predicted_SO5.9010
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15600.48100.2994model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB3.950013.88908.3350model_form_blend
predicted_AVG0.23100.22060.2264model_form_blend
predicted_BB0.79402.92501.7342model_form_blend
predicted_H0.91003.06301.8599model_form_blend
predicted_HBP-0.12500.1250form_only
predicted_HR0.21000.96100.5413model_form_blend
predicted_OBP0.33600.36000.3466model_form_blend
predicted_R0.82603.15901.8553model_form_blend
predicted_RBI0.43001.92201.0883model_form_blend
predicted_SLG0.45300.46300.4574model_form_blend
predicted_SO1.26105.90103.3081model_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 date218
Season rows before report date218
Report year2026
Profile rows used218
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
AB2
H0
2B0
3B0
HR0
R1
RBI1
BB1
SO0
SF1
HBP0
season_avg0.263

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_SO4
Hitting_TB0
Hitting_battingOrder2
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedRF
gameID20260520_TOR@NYY
game_typefull
mlbID592450
playerID592450
playerNameAaron Judge
posRF
startedTrue
startingPositionRF
teamNYY
teamID19
game_date2026-05-20
sl_k_percent28.1
sl_bb_percent17.1
sl_woba0.416
sl_xwoba0.431
sl_xba0.276
sl_xslg0.627
sl_sweet_spot_percent36.5
sl_barrel_batted_rate23.5
sl_hard_hit_percent55.7
sl_exit_velocity_avg93.8
sl_launch_angle_avg14.9
sl_whiff_percent32.9
sl_swing_percent42.4
Cody Bellinger (641355) · BATTER · LF · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 210
All-history rows before 20260521: 210
System season_avg: 0.2720
Data season_avg (2026 season-to-date): 0.2725
Diff (system - data): -0.0005
System opponent_avg: 0.2630

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2430.0000.000Hitting_2B0.2431.000-0.243-1.000
predicted_3B0.0670.0000.000Hitting_3B0.0670.000-0.0670.000
predicted_AB3.9103.0008.000Hitting_AB3.6524.000-0.652-1.000
predicted_AVG0.2430.0000.250Hitting_AVG0.2720.250-0.272-0.250
predicted_BB0.6951.0002.000Hitting_BB0.6950.0000.3051.000
predicted_CS-0.0000.000BaseRunning_CS0.0430.000-0.0430.000
predicted_H0.9500.0002.000Hitting_H0.9951.000-0.995-1.000
predicted_HR0.1300.0000.000Hitting_HR0.1290.000-0.1290.000
predicted_OBP0.3520.2500.400Hitting_OBP0.3830.250-0.1330.000
predicted_R0.6570.0001.000Hitting_R0.6571.000-0.657-1.000
predicted_RBI0.5400.0001.000Hitting_RBI0.6670.000-0.6670.000
predicted_SLG0.4310.0000.250Hitting_SLG0.4810.500-0.481-0.500
predicted_SO0.5520.0001.000Hitting_SO0.5521.000-0.552-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics12
Boosted Metrics4
Deboosted Metrics8
Better Metrics5
Worse Metrics7
Biggest Boostpredicted_BB: 0.6950 -> 1.0000 (boost 0.3050, better)
Biggest Deboostpredicted_H: 0.9500 -> 0.0000 (deboost -0.9500, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend12120111predicted_AB: 3.9100 -> 8.2589 (boost 4.3489, 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_snapshot33030predicted_SLG: 0.4614 -> 0.4881 (boost 0.0267, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling81726predicted_BB: 1.5858 -> 2.0000 (boost 0.4142, better)predicted_2B: 0.5110 -> 0.0000 (deboost -0.5110, worse)AB rounded to 8 (raw=8.26), rates preserved: AVG=0.280 HR/AB=0.039
5consistency_constraints10101-predicted_R: 1.4224 -> 1.0000 (deboost -0.4224, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context20202-predicted_SLG: 0.4881 -> 0.2500 (deboost -0.2381, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference60615-predicted_AB: 8.0000 -> 3.0000 (deboost -5.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final22020predicted_SLG: 0.2500 -> 0.4881 (boost 0.2381, 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.243,
        "predicted_3B": 0.067,
        "predicted_AB": 3.91,
        "predicted_AVG": 0.243,
        "predicted_BB": 0.695,
        "predicted_H": 0.95,
        "predicted_HR": 0.13,
        "predicted_OBP": 0.352,
        "predicted_R": 0.657,
        "predicted_RBI": 0.54,
        "predicted_SLG": 0.431,
        "predicted_SO": 0.552
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.511,
        "predicted_3B": 0.123,
        "predicted_AB": 8.2589,
        "predicted_AVG": 0.2638,
        "predicted_BB": 1.5696,
        "predicted_H": 2.2928,
        "predicted_HBP": 0.004,
        "predicted_HR": 0.3156,
        "predicted_OBP": 0.3736,
        "predicted_R": 1.3937,
        "predicted_RBI": 1.3203,
        "predicted_SLG": 0.4614,
        "predicted_SO": 1.1097
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.243,
          "after": 0.511,
          "delta": 0.268,
          "percent_delta": 1.1029,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.067,
          "after": 0.123,
          "delta": 0.056,
          "percent_delta": 0.8358,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.91,
          "after": 8.2589,
          "delta": 4.3489,
          "percent_delta": 1.1123,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.243,
          "after": 0.2638,
          "delta": 0.0208,
          "percent_delta": 0.0856,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.695,
          "after": 1.5696,
          "delta": 0.8746,
          "percent_delta": 1.2584,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.95,
          "after": 2.2928,
          "delta": 1.3428,
          "percent_delta": 1.4135,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.13,
          "after": 0.3156,
          "delta": 0.1856,
          "percent_delta": 1.4277,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.352,
          "after": 0.3736,
          "delta": 0.0216,
          "percent_delta": 0.0614,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.657,
          "after": 1.3937,
          "delta": 0.7367,
          "percent_delta": 1.1213,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.54,
          "after": 1.3203,
          "delta": 0.7803,
          "percent_delta": 1.445,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.431,
          "after": 0.4614,
          "delta": 0.0304,
          "percent_delta": 0.0705,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.552,
          "after": 1.1097,
          "delta": 0.5577,
          "percent_delta": 1.0103,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 12,
        "boosted_metrics": 12,
        "deboosted_metrics": 0,
        "better_metrics": 11,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.91,
          "after": 8.2589,
          "delta": 4.3489,
          "percent_delta": 1.1123,
          "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": 2,
        "last_10": 4,
        "season": 49
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.511,
        "predicted_3B": 0.123,
        "predicted_AB": 8.2589,
        "predicted_AVG": 0.2804,
        "predicted_BB": 1.5858,
        "predicted_H": 2.3157,
        "predicted_HBP": 0.004,
        "predicted_HR": 0.3194,
        "predicted_OBP": 0.3963,
        "predicted_R": 1.4224,
        "predicted_RBI": 1.3475,
        "predicted_SLG": 0.4881,
        "predicted_SO": 1.0983
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.511,
          "after": 0.511,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.123,
          "after": 0.123,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.2589,
          "after": 8.2589,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2638,
          "after": 0.2804,
          "delta": 0.0166,
          "percent_delta": 0.0629,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.5696,
          "after": 1.5858,
          "delta": 0.0162,
          "percent_delta": 0.0103,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.2928,
          "after": 2.3157,
          "delta": 0.0229,
          "percent_delta": 0.01,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.004,
          "after": 0.004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.3156,
          "after": 0.3194,
          "delta": 0.0038,
          "percent_delta": 0.012,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3736,
          "after": 0.3963,
          "delta": 0.0227,
          "percent_delta": 0.0608,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.3937,
          "after": 1.4224,
          "delta": 0.0287,
          "percent_delta": 0.0206,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.3203,
          "after": 1.3475,
          "delta": 0.0272,
          "percent_delta": 0.0206,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4614,
          "after": 0.4881,
          "delta": 0.0267,
          "percent_delta": 0.0579,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1097,
          "after": 1.0983,
          "delta": -0.0114,
          "percent_delta": -0.0103,
          "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.4614,
          "after": 0.4881,
          "delta": 0.0267,
          "percent_delta": 0.0579,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 8 (raw=8.26), rates preserved: AVG=0.280 HR/AB=0.039",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 2.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.511,
          "after": 0.0,
          "delta": -0.511,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.123,
          "after": 0.0,
          "delta": -0.123,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 8.2589,
          "after": 8.0,
          "delta": -0.2589,
          "percent_delta": -0.0313,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.5858,
          "after": 2.0,
          "delta": 0.4142,
          "percent_delta": 0.2612,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.3157,
          "after": 2.0,
          "delta": -0.3157,
          "percent_delta": -0.1363,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.004,
          "after": 0.0,
          "delta": -0.004,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.3194,
          "after": 0.0,
          "delta": -0.3194,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.3475,
          "after": 1.0,
          "delta": -0.3475,
          "percent_delta": -0.2579,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0983,
          "after": 1.0,
          "delta": -0.0983,
          "percent_delta": -0.0895,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 1,
        "deboosted_metrics": 7,
        "better_metrics": 2,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 1.5858,
          "after": 2.0,
          "delta": 0.4142,
          "percent_delta": 0.2612,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.511,
          "after": 0.0,
          "delta": -0.511,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 2.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 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": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.4224,
          "after": 1.0,
          "delta": -0.4224,
          "percent_delta": -0.297,
          "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": 1.4224,
          "after": 1.0,
          "delta": -0.4224,
          "percent_delta": -0.297,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 2.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.4,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.25,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2804,
          "after": 0.25,
          "delta": -0.0304,
          "percent_delta": -0.1084,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3963,
          "after": 0.4,
          "delta": 0.0037,
          "percent_delta": 0.0093,
          "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.4881,
          "after": 0.25,
          "delta": -0.2381,
          "percent_delta": -0.4878,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "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.4881,
          "after": 0.25,
          "delta": -0.2381,
          "percent_delta": -0.4878,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 3.0,
          "delta": -5.0,
          "percent_delta": -0.625,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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": 2.0,
          "after": 0.0,
          "delta": -2.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": 0,
        "deboosted_metrics": 6,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 8.0,
          "after": 3.0,
          "delta": -5.0,
          "percent_delta": -0.625,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2804,
        "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.3963,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4881,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2804,
          "delta": 0.0304,
          "percent_delta": 0.1216,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.4,
          "after": 0.3963,
          "delta": -0.0037,
          "percent_delta": -0.0092,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.4881,
          "delta": 0.2381,
          "percent_delta": 0.9523,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.4881,
          "delta": 0.2381,
          "percent_delta": 0.9523,
          "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.243,
        "after": 0.0,
        "delta": -0.243,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.067,
        "after": 0.0,
        "delta": -0.067,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.91,
        "after": 3.0,
        "delta": -0.91,
        "percent_delta": -0.2327,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.243,
        "after": 0.2804,
        "delta": 0.0374,
        "percent_delta": 0.1539,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.695,
        "after": 1.0,
        "delta": 0.305,
        "percent_delta": 0.4388,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.95,
        "after": 0.0,
        "delta": -0.95,
        "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.352,
        "after": 0.3963,
        "delta": 0.0443,
        "percent_delta": 0.1259,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.657,
        "after": 0.0,
        "delta": -0.657,
        "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.431,
        "after": 0.4881,
        "delta": 0.0571,
        "percent_delta": 0.1325,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.552,
        "after": 0.0,
        "delta": -0.552,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 12,
      "boosted_metrics": 4,
      "deboosted_metrics": 8,
      "better_metrics": 5,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.695,
        "after": 1.0,
        "delta": 0.305,
        "percent_delta": 0.4388,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.95,
        "after": 0.0,
        "delta": -0.95,
        "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.243-
predicted_3B0.067-
predicted_AB3.910-
predicted_AVG0.243-
predicted_BB0.695-
predicted_H0.950-
predicted_HR0.130-
predicted_OBP0.352-
predicted_R0.657-
predicted_RBI0.540-
predicted_SLG0.431-
predicted_SO0.552-
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.5110.268
predicted_3B0.1230.056
predicted_AB8.2594.349
predicted_AVG0.2640.021
predicted_BB1.5700.875
predicted_H2.2931.343
predicted_HBP0.004-
predicted_HR0.3160.186
predicted_OBP0.3740.022
predicted_R1.3940.737
predicted_RBI1.3200.780
predicted_SLG0.4610.030
predicted_SO1.1100.558
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.5110.000
predicted_3B0.1230.000
predicted_AB8.2590.000
predicted_AVG0.2800.017
predicted_BB1.5860.016
predicted_H2.3160.023
predicted_HBP0.0040.000
predicted_HR0.3190.004
predicted_OBP0.3960.023
predicted_R1.4220.029
predicted_RBI1.3470.027
predicted_SLG0.4880.027
predicted_SO1.098-0.011
4. ab_floor_and_scaling

AB rounded to 8 (raw=8.26), rates preserved: AVG=0.280 HR/AB=0.039

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB8.000-
BB2.000-
H2.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB8.0000.000
BB2.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
6. 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.511
predicted_3B0.000-0.123
predicted_AB8.000-0.259
predicted_AVG0.250-0.030
predicted_BB2.0000.414
predicted_H2.000-0.316
predicted_HR0.000-0.319
predicted_OBP0.4000.004
predicted_R1.000-0.422
predicted_RBI1.000-0.347
predicted_SLG0.250-0.238
predicted_SO1.000-0.098
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-5.000
BB1.000-1.000
CS0.0000.000
H0.000-2.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: 210
Reference playing time: 3.910
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-16.0005.0001.0000.0000.0000.0001.0004.0001.0000.31250.45000.37500.31250.00000.00000.25000.0625
last_100.204-34.00014.0001.0000.0004.0008.0007.0007.0001.0000.41180.51220.79410.41180.11770.23530.20590.0294
season0.6049-767.000209.00051.00014.00027.000140.000138.000146.000116.0000.27250.38300.48110.27250.03520.18250.19030.1512
Weighted Prediction From Real Data
MetricValue
predicted_2B0.8510
predicted_3B0.1940
predicted_AB13.7750
predicted_AVG0.2901
predicted_BB2.6790
predicted_H3.9960
predicted_HBP0.0040
predicted_HR0.5510
predicted_OBP0.4009
predicted_R2.3280
predicted_RBI2.3100
predicted_SLG0.4999
predicted_SO1.8170
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.24300.85100.5110model_form_blend
predicted_3B0.06700.19400.1230model_form_blend
predicted_AB3.910013.77508.2589model_form_blend
predicted_AVG0.24300.29010.2638model_form_blend
predicted_BB0.69502.67901.5696model_form_blend
predicted_H0.95003.99602.2928model_form_blend
predicted_HBP-0.00400.0040form_only
predicted_HR0.13000.55100.3156model_form_blend
predicted_OBP0.35200.40090.3736model_form_blend
predicted_R0.65702.32801.3937model_form_blend
predicted_RBI0.54002.31001.3203model_form_blend
predicted_SLG0.43100.49990.4614model_form_blend
predicted_SO0.55201.81701.1097model_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 date210
Season rows before report date210
Report year2026
Profile rows used210
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.272

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB2
Hitting_battingOrder3
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedLF-CF
gameID20260520_TOR@NYY
game_typefull
mlbID641355
playerID641355
playerNameCody Bellinger
posLF
startedTrue
startingPositionLF
teamNYY
teamID19
game_date2026-05-20
sl_k_percent12.5
sl_bb_percent15.4
sl_woba0.376
sl_xwoba0.384
sl_xba0.294
sl_xslg0.472
sl_sweet_spot_percent42.0
sl_barrel_batted_rate8.1
sl_hard_hit_percent39.3
sl_exit_velocity_avg89.9
sl_launch_angle_avg19.6
sl_whiff_percent17.0
sl_swing_percent42.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 20260521: 195
All-history rows before 20260521: 195
System season_avg: 0.2430
Data season_avg (2026 season-to-date): 0.2428
Diff (system - data): 0.0002
System opponent_avg: 0.3700

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2001.0000.000Hitting_2B0.2000.0000.8001.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.8104.0008.000Hitting_AB3.7594.0000.2410.000
predicted_AVG0.2550.2500.250Hitting_AVG0.2430.7500.007-0.500
predicted_BB0.4510.0001.000Hitting_BB0.4510.000-0.4510.000
predicted_CS-0.0000.000BaseRunning_CS0.0670.000-0.0670.000
predicted_H0.9701.0002.000Hitting_H0.9133.0000.087-2.000
predicted_HR0.1200.0000.000Hitting_HR0.1080.000-0.1080.000
predicted_OBP0.3610.2500.333Hitting_OBP0.3250.750-0.075-0.500
predicted_R0.5081.0001.000Hitting_R0.5080.0000.4921.000
predicted_RBI0.4200.0001.000Hitting_RBI0.4210.000-0.4210.000
predicted_SB-0.0000.000BaseRunning_SB0.2460.000-0.2460.000
predicted_SLG0.4270.5000.250Hitting_SLG0.3820.7500.118-0.250
predicted_SO1.2001.0003.000Hitting_SO1.2000.000-0.2001.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_2B: 0.2000 -> 1.0000 (boost 0.8000, better)
Biggest Deboostpredicted_BB: 0.4510 -> 0.0000 (deboost -0.4510, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend108273predicted_AB: 3.8100 -> 7.9546 (boost 4.1446, better)predicted_SLG: 0.4270 -> 0.4138 (deboost -0.0132, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot20202-predicted_SLG: 0.4138 -> 0.4019 (deboost -0.0119, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling62415predicted_SO: 2.6209 -> 3.0000 (boost 0.3791, worse)predicted_2B: 0.3579 -> 0.0000 (deboost -0.3579, worse)AB rounded to 8 (raw=7.95), rates preserved: AVG=0.254 HR/AB=0.034
5consistency_constraints10101-predicted_R: 1.2344 -> 1.0000 (deboost -0.2344, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context20202-predicted_SLG: 0.4019 -> 0.2500 (deboost -0.1519, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference61524predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 8.0000 -> 4.0000 (deboost -4.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final22020predicted_SLG: 0.2500 -> 0.4019 (boost 0.1519, 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.2,
        "predicted_3B": 0.0,
        "predicted_AB": 3.81,
        "predicted_AVG": 0.255,
        "predicted_BB": 0.451,
        "predicted_H": 0.97,
        "predicted_HR": 0.12,
        "predicted_OBP": 0.361,
        "predicted_R": 0.508,
        "predicted_RBI": 0.42,
        "predicted_SLG": 0.427,
        "predicted_SO": 1.2
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.3579,
        "predicted_3B": 0.0009,
        "predicted_AB": 7.9546,
        "predicted_AVG": 0.253,
        "predicted_BB": 1.05,
        "predicted_H": 2.0018,
        "predicted_HBP": 0.059,
        "predicted_HR": 0.2686,
        "predicted_OBP": 0.3524,
        "predicted_R": 1.2095,
        "predicted_RBI": 0.8932,
        "predicted_SLG": 0.4138,
        "predicted_SO": 2.6482
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2,
          "after": 0.3579,
          "delta": 0.1579,
          "percent_delta": 0.7895,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.81,
          "after": 7.9546,
          "delta": 4.1446,
          "percent_delta": 1.0878,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.255,
          "after": 0.253,
          "delta": -0.002,
          "percent_delta": -0.0078,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.451,
          "after": 1.05,
          "delta": 0.599,
          "percent_delta": 1.3282,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.97,
          "after": 2.0018,
          "delta": 1.0318,
          "percent_delta": 1.0637,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.12,
          "after": 0.2686,
          "delta": 0.1486,
          "percent_delta": 1.2383,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.361,
          "after": 0.3524,
          "delta": -0.0086,
          "percent_delta": -0.0238,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.508,
          "after": 1.2095,
          "delta": 0.7015,
          "percent_delta": 1.3809,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.42,
          "after": 0.8932,
          "delta": 0.4732,
          "percent_delta": 1.1267,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.427,
          "after": 0.4138,
          "delta": -0.0132,
          "percent_delta": -0.0309,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2,
          "after": 2.6482,
          "delta": 1.4482,
          "percent_delta": 1.2068,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 10,
        "boosted_metrics": 8,
        "deboosted_metrics": 2,
        "better_metrics": 7,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.81,
          "after": 7.9546,
          "delta": 4.1446,
          "percent_delta": 1.0878,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.427,
          "after": 0.4138,
          "delta": -0.0132,
          "percent_delta": -0.0309,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 2,
        "last_10": 4,
        "season": 49
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.3579,
        "predicted_3B": 0.0009,
        "predicted_AB": 7.9546,
        "predicted_AVG": 0.2542,
        "predicted_BB": 1.0608,
        "predicted_H": 2.0218,
        "predicted_HBP": 0.059,
        "predicted_HR": 0.2719,
        "predicted_OBP": 0.3419,
        "predicted_R": 1.2344,
        "predicted_RBI": 0.9116,
        "predicted_SLG": 0.4019,
        "predicted_SO": 2.6209
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.3579,
          "after": 0.3579,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.9546,
          "after": 7.9546,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.253,
          "after": 0.2542,
          "delta": 0.0012,
          "percent_delta": 0.0047,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.05,
          "after": 1.0608,
          "delta": 0.0108,
          "percent_delta": 0.0103,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0018,
          "after": 2.0218,
          "delta": 0.02,
          "percent_delta": 0.01,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.059,
          "after": 0.059,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2686,
          "after": 0.2719,
          "delta": 0.0033,
          "percent_delta": 0.0123,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3524,
          "after": 0.3419,
          "delta": -0.0105,
          "percent_delta": -0.0298,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.2095,
          "after": 1.2344,
          "delta": 0.0249,
          "percent_delta": 0.0206,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.8932,
          "after": 0.9116,
          "delta": 0.0184,
          "percent_delta": 0.0206,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4138,
          "after": 0.4019,
          "delta": -0.0119,
          "percent_delta": -0.0288,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.6482,
          "after": 2.6209,
          "delta": -0.0273,
          "percent_delta": -0.0103,
          "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.4138,
          "after": 0.4019,
          "delta": -0.0119,
          "percent_delta": -0.0288,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 8 (raw=7.95), rates preserved: AVG=0.254 HR/AB=0.034",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.3579,
          "after": 0.0,
          "delta": -0.3579,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 7.9546,
          "after": 8.0,
          "delta": 0.0454,
          "percent_delta": 0.0057,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0608,
          "after": 1.0,
          "delta": -0.0608,
          "percent_delta": -0.0573,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.0218,
          "after": 2.0,
          "delta": -0.0218,
          "percent_delta": -0.0108,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.059,
          "after": 0.0,
          "delta": -0.059,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2719,
          "after": 0.0,
          "delta": -0.2719,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.9116,
          "after": 1.0,
          "delta": 0.0884,
          "percent_delta": 0.097,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.6209,
          "after": 3.0,
          "delta": 0.3791,
          "percent_delta": 0.1446,
          "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": 2.6209,
          "after": 3.0,
          "delta": 0.3791,
          "percent_delta": 0.1446,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.3579,
          "after": 0.0,
          "delta": -0.3579,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.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": 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": 8.0,
          "after": 8.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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.2344,
          "after": 1.0,
          "delta": -0.2344,
          "percent_delta": -0.1899,
          "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": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.2344,
          "after": 1.0,
          "delta": -0.2344,
          "percent_delta": -0.1899,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 8.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.333,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.25,
        "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": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2542,
          "after": 0.25,
          "delta": -0.0042,
          "percent_delta": -0.0165,
          "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": 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.3419,
          "after": 0.333,
          "delta": -0.0089,
          "percent_delta": -0.026,
          "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.4019,
          "after": 0.25,
          "delta": -0.1519,
          "percent_delta": -0.378,
          "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.4019,
          "after": 0.25,
          "delta": -0.1519,
          "percent_delta": -0.378,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 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": 8.0,
          "after": 4.0,
          "delta": -4.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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": 3.0,
          "after": 1.0,
          "delta": -2.0,
          "percent_delta": -0.6667,
          "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_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": 8.0,
          "after": 4.0,
          "delta": -4.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2542,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3419,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4019,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2542,
          "delta": 0.0042,
          "percent_delta": 0.0167,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.333,
          "after": 0.3419,
          "delta": 0.0089,
          "percent_delta": 0.0268,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.4019,
          "delta": 0.1519,
          "percent_delta": 0.6077,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.4019,
          "delta": 0.1519,
          "percent_delta": 0.6077,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.2,
        "after": 1.0,
        "delta": 0.8,
        "percent_delta": 4.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.81,
        "after": 4.0,
        "delta": 0.19,
        "percent_delta": 0.0499,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.255,
        "after": 0.2542,
        "delta": -0.0008,
        "percent_delta": -0.0031,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.451,
        "after": 0.0,
        "delta": -0.451,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.97,
        "after": 1.0,
        "delta": 0.03,
        "percent_delta": 0.0309,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.12,
        "after": 0.0,
        "delta": -0.12,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.361,
        "after": 0.3419,
        "delta": -0.0191,
        "percent_delta": -0.0529,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.508,
        "after": 1.0,
        "delta": 0.492,
        "percent_delta": 0.9685,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.42,
        "after": 0.0,
        "delta": -0.42,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.427,
        "after": 0.4019,
        "delta": -0.0251,
        "percent_delta": -0.0588,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.2,
        "after": 1.0,
        "delta": -0.2,
        "percent_delta": -0.1667,
        "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_2B",
        "before": 0.2,
        "after": 1.0,
        "delta": 0.8,
        "percent_delta": 4.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.451,
        "after": 0.0,
        "delta": -0.451,
        "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_AB3.810-
predicted_AVG0.255-
predicted_BB0.451-
predicted_H0.970-
predicted_HR0.120-
predicted_OBP0.361-
predicted_R0.508-
predicted_RBI0.420-
predicted_SLG0.427-
predicted_SO1.200-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.3580.158
predicted_3B0.0010.001
predicted_AB7.9554.145
predicted_AVG0.253-0.002
predicted_BB1.0500.599
predicted_H2.0021.032
predicted_HBP0.059-
predicted_HR0.2690.149
predicted_OBP0.352-0.009
predicted_R1.2100.702
predicted_RBI0.8930.473
predicted_SLG0.414-0.013
predicted_SO2.6481.448
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.3580.000
predicted_3B0.0010.000
predicted_AB7.9550.000
predicted_AVG0.2540.001
predicted_BB1.0610.011
predicted_H2.0220.020
predicted_HBP0.0590.000
predicted_HR0.2720.003
predicted_OBP0.342-0.011
predicted_R1.2340.025
predicted_RBI0.9120.018
predicted_SLG0.402-0.012
predicted_SO2.621-0.027
4. ab_floor_and_scaling

AB rounded to 8 (raw=7.95), rates preserved: AVG=0.254 HR/AB=0.034

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB8.000-
BB1.000-
H2.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO3.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB8.0000.000
BB1.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO3.0000.000
6. 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.358
predicted_3B0.000-0.001
predicted_AB8.0000.045
predicted_AVG0.250-0.004
predicted_BB1.000-0.061
predicted_H2.000-0.022
predicted_HR0.000-0.272
predicted_OBP0.333-0.009
predicted_R1.000-0.234
predicted_RBI1.0000.088
predicted_SLG0.250-0.152
predicted_SO3.0000.379
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB4.000-4.000
BB0.000-1.000
CS0.0000.000
H1.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.000-2.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 195
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-16.0003.0000.0000.0000.0000.0004.0004.0008.0000.18750.35000.18750.18750.00000.00000.25000.5000
last_100.204-35.00013.0000.0000.0004.0008.0009.0006.00013.0000.37140.46340.71430.37140.11430.22860.17140.3714
season0.6049-733.000178.00039.0000.00021.00082.00099.00088.000234.0000.24280.32530.38200.24280.02860.11190.12010.3192
Weighted Prediction From Real Data
MetricValue
predicted_2B0.5590
predicted_3B0.0020
predicted_AB13.2340
predicted_AVG0.2505
predicted_BB1.8130
predicted_H3.3160
predicted_HBP0.0590
predicted_HR0.4580
predicted_OBP0.3415
predicted_R2.1030
predicted_RBI1.4960
predicted_SLG0.3969
predicted_SO4.4930
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.20000.55900.3579model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB3.810013.23407.9546model_form_blend
predicted_AVG0.25500.25050.2530model_form_blend
predicted_BB0.45101.81301.0500model_form_blend
predicted_H0.97003.31602.0018model_form_blend
predicted_HBP-0.05900.0590form_only
predicted_HR0.12000.45800.2686model_form_blend
predicted_OBP0.36100.34150.3524model_form_blend
predicted_R0.50802.10301.2095model_form_blend
predicted_RBI0.42001.49600.8932model_form_blend
predicted_SLG0.42700.39690.4138model_form_blend
predicted_SO1.20004.49302.6482model_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 date195
Season rows before report date195
Report year2026
Profile rows used195
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.243

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_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
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
allPositionsPlayed2B
gameID20260520_TOR@NYY
game_typefull
mlbID665862
playerID665862
playerNameJazz Chisholm Jr.
pos2B
startedTrue
startingPosition2B
teamNYY
teamID19
game_date2026-05-20
sl_k_percent28.9
sl_bb_percent10.3
sl_woba0.31
sl_xwoba0.278
sl_xba0.202
sl_xslg0.328
sl_sweet_spot_percent29.9
sl_barrel_batted_rate6.0
sl_hard_hit_percent35.9
sl_exit_velocity_avg88.9
sl_launch_angle_avg18.1
sl_whiff_percent31.4
sl_swing_percent42.8
Ben Rice (700250) · BATTER · DH · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 187
All-history rows before 20260521: 187
System season_avg: 0.2910
Data season_avg (2026 season-to-date): 0.2912
Diff (system - data): -0.0002
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.2420.0001.000Hitting_2B0.2410.000-0.2410.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.9604.0009.000Hitting_AB3.7274.0000.2730.000
predicted_AVG0.2360.0000.222Hitting_AVG0.2910.000-0.2910.000
predicted_BB0.6400.0001.000Hitting_BB0.6360.000-0.6360.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.9400.0002.000Hitting_H1.0860.000-1.0860.000
predicted_HR0.2700.0001.000Hitting_HR0.3690.000-0.3690.000
predicted_OBP0.3170.0000.300Hitting_OBP0.3990.000-0.3990.000
predicted_R0.8550.0002.000Hitting_R0.8500.000-0.8500.000
predicted_RBI0.5900.0002.000Hitting_RBI0.7750.000-0.7750.000
predicted_SLG0.5110.0000.667Hitting_SLG0.6530.000-0.6530.000
predicted_SO1.0862.0002.000Hitting_SO1.0801.0000.9201.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.0860 -> 2.0000 (boost 0.9140, worse)
Biggest Deboostpredicted_H: 0.9400 -> 0.0000 (deboost -0.9400, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend11110101predicted_AB: 3.9600 -> 8.7070 (boost 4.7470, 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_snapshot33030predicted_SLG: 0.5748 -> 0.6233 (boost 0.0485, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling84453predicted_2B: 0.5222 -> 1.0000 (boost 0.4778, better)predicted_SO: 2.3973 -> 2.0000 (deboost -0.3973, better)AB rounded to 9 (raw=8.71), rates preserved: AVG=0.268 HR/AB=0.098
5consistency_constraints11010predicted_R: 1.9073 -> 2.0000 (boost 0.0927, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context31212predicted_SLG: 0.6233 -> 0.6670 (boost 0.0437, better)predicted_OBP: 0.3620 -> 0.3000 (deboost -0.0620, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference70707-predicted_AB: 9.0000 -> 4.0000 (deboost -5.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final32121predicted_OBP: 0.3000 -> 0.3620 (boost 0.0620, better)predicted_SLG: 0.6670 -> 0.6233 (deboost -0.0437, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "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.242,
        "predicted_3B": 0.0,
        "predicted_AB": 3.96,
        "predicted_AVG": 0.236,
        "predicted_BB": 0.64,
        "predicted_H": 0.94,
        "predicted_HR": 0.27,
        "predicted_OBP": 0.317,
        "predicted_R": 0.855,
        "predicted_RBI": 0.59,
        "predicted_SLG": 0.511,
        "predicted_SO": 1.086
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.5222,
        "predicted_3B": 0.0009,
        "predicted_AB": 8.707,
        "predicted_AVG": 0.2532,
        "predicted_BB": 1.2672,
        "predicted_H": 2.3118,
        "predicted_HBP": 0.175,
        "predicted_HR": 0.8457,
        "predicted_OBP": 0.3378,
        "predicted_R": 1.8688,
        "predicted_RBI": 1.7788,
        "predicted_SLG": 0.5748,
        "predicted_SO": 2.4222
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.242,
          "after": 0.5222,
          "delta": 0.2802,
          "percent_delta": 1.1579,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.96,
          "after": 8.707,
          "delta": 4.747,
          "percent_delta": 1.1987,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.236,
          "after": 0.2532,
          "delta": 0.0172,
          "percent_delta": 0.0729,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.64,
          "after": 1.2672,
          "delta": 0.6272,
          "percent_delta": 0.98,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.94,
          "after": 2.3118,
          "delta": 1.3718,
          "percent_delta": 1.4594,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.27,
          "after": 0.8457,
          "delta": 0.5757,
          "percent_delta": 2.1322,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.317,
          "after": 0.3378,
          "delta": 0.0208,
          "percent_delta": 0.0656,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.855,
          "after": 1.8688,
          "delta": 1.0138,
          "percent_delta": 1.1857,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.59,
          "after": 1.7788,
          "delta": 1.1888,
          "percent_delta": 2.0149,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.511,
          "after": 0.5748,
          "delta": 0.0638,
          "percent_delta": 0.1249,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.086,
          "after": 2.4222,
          "delta": 1.3362,
          "percent_delta": 1.2304,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 11,
        "boosted_metrics": 11,
        "deboosted_metrics": 0,
        "better_metrics": 10,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.96,
          "after": 8.707,
          "delta": 4.747,
          "percent_delta": 1.1987,
          "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": 2,
        "last_10": 3,
        "season": 44
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.5222,
        "predicted_3B": 0.0009,
        "predicted_AB": 8.707,
        "predicted_AVG": 0.2682,
        "predicted_BB": 1.2803,
        "predicted_H": 2.3349,
        "predicted_HBP": 0.175,
        "predicted_HR": 0.8559,
        "predicted_OBP": 0.362,
        "predicted_R": 1.9073,
        "predicted_RBI": 1.8154,
        "predicted_SLG": 0.6233,
        "predicted_SO": 2.3973
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.5222,
          "after": 0.5222,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.707,
          "after": 8.707,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2532,
          "after": 0.2682,
          "delta": 0.015,
          "percent_delta": 0.0592,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.2672,
          "after": 1.2803,
          "delta": 0.0131,
          "percent_delta": 0.0103,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.3118,
          "after": 2.3349,
          "delta": 0.0231,
          "percent_delta": 0.01,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.175,
          "after": 0.175,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.8457,
          "after": 0.8559,
          "delta": 0.0102,
          "percent_delta": 0.0121,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3378,
          "after": 0.362,
          "delta": 0.0242,
          "percent_delta": 0.0716,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.8688,
          "after": 1.9073,
          "delta": 0.0385,
          "percent_delta": 0.0206,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.7788,
          "after": 1.8154,
          "delta": 0.0366,
          "percent_delta": 0.0206,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5748,
          "after": 0.6233,
          "delta": 0.0485,
          "percent_delta": 0.0844,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.4222,
          "after": 2.3973,
          "delta": -0.0249,
          "percent_delta": -0.0103,
          "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.5748,
          "after": 0.6233,
          "delta": 0.0485,
          "percent_delta": 0.0844,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 9 (raw=8.71), rates preserved: AVG=0.268 HR/AB=0.098",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.5222,
          "after": 1.0,
          "delta": 0.4778,
          "percent_delta": 0.915,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 8.707,
          "after": 9.0,
          "delta": 0.293,
          "percent_delta": 0.0337,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.2803,
          "after": 1.0,
          "delta": -0.2803,
          "percent_delta": -0.2189,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.3349,
          "after": 2.0,
          "delta": -0.3349,
          "percent_delta": -0.1434,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.175,
          "after": 0.0,
          "delta": -0.175,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.8559,
          "after": 1.0,
          "delta": 0.1441,
          "percent_delta": 0.1684,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.8154,
          "after": 2.0,
          "delta": 0.1846,
          "percent_delta": 0.1017,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.3973,
          "after": 2.0,
          "delta": -0.3973,
          "percent_delta": -0.1657,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 4,
        "deboosted_metrics": 4,
        "better_metrics": 5,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.5222,
          "after": 1.0,
          "delta": 0.4778,
          "percent_delta": 0.915,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 2.3973,
          "after": 2.0,
          "delta": -0.3973,
          "percent_delta": -0.1657,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 2.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 9.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": 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_R",
          "before": 1.9073,
          "after": 2.0,
          "delta": 0.0927,
          "percent_delta": 0.0486,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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_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": 1.9073,
          "after": 2.0,
          "delta": 0.0927,
          "percent_delta": 0.0486,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 9.0,
        "predicted_AVG": 0.222,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.3,
        "predicted_R": 2.0,
        "predicted_RBI": 2.0,
        "predicted_SLG": 0.667,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 9.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2682,
          "after": 0.222,
          "delta": -0.0462,
          "percent_delta": -0.1723,
          "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": 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_OBP",
          "before": 0.362,
          "after": 0.3,
          "delta": -0.062,
          "percent_delta": -0.1713,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 2.0,
          "after": 2.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_SLG",
          "before": 0.6233,
          "after": 0.667,
          "delta": 0.0437,
          "percent_delta": 0.0701,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.6233,
          "after": 0.667,
          "delta": 0.0437,
          "percent_delta": 0.0701,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.362,
          "after": 0.3,
          "delta": -0.062,
          "percent_delta": -0.1713,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 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": 9.0,
          "after": 4.0,
          "delta": -5.0,
          "percent_delta": -0.5556,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.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": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.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": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 0,
        "deboosted_metrics": 7,
        "better_metrics": 0,
        "worse_metrics": 7,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 9.0,
          "after": 4.0,
          "delta": -5.0,
          "percent_delta": -0.5556,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2682,
        "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.362,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.6233,
        "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.2682,
          "delta": 0.0462,
          "percent_delta": 0.208,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.362,
          "delta": 0.062,
          "percent_delta": 0.2066,
          "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.667,
          "after": 0.6233,
          "delta": -0.0437,
          "percent_delta": -0.0656,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.3,
          "after": 0.362,
          "delta": 0.062,
          "percent_delta": 0.2066,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.667,
          "after": 0.6233,
          "delta": -0.0437,
          "percent_delta": -0.0656,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.242,
        "after": 0.0,
        "delta": -0.242,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.96,
        "after": 4.0,
        "delta": 0.04,
        "percent_delta": 0.0101,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AVG",
        "before": 0.236,
        "after": 0.2682,
        "delta": 0.0322,
        "percent_delta": 0.1364,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.64,
        "after": 0.0,
        "delta": -0.64,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.94,
        "after": 0.0,
        "delta": -0.94,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.27,
        "after": 0.0,
        "delta": -0.27,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.317,
        "after": 0.362,
        "delta": 0.045,
        "percent_delta": 0.142,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.855,
        "after": 0.0,
        "delta": -0.855,
        "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.511,
        "after": 0.6233,
        "delta": 0.1123,
        "percent_delta": 0.2198,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.086,
        "after": 2.0,
        "delta": 0.914,
        "percent_delta": 0.8416,
        "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.086,
        "after": 2.0,
        "delta": 0.914,
        "percent_delta": 0.8416,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.94,
        "after": 0.0,
        "delta": -0.94,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.242-
predicted_3B0.000-
predicted_AB3.960-
predicted_AVG0.236-
predicted_BB0.640-
predicted_H0.940-
predicted_HR0.270-
predicted_OBP0.317-
predicted_R0.855-
predicted_RBI0.590-
predicted_SLG0.511-
predicted_SO1.086-
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.5220.280
predicted_3B0.0010.001
predicted_AB8.7074.747
predicted_AVG0.2530.017
predicted_BB1.2670.627
predicted_H2.3121.372
predicted_HBP0.175-
predicted_HR0.8460.576
predicted_OBP0.3380.021
predicted_R1.8691.014
predicted_RBI1.7791.189
predicted_SLG0.5750.064
predicted_SO2.4221.336
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.5220.000
predicted_3B0.0010.000
predicted_AB8.7070.000
predicted_AVG0.2680.015
predicted_BB1.2800.013
predicted_H2.3350.023
predicted_HBP0.1750.000
predicted_HR0.8560.010
predicted_OBP0.3620.024
predicted_R1.9070.038
predicted_RBI1.8150.037
predicted_SLG0.6230.048
predicted_SO2.397-0.025
4. ab_floor_and_scaling

AB rounded to 9 (raw=8.71), rates preserved: AVG=0.268 HR/AB=0.098

MetricValueDelta vs Prev Step
2B1.000-
3B0.000-
AB9.000-
BB1.000-
H2.000-
HBP0.000-
HR1.000-
RBI2.000-
SB0.000-
SO2.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB9.0000.000
BB1.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR1.0000.000
R2.000-
RBI2.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
6. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B1.0000.478
predicted_3B0.000-0.001
predicted_AB9.0000.293
predicted_AVG0.222-0.046
predicted_BB1.000-0.280
predicted_H2.000-0.335
predicted_HR1.0000.144
predicted_OBP0.300-0.062
predicted_R2.0000.093
predicted_RBI2.0000.185
predicted_SLG0.6670.044
predicted_SO2.000-0.397
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 186
Reference playing time: 3.960
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-20.0004.0000.0000.0004.0008.0004.0000.0005.0000.20000.20000.80000.20000.20000.40000.00000.2500
last_100.203-45.0009.0005.0000.0004.0008.0004.0000.00010.0000.20000.20000.57780.20000.08890.17780.00000.2222
season0.6044-697.000203.00045.0000.00069.000144.000159.000119.000202.0000.29120.39950.65280.29130.09900.20660.17070.2898
Weighted Prediction From Real Data
MetricValue
predicted_2B0.8790
predicted_3B0.0020
predicted_AB14.7530
predicted_AVG0.2751
predicted_BB2.0660
predicted_H4.0590
predicted_HBP0.1750
predicted_HR1.5790
predicted_OBP0.3644
predicted_R3.1600
predicted_RBI3.2930
predicted_SLG0.6560
predicted_SO4.1240
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.24200.87900.5222model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB3.960014.75308.7070model_form_blend
predicted_AVG0.23600.27510.2532model_form_blend
predicted_BB0.64002.06601.2672model_form_blend
predicted_H0.94004.05902.3118model_form_blend
predicted_HBP-0.17500.1750form_only
predicted_HR0.27001.57900.8457model_form_blend
predicted_OBP0.31700.36440.3378model_form_blend
predicted_R0.85503.16001.8688model_form_blend
predicted_RBI0.59003.29301.7788model_form_blend
predicted_SLG0.51100.65600.5748model_form_blend
predicted_SO1.08604.12402.4222model_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 date187
Season rows before report date187
Report year2026
Profile rows used186
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.291

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
allPositionsPlayedDH
gameID20260520_TOR@NYY
game_typefull
mlbID700250
playerID700250
playerNameBen Rice
pos1B
startedTrue
startingPositionDH
teamNYY
teamID19
game_date2026-05-20
sl_k_percent24.5
sl_bb_percent13.6
sl_woba0.45
sl_xwoba0.417
sl_xba0.289
sl_xslg0.586
sl_sweet_spot_percent39.3
sl_barrel_batted_rate19.6
sl_hard_hit_percent54.5
sl_exit_velocity_avg93.0
sl_launch_angle_avg12.5
sl_whiff_percent26.9
sl_swing_percent40.6
Paul Goldschmidt (502671) · BATTER · 1B · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 84
All-history rows before 20260521: 84
System season_avg: 0.3000
Data season_avg (2026 season-to-date): 0.3003
Diff (system - data): -0.0003
System opponent_avg: 0.4230

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2561.0001.000Hitting_2B0.2500.0000.7501.000
predicted_3B0.0610.0000.000Hitting_3B0.0600.000-0.0600.000
predicted_AB3.5734.0007.000Hitting_AB3.4884.0000.5120.000
predicted_AVG0.2770.7500.286Hitting_AVG0.3000.2500.4500.500
predicted_BB0.4630.0001.000Hitting_BB0.4640.000-0.4640.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.8403.0002.000Hitting_H1.0481.0001.9522.000
predicted_HR0.1800.0001.000Hitting_HR0.2740.000-0.2740.000
predicted_OBP0.3710.7500.375Hitting_OBP0.3990.2500.3510.500
predicted_R0.7561.0001.000Hitting_R0.7500.0000.2501.000
predicted_RBI0.5402.0001.000Hitting_RBI0.6791.0001.3211.000
predicted_SLG0.5361.0000.857Hitting_SLG0.6420.2500.3580.750
predicted_SO0.8170.0001.000Hitting_SO0.7980.000-0.7980.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics12
Boosted Metrics8
Deboosted Metrics4
Better Metrics9
Worse Metrics3
Biggest Boostpredicted_H: 0.8400 -> 3.0000 (boost 2.1600, better)
Biggest Deboostpredicted_SO: 0.8170 -> 0.0000 (deboost -0.8170, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend11110101predicted_AB: 3.5730 -> 6.5859 (boost 3.0129, better)-Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot21111predicted_SLG: 0.5987 -> 0.6291 (boost 0.0304, better)predicted_OBP: 0.3884 -> 0.3811 (deboost -0.0073, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling84453predicted_HR: 0.5062 -> 1.0000 (boost 0.4938, better)predicted_SO: 1.4076 -> 1.0000 (deboost -0.4076, better)AB rounded to 7 (raw=6.59), rates preserved: AVG=0.290 HR/AB=0.077
5consistency_constraints10101-predicted_R: 1.3306 -> 1.0000 (deboost -0.3306, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context21111predicted_SLG: 0.6291 -> 0.8570 (boost 0.2279, better)predicted_OBP: 0.3811 -> 0.3750 (deboost -0.0061, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference62433predicted_H: 2.0000 -> 3.0000 (boost 1.0000, better)predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final21111predicted_OBP: 0.3750 -> 0.3811 (boost 0.0061, better)predicted_SLG: 0.8570 -> 0.6291 (deboost -0.2279, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "502671",
  "player_name": "Paul Goldschmidt",
  "position": "1B",
  "team": "NYY",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.256,
        "predicted_3B": 0.061,
        "predicted_AB": 3.573,
        "predicted_AVG": 0.277,
        "predicted_BB": 0.463,
        "predicted_H": 0.84,
        "predicted_HR": 0.18,
        "predicted_OBP": 0.371,
        "predicted_R": 0.756,
        "predicted_RBI": 0.54,
        "predicted_SLG": 0.536,
        "predicted_SO": 0.817
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.5271,
        "predicted_3B": 0.0925,
        "predicted_AB": 6.5859,
        "predicted_AVG": 0.2916,
        "predicted_BB": 0.9544,
        "predicted_H": 1.894,
        "predicted_HBP": 0.249,
        "predicted_HR": 0.5001,
        "predicted_OBP": 0.3884,
        "predicted_R": 1.3037,
        "predicted_RBI": 1.3174,
        "predicted_SLG": 0.5987,
        "predicted_SO": 1.4222
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.256,
          "after": 0.5271,
          "delta": 0.2711,
          "percent_delta": 1.059,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.061,
          "after": 0.0925,
          "delta": 0.0315,
          "percent_delta": 0.5164,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.573,
          "after": 6.5859,
          "delta": 3.0129,
          "percent_delta": 0.8432,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.277,
          "after": 0.2916,
          "delta": 0.0146,
          "percent_delta": 0.0527,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.463,
          "after": 0.9544,
          "delta": 0.4914,
          "percent_delta": 1.0613,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.84,
          "after": 1.894,
          "delta": 1.054,
          "percent_delta": 1.2548,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.18,
          "after": 0.5001,
          "delta": 0.3201,
          "percent_delta": 1.7783,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.371,
          "after": 0.3884,
          "delta": 0.0174,
          "percent_delta": 0.0469,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.756,
          "after": 1.3037,
          "delta": 0.5477,
          "percent_delta": 0.7245,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.54,
          "after": 1.3174,
          "delta": 0.7774,
          "percent_delta": 1.4396,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.536,
          "after": 0.5987,
          "delta": 0.0627,
          "percent_delta": 0.117,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.817,
          "after": 1.4222,
          "delta": 0.6052,
          "percent_delta": 0.7408,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 11,
        "boosted_metrics": 11,
        "deboosted_metrics": 0,
        "better_metrics": 10,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.573,
          "after": 6.5859,
          "delta": 3.0129,
          "percent_delta": 0.8432,
          "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": 3,
        "last_10": 4,
        "season": 23
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.5271,
        "predicted_3B": 0.0925,
        "predicted_AB": 6.5859,
        "predicted_AVG": 0.2905,
        "predicted_BB": 0.9642,
        "predicted_H": 1.9129,
        "predicted_HBP": 0.249,
        "predicted_HR": 0.5062,
        "predicted_OBP": 0.3811,
        "predicted_R": 1.3306,
        "predicted_RBI": 1.3445,
        "predicted_SLG": 0.6291,
        "predicted_SO": 1.4076
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.5271,
          "after": 0.5271,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0925,
          "after": 0.0925,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.5859,
          "after": 6.5859,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2916,
          "after": 0.2905,
          "delta": -0.0011,
          "percent_delta": -0.0038,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.9544,
          "after": 0.9642,
          "delta": 0.0098,
          "percent_delta": 0.0103,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.894,
          "after": 1.9129,
          "delta": 0.0189,
          "percent_delta": 0.01,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.249,
          "after": 0.249,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.5001,
          "after": 0.5062,
          "delta": 0.0061,
          "percent_delta": 0.0122,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3884,
          "after": 0.3811,
          "delta": -0.0073,
          "percent_delta": -0.0188,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.3037,
          "after": 1.3306,
          "delta": 0.0269,
          "percent_delta": 0.0206,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.3174,
          "after": 1.3445,
          "delta": 0.0271,
          "percent_delta": 0.0206,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5987,
          "after": 0.6291,
          "delta": 0.0304,
          "percent_delta": 0.0508,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.4222,
          "after": 1.4076,
          "delta": -0.0146,
          "percent_delta": -0.0103,
          "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.5987,
          "after": 0.6291,
          "delta": 0.0304,
          "percent_delta": 0.0508,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3884,
          "after": 0.3811,
          "delta": -0.0073,
          "percent_delta": -0.0188,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 7 (raw=6.59), rates preserved: AVG=0.290 HR/AB=0.077",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.5271,
          "after": 1.0,
          "delta": 0.4729,
          "percent_delta": 0.8972,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0925,
          "after": 0.0,
          "delta": -0.0925,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 6.5859,
          "after": 7.0,
          "delta": 0.4141,
          "percent_delta": 0.0629,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.9642,
          "after": 1.0,
          "delta": 0.0358,
          "percent_delta": 0.0371,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.9129,
          "after": 2.0,
          "delta": 0.0871,
          "percent_delta": 0.0455,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.249,
          "after": 0.0,
          "delta": -0.249,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.5062,
          "after": 1.0,
          "delta": 0.4938,
          "percent_delta": 0.9755,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.3445,
          "after": 1.0,
          "delta": -0.3445,
          "percent_delta": -0.2562,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.4076,
          "after": 1.0,
          "delta": -0.4076,
          "percent_delta": -0.2896,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 4,
        "deboosted_metrics": 4,
        "better_metrics": 5,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_HR",
          "before": 0.5062,
          "after": 1.0,
          "delta": 0.4938,
          "percent_delta": 0.9755,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.4076,
          "after": 1.0,
          "delta": -0.4076,
          "percent_delta": -0.2896,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.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": 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": 7.0,
          "after": 7.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": 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_R",
          "before": 1.3306,
          "after": 1.0,
          "delta": -0.3306,
          "percent_delta": -0.2485,
          "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": 1.3306,
          "after": 1.0,
          "delta": -0.3306,
          "percent_delta": -0.2485,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 7.0,
        "predicted_AVG": 0.286,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.375,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.857,
        "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": 7.0,
          "after": 7.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2905,
          "after": 0.286,
          "delta": -0.0045,
          "percent_delta": -0.0155,
          "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": 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_OBP",
          "before": 0.3811,
          "after": 0.375,
          "delta": -0.0061,
          "percent_delta": -0.016,
          "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.6291,
          "after": 0.857,
          "delta": 0.2279,
          "percent_delta": 0.3623,
          "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.6291,
          "after": 0.857,
          "delta": 0.2279,
          "percent_delta": 0.3623,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3811,
          "after": 0.375,
          "delta": -0.0061,
          "percent_delta": -0.016,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 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": 7.0,
          "after": 4.0,
          "delta": -3.0,
          "percent_delta": -0.4286,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 3.0,
          "delta": 1.0,
          "percent_delta": 0.5,
          "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": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "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": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 3.0,
          "delta": 1.0,
          "percent_delta": 0.5,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 7.0,
          "after": 4.0,
          "delta": -3.0,
          "percent_delta": -0.4286,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2905,
        "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.3811,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.6291,
        "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.286,
          "after": 0.2905,
          "delta": 0.0045,
          "percent_delta": 0.0156,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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.375,
          "after": 0.3811,
          "delta": 0.0061,
          "percent_delta": 0.0162,
          "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.857,
          "after": 0.6291,
          "delta": -0.2279,
          "percent_delta": -0.2659,
          "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.375,
          "after": 0.3811,
          "delta": 0.0061,
          "percent_delta": 0.0162,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.857,
          "after": 0.6291,
          "delta": -0.2279,
          "percent_delta": -0.2659,
          "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.256,
        "after": 1.0,
        "delta": 0.744,
        "percent_delta": 2.9062,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.061,
        "after": 0.0,
        "delta": -0.061,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.573,
        "after": 4.0,
        "delta": 0.427,
        "percent_delta": 0.1195,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.277,
        "after": 0.2905,
        "delta": 0.0135,
        "percent_delta": 0.0487,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.463,
        "after": 0.0,
        "delta": -0.463,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.84,
        "after": 3.0,
        "delta": 2.16,
        "percent_delta": 2.5714,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.18,
        "after": 0.0,
        "delta": -0.18,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.371,
        "after": 0.3811,
        "delta": 0.0101,
        "percent_delta": 0.0272,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.756,
        "after": 1.0,
        "delta": 0.244,
        "percent_delta": 0.3228,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.54,
        "after": 2.0,
        "delta": 1.46,
        "percent_delta": 2.7037,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.536,
        "after": 0.6291,
        "delta": 0.0931,
        "percent_delta": 0.1737,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.817,
        "after": 0.0,
        "delta": -0.817,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 12,
      "boosted_metrics": 8,
      "deboosted_metrics": 4,
      "better_metrics": 9,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.84,
        "after": 3.0,
        "delta": 2.16,
        "percent_delta": 2.5714,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.817,
        "after": 0.0,
        "delta": -0.817,
        "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.256-
predicted_3B0.061-
predicted_AB3.573-
predicted_AVG0.277-
predicted_BB0.463-
predicted_H0.840-
predicted_HR0.180-
predicted_OBP0.371-
predicted_R0.756-
predicted_RBI0.540-
predicted_SLG0.536-
predicted_SO0.817-
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.5270.271
predicted_3B0.0920.032
predicted_AB6.5863.013
predicted_AVG0.2920.015
predicted_BB0.9540.491
predicted_H1.8941.054
predicted_HBP0.249-
predicted_HR0.5000.320
predicted_OBP0.3880.017
predicted_R1.3040.548
predicted_RBI1.3170.777
predicted_SLG0.5990.063
predicted_SO1.4220.605
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.5270.000
predicted_3B0.0920.000
predicted_AB6.5860.000
predicted_AVG0.290-0.001
predicted_BB0.9640.010
predicted_H1.9130.019
predicted_HBP0.2490.000
predicted_HR0.5060.006
predicted_OBP0.381-0.007
predicted_R1.3310.027
predicted_RBI1.3450.027
predicted_SLG0.6290.030
predicted_SO1.408-0.015
4. ab_floor_and_scaling

AB rounded to 7 (raw=6.59), rates preserved: AVG=0.290 HR/AB=0.077

MetricValueDelta vs Prev Step
2B1.000-
3B0.000-
AB7.000-
BB1.000-
H2.000-
HBP0.000-
HR1.000-
RBI1.000-
SB0.000-
SO1.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB7.0000.000
BB1.0000.000
CS0.000-
H2.0000.000
HBP0.0000.000
HR1.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
6. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B1.0000.473
predicted_3B0.000-0.092
predicted_AB7.0000.414
predicted_AVG0.286-0.005
predicted_BB1.0000.036
predicted_H2.0000.087
predicted_HR1.0000.494
predicted_OBP0.375-0.006
predicted_R1.000-0.331
predicted_RBI1.000-0.345
predicted_SLG0.8570.228
predicted_SO1.000-0.408
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB4.000-3.000
BB0.000-1.000
CS0.0000.000
H3.0001.000
HBP0.0000.000
HR0.000-1.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: 82
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.203-14.0005.0002.0000.0002.0005.0002.0004.0002.0000.35710.50000.92860.35710.14290.35710.28570.1429
last_100.204-34.00015.0005.0000.0005.00013.0005.0007.0004.0000.44120.55811.02940.44120.14710.38240.20590.1177
season0.6023-293.00088.00021.0005.00023.00057.00062.00038.00067.0000.30030.39530.64160.30030.07850.19450.12970.2287
Weighted Prediction From Real Data
MetricValue
predicted_2B0.8920
predicted_3B0.1350
predicted_AB10.6420
predicted_AVG0.3113
predicted_BB1.6160
predicted_H3.3130
predicted_HBP0.2490
predicted_HR0.9310
predicted_OBP0.4118
predicted_R2.0410
predicted_RBI2.3640
predicted_SLG0.6830
predicted_SO2.2370
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.25600.89200.5271model_form_blend
predicted_3B0.06100.13500.0925model_form_blend
predicted_AB3.573010.64206.5859model_form_blend
predicted_AVG0.27700.31130.2916model_form_blend
predicted_BB0.46301.61600.9544model_form_blend
predicted_H0.84003.31301.8940model_form_blend
predicted_HBP-0.24900.2490form_only
predicted_HR0.18000.93100.5001model_form_blend
predicted_OBP0.37100.41180.3884model_form_blend
predicted_R0.75602.04101.3037model_form_blend
predicted_RBI0.54002.36401.3174model_form_blend
predicted_SLG0.53600.68300.5987model_form_blend
predicted_SO0.81702.23701.4222model_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 date84
Season rows before report date84
Report year2026
Profile rows used82
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H3
2B1
3B0
HR0
R1
RBI2
BB0
SO0
SF0
HBP0
season_avg0.3

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_battingOrder5
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed1B
gameID20260520_TOR@NYY
game_typefull
mlbID502671
playerID502671
playerNamePaul Goldschmidt
pos1B
startedTrue
startingPosition1B
teamNYY
teamID19
game_date2026-05-20
sl_k_percent20.5
sl_bb_percent12.0
sl_woba0.431
sl_xwoba0.448
sl_xba0.315
sl_xslg0.631
sl_sweet_spot_percent41.5
sl_barrel_batted_rate20.8
sl_hard_hit_percent56.6
sl_exit_velocity_avg92.3
sl_launch_angle_avg15.3
sl_whiff_percent21.7
sl_swing_percent49.2
Ryan McMahon (641857) · BATTER · 3B · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 142
All-history rows before 20260521: 142
System season_avg: 0.1900
Data season_avg (2026 season-to-date): 0.1895
Diff (system - data): 0.0005
System opponent_avg: 0.4210

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0940.0000.000Hitting_2B0.0920.000-0.0920.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.3264.0006.000Hitting_AB3.2323.0000.7681.000
predicted_AVG0.2250.0000.167Hitting_AVG0.1900.000-0.1900.000
predicted_BB0.3120.0001.000Hitting_BB0.3100.000-0.3100.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.5800.0001.000Hitting_H0.6130.000-0.6130.000
predicted_HR0.1000.0000.000Hitting_HR0.0920.000-0.0920.000
predicted_OBP0.2440.0000.286Hitting_OBP0.2600.000-0.2600.000
predicted_R0.3120.0001.000Hitting_R0.3100.000-0.3100.000
predicted_RBI0.3600.0001.000Hitting_RBI0.4010.000-0.4010.000
predicted_SLG0.3290.0000.167Hitting_SLG0.3030.000-0.3030.000
predicted_SO1.0803.0002.000Hitting_SO1.0491.0001.9512.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics4
Deboosted Metrics7
Better Metrics3
Worse Metrics8
Biggest Boostpredicted_SO: 1.0800 -> 3.0000 (boost 1.9200, worse)
Biggest Deboostpredicted_H: 0.5800 -> 0.0000 (deboost -0.5800, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend1010091predicted_AB: 3.3260 -> 6.3449 (boost 3.0189, better)-Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot32121predicted_SLG: 0.3590 -> 0.3707 (boost 0.0117, better)predicted_AVG: 0.2220 -> 0.2071 (deboost -0.0149, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling72516predicted_BB: 0.5307 -> 1.0000 (boost 0.4693, better)predicted_AB: 6.3449 -> 6.0000 (deboost -0.3449, worse)AB rounded to 6 (raw=6.34), rates preserved: AVG=0.207 HR/AB=0.046
5consistency_constraints11010predicted_R: 0.6737 -> 1.0000 (boost 0.3263, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context31212predicted_OBP: 0.2683 -> 0.2860 (boost 0.0177, better)predicted_SLG: 0.3707 -> 0.1670 (deboost -0.2037, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference61506predicted_SO: 2.0000 -> 3.0000 (boost 1.0000, worse)predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final32121predicted_SLG: 0.1670 -> 0.3707 (boost 0.2037, better)predicted_OBP: 0.2860 -> 0.2683 (deboost -0.0177, worse)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.094,
        "predicted_3B": 0.0,
        "predicted_AB": 3.326,
        "predicted_AVG": 0.225,
        "predicted_BB": 0.312,
        "predicted_H": 0.58,
        "predicted_HR": 0.1,
        "predicted_OBP": 0.244,
        "predicted_R": 0.312,
        "predicted_RBI": 0.36,
        "predicted_SLG": 0.329,
        "predicted_SO": 1.08
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1651,
        "predicted_3B": 0.0009,
        "predicted_AB": 6.3449,
        "predicted_AVG": 0.222,
        "predicted_BB": 0.5253,
        "predicted_H": 1.3013,
        "predicted_HBP": 0.005,
        "predicted_HR": 0.2868,
        "predicted_OBP": 0.258,
        "predicted_R": 0.6601,
        "predicted_RBI": 1.0402,
        "predicted_SLG": 0.359,
        "predicted_SO": 1.8365
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.094,
          "after": 0.1651,
          "delta": 0.0711,
          "percent_delta": 0.7564,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0009,
          "delta": 0.0009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.326,
          "after": 6.3449,
          "delta": 3.0189,
          "percent_delta": 0.9077,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.225,
          "after": 0.222,
          "delta": -0.003,
          "percent_delta": -0.0133,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.312,
          "after": 0.5253,
          "delta": 0.2133,
          "percent_delta": 0.6837,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.58,
          "after": 1.3013,
          "delta": 0.7213,
          "percent_delta": 1.2436,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1,
          "after": 0.2868,
          "delta": 0.1868,
          "percent_delta": 1.868,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.244,
          "after": 0.258,
          "delta": 0.014,
          "percent_delta": 0.0574,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.312,
          "after": 0.6601,
          "delta": 0.3481,
          "percent_delta": 1.1157,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.36,
          "after": 1.0402,
          "delta": 0.6802,
          "percent_delta": 1.8894,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.329,
          "after": 0.359,
          "delta": 0.03,
          "percent_delta": 0.0912,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.08,
          "after": 1.8365,
          "delta": 0.7565,
          "percent_delta": 0.7005,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 10,
        "boosted_metrics": 10,
        "deboosted_metrics": 0,
        "better_metrics": 9,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.326,
          "after": 6.3449,
          "delta": 3.0189,
          "percent_delta": 0.9077,
          "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": 2,
        "last_10": 3,
        "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.1651,
        "predicted_3B": 0.0009,
        "predicted_AB": 6.3449,
        "predicted_AVG": 0.2071,
        "predicted_BB": 0.5307,
        "predicted_H": 1.3143,
        "predicted_HBP": 0.005,
        "predicted_HR": 0.2903,
        "predicted_OBP": 0.2683,
        "predicted_R": 0.6737,
        "predicted_RBI": 1.0616,
        "predicted_SLG": 0.3707,
        "predicted_SO": 1.8176
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1651,
          "after": 0.1651,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.3449,
          "after": 6.3449,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.222,
          "after": 0.2071,
          "delta": -0.0149,
          "percent_delta": -0.0671,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5253,
          "after": 0.5307,
          "delta": 0.0054,
          "percent_delta": 0.0103,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.3013,
          "after": 1.3143,
          "delta": 0.013,
          "percent_delta": 0.01,
          "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.2868,
          "after": 0.2903,
          "delta": 0.0035,
          "percent_delta": 0.0122,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.258,
          "after": 0.2683,
          "delta": 0.0103,
          "percent_delta": 0.0399,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6601,
          "after": 0.6737,
          "delta": 0.0136,
          "percent_delta": 0.0206,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0402,
          "after": 1.0616,
          "delta": 0.0214,
          "percent_delta": 0.0206,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.359,
          "after": 0.3707,
          "delta": 0.0117,
          "percent_delta": 0.0326,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.8365,
          "after": 1.8176,
          "delta": -0.0189,
          "percent_delta": -0.0103,
          "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.3707,
          "delta": 0.0117,
          "percent_delta": 0.0326,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.222,
          "after": 0.2071,
          "delta": -0.0149,
          "percent_delta": -0.0671,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 6 (raw=6.34), rates preserved: AVG=0.207 HR/AB=0.046",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.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.1651,
          "after": 0.0,
          "delta": -0.1651,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0009,
          "after": 0.0,
          "delta": -0.0009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.3449,
          "after": 6.0,
          "delta": -0.3449,
          "percent_delta": -0.0544,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5307,
          "after": 1.0,
          "delta": 0.4693,
          "percent_delta": 0.8843,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.3143,
          "after": 1.0,
          "delta": -0.3143,
          "percent_delta": -0.2391,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.005,
          "after": 0.0,
          "delta": -0.005,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2903,
          "after": 0.0,
          "delta": -0.2903,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0616,
          "after": 1.0,
          "delta": -0.0616,
          "percent_delta": -0.058,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.8176,
          "after": 2.0,
          "delta": 0.1824,
          "percent_delta": 0.1004,
          "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_BB",
          "before": 0.5307,
          "after": 1.0,
          "delta": 0.4693,
          "percent_delta": 0.8843,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 6.3449,
          "after": 6.0,
          "delta": -0.3449,
          "percent_delta": -0.0544,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_BB": 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": 6.0,
          "after": 6.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.6737,
          "after": 1.0,
          "delta": 0.3263,
          "percent_delta": 0.4843,
          "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.6737,
          "after": 1.0,
          "delta": 0.3263,
          "percent_delta": 0.4843,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_AVG": 0.167,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.286,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.167,
        "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": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2071,
          "after": 0.167,
          "delta": -0.0401,
          "percent_delta": -0.1936,
          "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.2683,
          "after": 0.286,
          "delta": 0.0177,
          "percent_delta": 0.066,
          "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.3707,
          "after": 0.167,
          "delta": -0.2037,
          "percent_delta": -0.5495,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.2683,
          "after": 0.286,
          "delta": 0.0177,
          "percent_delta": 0.066,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3707,
          "after": 0.167,
          "delta": -0.2037,
          "percent_delta": -0.5495,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 4.0,
          "delta": -2.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "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": 3.0,
          "delta": 1.0,
          "percent_delta": 0.5,
          "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": 2.0,
          "after": 3.0,
          "delta": 1.0,
          "percent_delta": 0.5,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 4.0,
          "delta": -2.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2071,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2683,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3707,
        "predicted_SO": 3.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.167,
          "after": 0.2071,
          "delta": 0.0401,
          "percent_delta": 0.2404,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.286,
          "after": 0.2683,
          "delta": -0.0177,
          "percent_delta": -0.0617,
          "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.167,
          "after": 0.3707,
          "delta": 0.2037,
          "percent_delta": 1.2197,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.167,
          "after": 0.3707,
          "delta": 0.2037,
          "percent_delta": 1.2197,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.286,
          "after": 0.2683,
          "delta": -0.0177,
          "percent_delta": -0.0617,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.094,
        "after": 0.0,
        "delta": -0.094,
        "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.326,
        "after": 4.0,
        "delta": 0.674,
        "percent_delta": 0.2026,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.225,
        "after": 0.2071,
        "delta": -0.0179,
        "percent_delta": -0.0796,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.312,
        "after": 0.0,
        "delta": -0.312,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.58,
        "after": 0.0,
        "delta": -0.58,
        "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.244,
        "after": 0.2683,
        "delta": 0.0243,
        "percent_delta": 0.0996,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.312,
        "after": 0.0,
        "delta": -0.312,
        "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.329,
        "after": 0.3707,
        "delta": 0.0417,
        "percent_delta": 0.1267,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.08,
        "after": 3.0,
        "delta": 1.92,
        "percent_delta": 1.7778,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 4,
      "deboosted_metrics": 7,
      "better_metrics": 3,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 1.08,
        "after": 3.0,
        "delta": 1.92,
        "percent_delta": 1.7778,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.58,
        "after": 0.0,
        "delta": -0.58,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

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.094-
predicted_3B0.000-
predicted_AB3.326-
predicted_AVG0.225-
predicted_BB0.312-
predicted_H0.580-
predicted_HR0.100-
predicted_OBP0.244-
predicted_R0.312-
predicted_RBI0.360-
predicted_SLG0.329-
predicted_SO1.080-
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.1650.071
predicted_3B0.0010.001
predicted_AB6.3453.019
predicted_AVG0.222-0.003
predicted_BB0.5250.213
predicted_H1.3010.721
predicted_HBP0.005-
predicted_HR0.2870.187
predicted_OBP0.2580.014
predicted_R0.6600.348
predicted_RBI1.0400.680
predicted_SLG0.3590.030
predicted_SO1.8370.756
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.0010.000
predicted_AB6.3450.000
predicted_AVG0.207-0.015
predicted_BB0.5310.005
predicted_H1.3140.013
predicted_HBP0.0050.000
predicted_HR0.2900.004
predicted_OBP0.2680.010
predicted_R0.6740.014
predicted_RBI1.0620.021
predicted_SLG0.3710.012
predicted_SO1.818-0.019
4. ab_floor_and_scaling

AB rounded to 6 (raw=6.34), rates preserved: AVG=0.207 HR/AB=0.046

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB6.000-
BB1.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO2.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB6.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
6. 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.001
predicted_AB6.000-0.345
predicted_AVG0.167-0.040
predicted_BB1.0000.469
predicted_H1.000-0.314
predicted_HR0.000-0.290
predicted_OBP0.2860.018
predicted_R1.0000.326
predicted_RBI1.000-0.062
predicted_SLG0.167-0.204
predicted_SO2.0000.182
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.000-2.000
BB0.000-1.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-1.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO3.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.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-19.0008.0000.0000.0004.00012.0004.0000.0001.0000.42110.42111.05260.42100.21050.63160.00000.0526
last_100.203-39.0008.0000.0000.0004.00012.0004.0000.0001.0000.20510.20510.51280.20510.10260.30770.00000.0256
season0.6043-459.00087.00013.0000.00013.00057.00043.00043.000149.0000.18950.25900.30280.18950.02830.12420.09370.3246
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2580
predicted_3B0.0020
predicted_AB10.2900
predicted_AVG0.2180
predicted_BB0.8040
predicted_H2.2440
predicted_HBP0.0050
predicted_HR0.5310
predicted_OBP0.2763
predicted_R1.1150
predicted_RBI1.9290
predicted_SLG0.3983
predicted_SO2.8250
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.09400.25800.1651model_form_blend
predicted_3B0.00000.00200.0009model_form_blend
predicted_AB3.326010.29006.3449model_form_blend
predicted_AVG0.22500.21800.2220model_form_blend
predicted_BB0.31200.80400.5253model_form_blend
predicted_H0.58002.24401.3013model_form_blend
predicted_HBP-0.00500.0050form_only
predicted_HR0.10000.53100.2868model_form_blend
predicted_OBP0.24400.27630.2580model_form_blend
predicted_R0.31201.11500.6601model_form_blend
predicted_RBI0.36001.92901.0402model_form_blend
predicted_SLG0.32900.39830.3590model_form_blend
predicted_SO1.08002.82501.8365model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date142
Season rows before report date142
Report year2026
Profile rows 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
H0
2B0
3B0
HR0
R0
RBI0
BB0
SO3
SF0
HBP0
season_avg0.19

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_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
gameID20260520_TOR@NYY
game_typefull
mlbID641857
playerID641857
playerNameRyan McMahon
pos3B
startedTrue
startingPosition3B
teamNYY
teamID19
game_date2026-05-20
sl_k_percent29.9
sl_bb_percent8.8
sl_woba0.264
sl_xwoba0.281
sl_xba0.21
sl_xslg0.351
sl_sweet_spot_percent27.4
sl_barrel_batted_rate8.4
sl_hard_hit_percent47.6
sl_exit_velocity_avg91.0
sl_launch_angle_avg15.1
sl_whiff_percent30.7
sl_swing_percent46.5
Spencer Jones (682987) · BATTER · CF · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 24
All-history rows before 20260521: 24
System season_avg: 0.1900
Data season_avg (2026 season-to-date): 0.1905
Diff (system - data): -0.0005
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.0000.0000.000Hitting_2B0.0000.0000.0000.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.6253.0004.000Hitting_AB2.6251.0000.3752.000
predicted_AVG0.2540.0000.250Hitting_AVG0.1900.000-0.1900.000
predicted_BB0.3751.0000.000Hitting_BB0.3750.0000.6251.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.5900.0001.000Hitting_H0.5000.000-0.5000.000
predicted_HR0.0600.0000.000Hitting_HR0.0000.0000.0000.000
predicted_OBP0.3060.2500.250Hitting_OBP0.2920.000-0.0420.250
predicted_R0.0000.0000.000Hitting_R0.0000.0000.0000.000
predicted_RBI0.3200.0000.000Hitting_RBI0.3330.000-0.3330.000
predicted_SLG0.3230.0000.250Hitting_SLG0.1900.000-0.1900.000
predicted_SO1.2502.0002.000Hitting_SO1.2500.0000.7502.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics9
Boosted Metrics3
Deboosted Metrics6
Better Metrics2
Worse Metrics7
Biggest Boostpredicted_SO: 1.2500 -> 2.0000 (boost 0.7500, worse)
Biggest Deboostpredicted_H: 0.5900 -> 0.0000 (deboost -0.5900, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend96354predicted_AB: 2.6250 -> 3.6820 (boost 1.0570, better)predicted_SLG: 0.3230 -> 0.2937 (deboost -0.0293, worse)Final model 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.2937 -> 0.2684 (deboost -0.0253, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling63324predicted_SO: 1.6705 -> 2.0000 (boost 0.3295, worse)predicted_BB: 0.4528 -> 0.0000 (deboost -0.4528, worse)AB rounded to 4 (raw=3.68), rates preserved: AVG=0.211 HR/AB=0.016
5consistency_constraints10101-predicted_R: 0.0777 -> 0.0000 (deboost -0.0777, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context31212predicted_AVG: 0.2113 -> 0.2500 (boost 0.0387, better)predicted_OBP: 0.2976 -> 0.2500 (deboost -0.0476, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_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
8current_json_final32121predicted_OBP: 0.2500 -> 0.2976 (boost 0.0476, better)predicted_AVG: 0.2500 -> 0.2113 (deboost -0.0387, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "682987",
  "player_name": "Spencer Jones",
  "position": "CF",
  "team": "NYY",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 2.625,
        "predicted_AVG": 0.254,
        "predicted_BB": 0.375,
        "predicted_H": 0.59,
        "predicted_HR": 0.06,
        "predicted_OBP": 0.306,
        "predicted_R": 0.0,
        "predicted_RBI": 0.32,
        "predicted_SLG": 0.323,
        "predicted_SO": 1.25
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0291,
        "predicted_3B": 0.0022,
        "predicted_AB": 3.682,
        "predicted_AVG": 0.233,
        "predicted_BB": 0.4482,
        "predicted_H": 0.7702,
        "predicted_HBP": 0.014,
        "predicted_HR": 0.0582,
        "predicted_OBP": 0.2937,
        "predicted_R": 0.0761,
        "predicted_RBI": 0.4387,
        "predicted_SLG": 0.2937,
        "predicted_SO": 1.6879
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0291,
          "delta": 0.0291,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0022,
          "delta": 0.0022,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.625,
          "after": 3.682,
          "delta": 1.057,
          "percent_delta": 0.4027,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.254,
          "after": 0.233,
          "delta": -0.021,
          "percent_delta": -0.0827,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.375,
          "after": 0.4482,
          "delta": 0.0732,
          "percent_delta": 0.1952,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.59,
          "after": 0.7702,
          "delta": 0.1802,
          "percent_delta": 0.3054,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.06,
          "after": 0.0582,
          "delta": -0.0018,
          "percent_delta": -0.03,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.306,
          "after": 0.2937,
          "delta": -0.0123,
          "percent_delta": -0.0402,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0761,
          "delta": 0.0761,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.32,
          "after": 0.4387,
          "delta": 0.1187,
          "percent_delta": 0.3709,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.323,
          "after": 0.2937,
          "delta": -0.0293,
          "percent_delta": -0.0907,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.25,
          "after": 1.6879,
          "delta": 0.4379,
          "percent_delta": 0.3503,
          "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.625,
          "after": 3.682,
          "delta": 1.057,
          "percent_delta": 0.4027,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.323,
          "after": 0.2937,
          "delta": -0.0293,
          "percent_delta": -0.0907,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 3,
        "last_10": 5,
        "season": 9
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0291,
        "predicted_3B": 0.0022,
        "predicted_AB": 3.682,
        "predicted_AVG": 0.2113,
        "predicted_BB": 0.4528,
        "predicted_H": 0.7779,
        "predicted_HBP": 0.014,
        "predicted_HR": 0.0589,
        "predicted_OBP": 0.2976,
        "predicted_R": 0.0777,
        "predicted_RBI": 0.4477,
        "predicted_SLG": 0.2684,
        "predicted_SO": 1.6705
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0291,
          "after": 0.0291,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0022,
          "after": 0.0022,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.682,
          "after": 3.682,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.233,
          "after": 0.2113,
          "delta": -0.0217,
          "percent_delta": -0.0931,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4482,
          "after": 0.4528,
          "delta": 0.0046,
          "percent_delta": 0.0103,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7702,
          "after": 0.7779,
          "delta": 0.0077,
          "percent_delta": 0.01,
          "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.0582,
          "after": 0.0589,
          "delta": 0.0007,
          "percent_delta": 0.012,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2937,
          "after": 0.2976,
          "delta": 0.0039,
          "percent_delta": 0.0133,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0761,
          "after": 0.0777,
          "delta": 0.0016,
          "percent_delta": 0.021,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4387,
          "after": 0.4477,
          "delta": 0.009,
          "percent_delta": 0.0205,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2937,
          "after": 0.2684,
          "delta": -0.0253,
          "percent_delta": -0.0861,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.6879,
          "after": 1.6705,
          "delta": -0.0174,
          "percent_delta": -0.0103,
          "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.2937,
          "after": 0.2684,
          "delta": -0.0253,
          "percent_delta": -0.0861,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.68), rates preserved: AVG=0.211 HR/AB=0.016",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0291,
          "after": 0.0,
          "delta": -0.0291,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0022,
          "after": 0.0,
          "delta": -0.0022,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.682,
          "after": 4.0,
          "delta": 0.318,
          "percent_delta": 0.0864,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4528,
          "after": 0.0,
          "delta": -0.4528,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7779,
          "after": 1.0,
          "delta": 0.2221,
          "percent_delta": 0.2855,
          "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.0589,
          "after": 0.0,
          "delta": -0.0589,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4477,
          "after": 0.0,
          "delta": -0.4477,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.6705,
          "after": 2.0,
          "delta": 0.3295,
          "percent_delta": 0.1972,
          "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.6705,
          "after": 2.0,
          "delta": 0.3295,
          "percent_delta": 0.1972,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4528,
          "after": 0.0,
          "delta": -0.4528,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0777,
          "after": 0.0,
          "delta": -0.0777,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 0.0777,
          "after": 0.0,
          "delta": -0.0777,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.25,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.25,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2113,
          "after": 0.25,
          "delta": 0.0387,
          "percent_delta": 0.1832,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2976,
          "after": 0.25,
          "delta": -0.0476,
          "percent_delta": -0.1599,
          "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.2684,
          "after": 0.25,
          "delta": -0.0184,
          "percent_delta": -0.0686,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.2113,
          "after": 0.25,
          "delta": 0.0387,
          "percent_delta": 0.1832,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.2976,
          "after": 0.25,
          "delta": -0.0476,
          "percent_delta": -0.1599,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2113,
        "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.2976,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2684,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2113,
          "delta": -0.0387,
          "percent_delta": -0.1549,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.25,
          "after": 0.2976,
          "delta": 0.0476,
          "percent_delta": 0.1906,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.2684,
          "delta": 0.0184,
          "percent_delta": 0.0735,
          "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_OBP",
          "before": 0.25,
          "after": 0.2976,
          "delta": 0.0476,
          "percent_delta": 0.1906,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2113,
          "delta": -0.0387,
          "percent_delta": -0.1549,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.625,
        "after": 3.0,
        "delta": 0.375,
        "percent_delta": 0.1429,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.254,
        "after": 0.2113,
        "delta": -0.0427,
        "percent_delta": -0.1681,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.375,
        "after": 1.0,
        "delta": 0.625,
        "percent_delta": 1.6667,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.59,
        "after": 0.0,
        "delta": -0.59,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.06,
        "after": 0.0,
        "delta": -0.06,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.306,
        "after": 0.2976,
        "delta": -0.0084,
        "percent_delta": -0.0275,
        "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.32,
        "after": 0.0,
        "delta": -0.32,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.323,
        "after": 0.2684,
        "delta": -0.0546,
        "percent_delta": -0.169,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.25,
        "after": 2.0,
        "delta": 0.75,
        "percent_delta": 0.6,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 3,
      "deboosted_metrics": 6,
      "better_metrics": 2,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 1.25,
        "after": 2.0,
        "delta": 0.75,
        "percent_delta": 0.6,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.59,
        "after": 0.0,
        "delta": -0.59,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

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.625-
predicted_AVG0.254-
predicted_BB0.375-
predicted_H0.590-
predicted_HR0.060-
predicted_OBP0.306-
predicted_R0.000-
predicted_RBI0.320-
predicted_SLG0.323-
predicted_SO1.250-
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.0290.029
predicted_3B0.0020.002
predicted_AB3.6821.057
predicted_AVG0.233-0.021
predicted_BB0.4480.073
predicted_H0.7700.180
predicted_HBP0.014-
predicted_HR0.058-0.002
predicted_OBP0.294-0.012
predicted_R0.0760.076
predicted_RBI0.4390.119
predicted_SLG0.294-0.029
predicted_SO1.6880.438
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.0290.000
predicted_3B0.0020.000
predicted_AB3.6820.000
predicted_AVG0.211-0.022
predicted_BB0.4530.005
predicted_H0.7780.008
predicted_HBP0.0140.000
predicted_HR0.0590.001
predicted_OBP0.2980.004
predicted_R0.0780.002
predicted_RBI0.4480.009
predicted_SLG0.268-0.025
predicted_SO1.671-0.017
4. ab_floor_and_scaling

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

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
6. 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.029
predicted_3B0.000-0.002
predicted_AB4.0000.318
predicted_AVG0.2500.039
predicted_BB0.000-0.453
predicted_H1.0000.222
predicted_HR0.000-0.059
predicted_OBP0.250-0.048
predicted_R0.000-0.078
predicted_RBI0.000-0.448
predicted_SLG0.250-0.018
predicted_SO2.0000.329
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 24
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.203-9.0000.0000.0000.0000.0000.0000.0000.0008.0000.00000.00000.00000.00000.00000.00000.00000.8889
last_100.205-26.0008.0000.0000.0000.0004.0000.0002.00012.0000.30770.35710.30770.30770.00000.15380.07690.4615
season0.609-63.00012.0000.0000.0000.0008.0000.0009.00030.0000.19050.29170.19050.19050.00000.12700.14290.4762
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0800
predicted_3B0.0060
predicted_AB5.5290
predicted_AVG0.1962
predicted_BB0.5760
predicted_H1.0850
predicted_HBP0.0140
predicted_HR0.0550
predicted_OBP0.2721
predicted_R0.2090
predicted_RBI0.6460
predicted_SLG0.2425
predicted_SO2.4530
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.00000.08000.0291model_form_blend
predicted_3B0.00000.00600.0022model_form_blend
predicted_AB2.62505.52903.6820model_form_blend
predicted_AVG0.25400.19620.2330model_form_blend
predicted_BB0.37500.57600.4482model_form_blend
predicted_H0.59001.08500.7702model_form_blend
predicted_HBP-0.01400.0140form_only
predicted_HR0.06000.05500.0582model_form_blend
predicted_OBP0.30600.27210.2937model_form_blend
predicted_R0.00000.20900.0761model_form_blend
predicted_RBI0.32000.64600.4387model_form_blend
predicted_SLG0.32300.24250.2937model_form_blend
predicted_SO1.25002.45301.6879model_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 date24
Season rows before report date24
Report year2026
Profile rows used24
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.19

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB1
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder6
Hitting_substitutionOrder1
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedCF
gameID20260520_TOR@NYY
game_typeshort
mlbID682987
playerID682987
playerNameSpencer Jones
posCF
startedFalse
startingPositionCF
teamNYY
teamID19
game_date2026-05-20
sl_k_percent47.8
sl_bb_percent13.0
sl_woba0.209
sl_xwoba0.219
sl_xba0.148
sl_xslg0.188
sl_sweet_spot_percent22.2
sl_barrel_batted_rate0.0
sl_hard_hit_percent66.7
sl_exit_velocity_avg95.5
sl_launch_angle_avg15.2
sl_whiff_percent44.6
sl_swing_percent55.4
Anthony Volpe (683011) · BATTER · SS · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 25
All-history rows before 20260521: 25
System season_avg: 0.3100
Data season_avg (2026 season-to-date): 0.3099
Diff (system - data): 0.0001
System opponent_avg: 0.1550

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.3600.0001.000Hitting_2B0.3600.000-0.3600.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.8402.0005.000Hitting_AB2.8403.000-0.840-1.000
predicted_AVG0.2660.0000.200Hitting_AVG0.3100.000-0.3100.000
predicted_BB1.2001.0002.000Hitting_BB1.2000.000-0.2001.000
predicted_CS-0.0000.000BaseRunning_CS0.1600.000-0.1600.000
predicted_H0.6800.0001.000Hitting_H0.8800.000-0.8800.000
predicted_HR0.0600.0000.000Hitting_HR0.0000.0000.0000.000
predicted_OBP0.3560.3330.429Hitting_OBP0.5150.000-0.1820.333
predicted_R0.3600.0001.000Hitting_R0.3600.000-0.3600.000
predicted_RBI0.3900.0001.000Hitting_RBI0.6000.000-0.6000.000
predicted_SLG0.3970.0000.400Hitting_SLG0.4370.000-0.4370.000
predicted_SO0.6801.0001.000Hitting_SO0.6801.0000.3200.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics4
Deboosted Metrics7
Better Metrics3
Worse Metrics8
Biggest Boostpredicted_SO: 0.6800 -> 1.0000 (boost 0.3200, worse)
Biggest Deboostpredicted_AB: 2.8400 -> 2.0000 (deboost -0.8400, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend1010091predicted_AB: 2.8400 -> 5.0469 (boost 2.2069, better)-Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot22020predicted_OBP: 0.3863 -> 0.4575 (boost 0.0712, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling63342predicted_2B: 0.5488 -> 1.0000 (boost 0.4512, better)predicted_H: 1.3986 -> 1.0000 (deboost -0.3986, worse)AB rounded to 5 (raw=5.05), rates preserved: AVG=0.277 HR/AB=0.012
5bvp_blend00000--Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.000)
6consistency_constraints11010predicted_R: 0.6207 -> 1.0000 (boost 0.3793, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context30303-predicted_AVG: 0.2771 -> 0.2000 (deboost -0.0771, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference60606-predicted_AB: 5.0000 -> 2.0000 (deboost -3.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final33030predicted_AVG: 0.2000 -> 0.2771 (boost 0.0771, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "683011",
  "player_name": "Anthony Volpe",
  "position": "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.36,
        "predicted_3B": 0.0,
        "predicted_AB": 2.84,
        "predicted_AVG": 0.266,
        "predicted_BB": 1.2,
        "predicted_H": 0.68,
        "predicted_HR": 0.06,
        "predicted_OBP": 0.356,
        "predicted_R": 0.36,
        "predicted_RBI": 0.39,
        "predicted_SLG": 0.397,
        "predicted_SO": 0.68
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.5488,
        "predicted_3B": 0.0031,
        "predicted_AB": 5.0469,
        "predicted_AVG": 0.2763,
        "predicted_BB": 1.6612,
        "predicted_H": 1.3848,
        "predicted_HBP": 0.017,
        "predicted_HR": 0.0623,
        "predicted_OBP": 0.3863,
        "predicted_R": 0.6082,
        "predicted_RBI": 0.7849,
        "predicted_SLG": 0.4046,
        "predicted_SO": 1.1224
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.36,
          "after": 0.5488,
          "delta": 0.1888,
          "percent_delta": 0.5244,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0031,
          "delta": 0.0031,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.84,
          "after": 5.0469,
          "delta": 2.2069,
          "percent_delta": 0.7771,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.266,
          "after": 0.2763,
          "delta": 0.0103,
          "percent_delta": 0.0387,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.2,
          "after": 1.6612,
          "delta": 0.4612,
          "percent_delta": 0.3843,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.68,
          "after": 1.3848,
          "delta": 0.7048,
          "percent_delta": 1.0365,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.06,
          "after": 0.0623,
          "delta": 0.0023,
          "percent_delta": 0.0383,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.356,
          "after": 0.3863,
          "delta": 0.0303,
          "percent_delta": 0.0851,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.36,
          "after": 0.6082,
          "delta": 0.2482,
          "percent_delta": 0.6894,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.39,
          "after": 0.7849,
          "delta": 0.3949,
          "percent_delta": 1.0126,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.397,
          "after": 0.4046,
          "delta": 0.0076,
          "percent_delta": 0.0191,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.68,
          "after": 1.1224,
          "delta": 0.4424,
          "percent_delta": 0.6506,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 10,
        "boosted_metrics": 10,
        "deboosted_metrics": 0,
        "better_metrics": 9,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.84,
          "after": 5.0469,
          "delta": 2.2069,
          "percent_delta": 0.7771,
          "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": 2,
        "last_10": 4,
        "season": 7
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.5488,
        "predicted_3B": 0.0031,
        "predicted_AB": 5.0469,
        "predicted_AVG": 0.2771,
        "predicted_BB": 1.6783,
        "predicted_H": 1.3986,
        "predicted_HBP": 0.017,
        "predicted_HR": 0.0631,
        "predicted_OBP": 0.4575,
        "predicted_R": 0.6207,
        "predicted_RBI": 0.8011,
        "predicted_SLG": 0.4246,
        "predicted_SO": 1.1108
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.5488,
          "after": 0.5488,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0031,
          "after": 0.0031,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0469,
          "after": 5.0469,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2763,
          "after": 0.2771,
          "delta": 0.0008,
          "percent_delta": 0.0029,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.6612,
          "after": 1.6783,
          "delta": 0.0171,
          "percent_delta": 0.0103,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.3848,
          "after": 1.3986,
          "delta": 0.0138,
          "percent_delta": 0.01,
          "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.0623,
          "after": 0.0631,
          "delta": 0.0008,
          "percent_delta": 0.0128,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3863,
          "after": 0.4575,
          "delta": 0.0712,
          "percent_delta": 0.1843,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6082,
          "after": 0.6207,
          "delta": 0.0125,
          "percent_delta": 0.0206,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7849,
          "after": 0.8011,
          "delta": 0.0162,
          "percent_delta": 0.0206,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4046,
          "after": 0.4246,
          "delta": 0.02,
          "percent_delta": 0.0494,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1224,
          "after": 1.1108,
          "delta": -0.0116,
          "percent_delta": -0.0103,
          "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.3863,
          "after": 0.4575,
          "delta": 0.0712,
          "percent_delta": 0.1843,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 5 (raw=5.05), rates preserved: AVG=0.277 HR/AB=0.012",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 2.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.5488,
          "after": 1.0,
          "delta": 0.4512,
          "percent_delta": 0.8222,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0031,
          "after": 0.0,
          "delta": -0.0031,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0469,
          "after": 5.0,
          "delta": -0.0469,
          "percent_delta": -0.0093,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.6783,
          "after": 2.0,
          "delta": 0.3217,
          "percent_delta": 0.1917,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.3986,
          "after": 1.0,
          "delta": -0.3986,
          "percent_delta": -0.285,
          "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.0631,
          "after": 0.0,
          "delta": -0.0631,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.8011,
          "after": 1.0,
          "delta": 0.1989,
          "percent_delta": 0.2483,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1108,
          "after": 1.0,
          "delta": -0.1108,
          "percent_delta": -0.0997,
          "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.5488,
          "after": 1.0,
          "delta": 0.4512,
          "percent_delta": 0.8222,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.3986,
          "after": 1.0,
          "delta": -0.3986,
          "percent_delta": -0.285,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.000)",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 2.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "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_BB",
          "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_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9429,
        "bvp": 0.0571
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 2.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "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_BB",
          "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_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.6207,
          "after": 1.0,
          "delta": 0.3793,
          "percent_delta": 0.6111,
          "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.6207,
          "after": 1.0,
          "delta": 0.3793,
          "percent_delta": 0.6111,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.2,
        "predicted_BB": 2.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.429,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.4,
        "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.2771,
          "after": 0.2,
          "delta": -0.0771,
          "percent_delta": -0.2782,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.4575,
          "after": 0.429,
          "delta": -0.0285,
          "percent_delta": -0.0623,
          "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.4246,
          "after": 0.4,
          "delta": -0.0246,
          "percent_delta": -0.0579,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.2771,
          "after": 0.2,
          "delta": -0.0771,
          "percent_delta": -0.2782,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 2.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 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": 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": 5.0,
          "after": 2.0,
          "delta": -3.0,
          "percent_delta": -0.6,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 0,
        "deboosted_metrics": 6,
        "better_metrics": 0,
        "worse_metrics": 6,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 2.0,
          "delta": -3.0,
          "percent_delta": -0.6,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 2.0,
        "predicted_AVG": 0.2771,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.4575,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4246,
        "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": 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.2,
          "after": 0.2771,
          "delta": 0.0771,
          "percent_delta": 0.3857,
          "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.429,
          "after": 0.4575,
          "delta": 0.0285,
          "percent_delta": 0.0665,
          "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.4,
          "after": 0.4246,
          "delta": 0.0246,
          "percent_delta": 0.0614,
          "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.2,
          "after": 0.2771,
          "delta": 0.0771,
          "percent_delta": 0.3857,
          "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.36,
        "after": 0.0,
        "delta": -0.36,
        "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.84,
        "after": 2.0,
        "delta": -0.84,
        "percent_delta": -0.2958,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.266,
        "after": 0.2771,
        "delta": 0.0111,
        "percent_delta": 0.0417,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 1.2,
        "after": 1.0,
        "delta": -0.2,
        "percent_delta": -0.1667,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.68,
        "after": 0.0,
        "delta": -0.68,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.06,
        "after": 0.0,
        "delta": -0.06,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.356,
        "after": 0.4575,
        "delta": 0.1015,
        "percent_delta": 0.2851,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.36,
        "after": 0.0,
        "delta": -0.36,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.39,
        "after": 0.0,
        "delta": -0.39,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.397,
        "after": 0.4246,
        "delta": 0.0276,
        "percent_delta": 0.0695,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.68,
        "after": 1.0,
        "delta": 0.32,
        "percent_delta": 0.4706,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 4,
      "deboosted_metrics": 7,
      "better_metrics": 3,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.68,
        "after": 1.0,
        "delta": 0.32,
        "percent_delta": 0.4706,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 2.84,
        "after": 2.0,
        "delta": -0.84,
        "percent_delta": -0.2958,
        "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.360-
predicted_3B0.000-
predicted_AB2.840-
predicted_AVG0.266-
predicted_BB1.200-
predicted_H0.680-
predicted_HR0.060-
predicted_OBP0.356-
predicted_R0.360-
predicted_RBI0.390-
predicted_SLG0.397-
predicted_SO0.680-
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.5490.189
predicted_3B0.0030.003
predicted_AB5.0472.207
predicted_AVG0.2760.010
predicted_BB1.6610.461
predicted_H1.3850.705
predicted_HBP0.017-
predicted_HR0.0620.002
predicted_OBP0.3860.030
predicted_R0.6080.248
predicted_RBI0.7850.395
predicted_SLG0.4050.008
predicted_SO1.1220.442
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.5490.000
predicted_3B0.0030.000
predicted_AB5.0470.000
predicted_AVG0.2770.001
predicted_BB1.6780.017
predicted_H1.3990.014
predicted_HBP0.0170.000
predicted_HR0.0630.001
predicted_OBP0.4580.071
predicted_R0.6210.013
predicted_RBI0.8010.016
predicted_SLG0.4250.020
predicted_SO1.111-0.012
4. ab_floor_and_scaling

AB rounded to 5 (raw=5.05), rates preserved: AVG=0.277 HR/AB=0.012

MetricValueDelta vs Prev Step
2B1.000-
3B0.000-
AB5.000-
BB2.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
5. bvp_blend

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

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB5.0000.000
BB2.0000.000
H1.0000.000
HR0.0000.000
RBI1.0000.000
SO1.0000.000
6. consistency_constraints

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

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB5.0000.000
BB2.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. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B1.0000.451
predicted_3B0.000-0.003
predicted_AB5.000-0.047
predicted_AVG0.200-0.077
predicted_BB2.0000.322
predicted_H1.000-0.399
predicted_HR0.000-0.063
predicted_OBP0.429-0.029
predicted_R1.0000.379
predicted_RBI1.0000.199
predicted_SLG0.400-0.025
predicted_SO1.000-0.111
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 25
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-19.0004.0000.0000.0000.0000.0000.0000.0001.0000.21050.21050.21050.21050.00000.00000.00000.0526
last_100.204-38.00014.0005.0000.0000.0003.0005.0002.0006.0000.36840.40000.50000.36840.00000.07900.05260.1579
season0.607-71.00022.0009.0000.0000.00015.0009.00030.00017.0000.30990.51490.43660.30990.00000.21130.42250.2394
Weighted Prediction From Real Data
MetricValue
predicted_2B0.8530
predicted_3B0.0080
predicted_AB8.6020
predicted_AVG0.2930
predicted_BB2.4040
predicted_H2.5200
predicted_HBP0.0170
predicted_HR0.0660
predicted_OBP0.4350
predicted_R1.0080
predicted_RBI1.4210
predicted_SLG0.4168
predicted_SO1.8350
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.36000.85300.5488model_form_blend
predicted_3B0.00000.00800.0031model_form_blend
predicted_AB2.84008.60205.0469model_form_blend
predicted_AVG0.26600.29300.2763model_form_blend
predicted_BB1.20002.40401.6612model_form_blend
predicted_H0.68002.52001.3848model_form_blend
predicted_HBP-0.01700.0170form_only
predicted_HR0.06000.06600.0623model_form_blend
predicted_OBP0.35600.43500.3863model_form_blend
predicted_R0.36001.00800.6082model_form_blend
predicted_RBI0.39001.42100.7849model_form_blend
predicted_SLG0.39700.41680.4046model_form_blend
predicted_SO0.68001.83501.1224model_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 date25
Season rows before report date25
Report year2026
Profile rows used25
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder8
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedSS
gameID20260520_TOR@NYY
game_typefull
mlbID683011
playerID683011
playerNameAnthony Volpe
posSS
startedTrue
startingPositionSS
teamNYY
teamID19
game_date2026-05-20
sl_k_percent16.7
sl_bb_percent29.2
sl_woba0.425
sl_xwoba0.362
sl_xba0.22
sl_xslg0.291
sl_sweet_spot_percent38.5
sl_barrel_batted_rate0.0
sl_hard_hit_percent38.5
sl_exit_velocity_avg89.0
sl_launch_angle_avg19.9
sl_whiff_percent26.8
sl_swing_percent41.0
J.C. Escarra (641555) · BATTER · C · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 55
All-history rows before 20260521: 55
System season_avg: 0.1890
Data season_avg (2026 season-to-date): 0.1892
Diff (system - data): -0.0002
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.2221.0000.000Hitting_2B0.2180.0000.7821.000
predicted_3B0.0740.0000.000Hitting_3B0.0730.000-0.0730.000
predicted_AB3.4262.0006.000Hitting_AB3.3643.000-1.364-1.000
predicted_AVG0.2310.5000.167Hitting_AVG0.1890.0000.3110.500
predicted_BB0.2221.0000.000Hitting_BB0.2180.0000.7821.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.5901.0001.000Hitting_H0.6360.0000.3641.000
predicted_HR0.0600.0000.000Hitting_HR0.0000.0000.0000.000
predicted_OBP0.2630.6670.167Hitting_OBP0.2340.0000.4330.667
predicted_R0.2961.0000.000Hitting_R0.2910.0000.7091.000
predicted_RBI0.3701.0001.000Hitting_RBI0.5091.0000.4910.000
predicted_SLG0.3281.0000.167Hitting_SLG0.2970.0000.7031.000
predicted_SO0.8890.0002.000Hitting_SO0.8731.000-0.873-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectdeboosted
Changed Metrics12
Boosted Metrics5
Deboosted Metrics7
Better Metrics6
Worse Metrics6
Biggest Boostpredicted_2B: 0.2220 -> 1.0000 (boost 0.7780, better)
Biggest Deboostpredicted_AB: 3.4260 -> 2.0000 (deboost -1.4260, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend107364predicted_AB: 3.4260 -> 6.0225 (boost 2.5965, better)predicted_SLG: 0.3280 -> 0.2988 (deboost -0.0292, worse)Final model 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.2028 -> 0.1674 (deboost -0.0354, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling62415predicted_SO: 1.5066 -> 2.0000 (boost 0.4934, worse)predicted_BB: 0.3670 -> 0.0000 (deboost -0.3670, worse)AB rounded to 6 (raw=6.02), rates preserved: AVG=0.167 HR/AB=0.009
5consistency_constraints10101-predicted_R: 0.4888 -> 0.0000 (deboost -0.4888, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context20202-predicted_SLG: 0.2844 -> 0.1670 (deboost -0.1174, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference53241predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 6.0000 -> 2.0000 (deboost -4.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final22020predicted_SLG: 0.1670 -> 0.2844 (boost 0.1174, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "641555",
  "player_name": "J.C. Escarra",
  "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.222,
        "predicted_3B": 0.074,
        "predicted_AB": 3.426,
        "predicted_AVG": 0.231,
        "predicted_BB": 0.222,
        "predicted_H": 0.59,
        "predicted_HR": 0.06,
        "predicted_OBP": 0.263,
        "predicted_R": 0.296,
        "predicted_RBI": 0.37,
        "predicted_SLG": 0.328,
        "predicted_SO": 0.889
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.3349,
        "predicted_3B": 0.1049,
        "predicted_AB": 6.0225,
        "predicted_AVG": 0.2028,
        "predicted_BB": 0.3633,
        "predicted_H": 0.9983,
        "predicted_HBP": 0.011,
        "predicted_HR": 0.0526,
        "predicted_OBP": 0.2388,
        "predicted_R": 0.4789,
        "predicted_RBI": 0.8603,
        "predicted_SLG": 0.2988,
        "predicted_SO": 1.5223
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.222,
          "after": 0.3349,
          "delta": 0.1129,
          "percent_delta": 0.5086,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.074,
          "after": 0.1049,
          "delta": 0.0309,
          "percent_delta": 0.4176,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.426,
          "after": 6.0225,
          "delta": 2.5965,
          "percent_delta": 0.7579,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.231,
          "after": 0.2028,
          "delta": -0.0282,
          "percent_delta": -0.1221,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.222,
          "after": 0.3633,
          "delta": 0.1413,
          "percent_delta": 0.6365,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.59,
          "after": 0.9983,
          "delta": 0.4083,
          "percent_delta": 0.692,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.06,
          "after": 0.0526,
          "delta": -0.0074,
          "percent_delta": -0.1233,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.263,
          "after": 0.2388,
          "delta": -0.0242,
          "percent_delta": -0.092,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.296,
          "after": 0.4789,
          "delta": 0.1829,
          "percent_delta": 0.6179,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.37,
          "after": 0.8603,
          "delta": 0.4903,
          "percent_delta": 1.3251,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.328,
          "after": 0.2988,
          "delta": -0.0292,
          "percent_delta": -0.089,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.889,
          "after": 1.5223,
          "delta": 0.6333,
          "percent_delta": 0.7124,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 10,
        "boosted_metrics": 7,
        "deboosted_metrics": 3,
        "better_metrics": 6,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.426,
          "after": 6.0225,
          "delta": 2.5965,
          "percent_delta": 0.7579,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.328,
          "after": 0.2988,
          "delta": -0.0292,
          "percent_delta": -0.089,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 2,
        "last_10": 4,
        "season": 16
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.3349,
        "predicted_3B": 0.1049,
        "predicted_AB": 6.0225,
        "predicted_AVG": 0.1674,
        "predicted_BB": 0.367,
        "predicted_H": 1.0083,
        "predicted_HBP": 0.011,
        "predicted_HR": 0.0532,
        "predicted_OBP": 0.2152,
        "predicted_R": 0.4888,
        "predicted_RBI": 0.878,
        "predicted_SLG": 0.2844,
        "predicted_SO": 1.5066
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.3349,
          "after": 0.3349,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.1049,
          "after": 0.1049,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.0225,
          "after": 6.0225,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2028,
          "after": 0.1674,
          "delta": -0.0354,
          "percent_delta": -0.1746,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3633,
          "after": 0.367,
          "delta": 0.0037,
          "percent_delta": 0.0102,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9983,
          "after": 1.0083,
          "delta": 0.01,
          "percent_delta": 0.01,
          "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.0526,
          "after": 0.0532,
          "delta": 0.0006,
          "percent_delta": 0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2388,
          "after": 0.2152,
          "delta": -0.0236,
          "percent_delta": -0.0988,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4789,
          "after": 0.4888,
          "delta": 0.0099,
          "percent_delta": 0.0207,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.8603,
          "after": 0.878,
          "delta": 0.0177,
          "percent_delta": 0.0206,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2988,
          "after": 0.2844,
          "delta": -0.0144,
          "percent_delta": -0.0482,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.5223,
          "after": 1.5066,
          "delta": -0.0157,
          "percent_delta": -0.0103,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.2028,
          "after": 0.1674,
          "delta": -0.0354,
          "percent_delta": -0.1746,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 6 (raw=6.02), rates preserved: AVG=0.167 HR/AB=0.009",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.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.3349,
          "after": 0.0,
          "delta": -0.3349,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.1049,
          "after": 0.0,
          "delta": -0.1049,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 6.0225,
          "after": 6.0,
          "delta": -0.0225,
          "percent_delta": -0.0037,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.367,
          "after": 0.0,
          "delta": -0.367,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0083,
          "after": 1.0,
          "delta": -0.0083,
          "percent_delta": -0.0082,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.011,
          "after": 0.0,
          "delta": -0.011,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0532,
          "after": 0.0,
          "delta": -0.0532,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.878,
          "after": 1.0,
          "delta": 0.122,
          "percent_delta": 0.139,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.5066,
          "after": 2.0,
          "delta": 0.4934,
          "percent_delta": 0.3275,
          "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.5066,
          "after": 2.0,
          "delta": 0.4934,
          "percent_delta": 0.3275,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.367,
          "after": 0.0,
          "delta": -0.367,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4888,
          "after": 0.0,
          "delta": -0.4888,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 0.4888,
          "after": 0.0,
          "delta": -0.4888,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 6.0,
        "predicted_AVG": 0.167,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.167,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.167,
        "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": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1674,
          "after": 0.167,
          "delta": -0.0004,
          "percent_delta": -0.0024,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2152,
          "after": 0.167,
          "delta": -0.0482,
          "percent_delta": -0.224,
          "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.2844,
          "after": 0.167,
          "delta": -0.1174,
          "percent_delta": -0.4128,
          "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.2844,
          "after": 0.167,
          "delta": -0.1174,
          "percent_delta": -0.4128,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 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": 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": 6.0,
          "after": 2.0,
          "delta": -4.0,
          "percent_delta": -0.6667,
          "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": 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": 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": 3,
        "deboosted_metrics": 2,
        "better_metrics": 4,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 6.0,
          "after": 2.0,
          "delta": -4.0,
          "percent_delta": -0.6667,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 2.0,
        "predicted_AVG": 0.1674,
        "predicted_BB": 1.0,
        "predicted_C": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2152,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2844,
        "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.167,
          "after": 0.1674,
          "delta": 0.0004,
          "percent_delta": 0.0025,
          "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.167,
          "after": 0.2152,
          "delta": 0.0482,
          "percent_delta": 0.2889,
          "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.167,
          "after": 0.2844,
          "delta": 0.1174,
          "percent_delta": 0.7029,
          "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.167,
          "after": 0.2844,
          "delta": 0.1174,
          "percent_delta": 0.7029,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.222,
        "after": 1.0,
        "delta": 0.778,
        "percent_delta": 3.5045,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.074,
        "after": 0.0,
        "delta": -0.074,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.426,
        "after": 2.0,
        "delta": -1.426,
        "percent_delta": -0.4162,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.231,
        "after": 0.1674,
        "delta": -0.0636,
        "percent_delta": -0.2753,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.222,
        "after": 1.0,
        "delta": 0.778,
        "percent_delta": 3.5045,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.59,
        "after": 1.0,
        "delta": 0.41,
        "percent_delta": 0.6949,
        "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.263,
        "after": 0.2152,
        "delta": -0.0478,
        "percent_delta": -0.1817,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.296,
        "after": 1.0,
        "delta": 0.704,
        "percent_delta": 2.3784,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.37,
        "after": 1.0,
        "delta": 0.63,
        "percent_delta": 1.7027,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.328,
        "after": 0.2844,
        "delta": -0.0436,
        "percent_delta": -0.1329,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.889,
        "after": 0.0,
        "delta": -0.889,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 12,
      "boosted_metrics": 5,
      "deboosted_metrics": 7,
      "better_metrics": 6,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_2B",
        "before": 0.222,
        "after": 1.0,
        "delta": 0.778,
        "percent_delta": 3.5045,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 3.426,
        "after": 2.0,
        "delta": -1.426,
        "percent_delta": -0.4162,
        "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.222-
predicted_3B0.074-
predicted_AB3.426-
predicted_AVG0.231-
predicted_BB0.222-
predicted_H0.590-
predicted_HR0.060-
predicted_OBP0.263-
predicted_R0.296-
predicted_RBI0.370-
predicted_SLG0.328-
predicted_SO0.889-
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.3350.113
predicted_3B0.1050.031
predicted_AB6.0222.596
predicted_AVG0.203-0.028
predicted_BB0.3630.141
predicted_H0.9980.408
predicted_HBP0.011-
predicted_HR0.053-0.007
predicted_OBP0.239-0.024
predicted_R0.4790.183
predicted_RBI0.8600.490
predicted_SLG0.299-0.029
predicted_SO1.5220.633
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.3350.000
predicted_3B0.1050.000
predicted_AB6.0220.000
predicted_AVG0.167-0.035
predicted_BB0.3670.004
predicted_H1.0080.010
predicted_HBP0.0110.000
predicted_HR0.0530.001
predicted_OBP0.215-0.024
predicted_R0.4890.010
predicted_RBI0.8780.018
predicted_SLG0.284-0.014
predicted_SO1.507-0.016
4. ab_floor_and_scaling

AB rounded to 6 (raw=6.02), rates preserved: AVG=0.167 HR/AB=0.009

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB6.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO2.000-
5. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB6.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-
SO2.0000.000
6. 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.335
predicted_3B0.000-0.105
predicted_AB6.000-0.022
predicted_AVG0.167-0.000
predicted_BB0.000-0.367
predicted_H1.000-0.008
predicted_HR0.000-0.053
predicted_OBP0.167-0.048
predicted_R0.000-0.489
predicted_RBI1.0000.122
predicted_SLG0.167-0.117
predicted_SO2.0000.493
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB2.000-4.000
BB1.0001.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA3.000-
R1.0001.000
RBI1.0000.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: 54
Reference playing time: 3.872
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.202-14.0000.0000.0000.0000.0004.0000.0000.0004.0000.00000.00000.00000.00000.00000.28570.00000.2857
last_100.204-28.0000.0000.0000.0000.0004.0000.0001.0005.0000.00000.03030.00000.00000.00000.14290.03570.1786
season0.6016-185.00035.00012.0004.0000.00028.00016.00012.00048.0000.18920.23380.29730.18920.00000.15140.06490.2595
Weighted Prediction From Real Data
MetricValue
predicted_2B0.4960
predicted_3B0.1490
predicted_AB9.7280
predicted_AVG0.1625
predicted_BB0.5650
predicted_H1.5810
predicted_HBP0.0110
predicted_HR0.0420
predicted_OBP0.2042
predicted_R0.7400
predicted_RBI1.5600
predicted_SLG0.2572
predicted_SO2.4260
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.22200.49600.3349model_form_blend
predicted_3B0.07400.14900.1049model_form_blend
predicted_AB3.42609.72806.0225model_form_blend
predicted_AVG0.23100.16250.2028model_form_blend
predicted_BB0.22200.56500.3633model_form_blend
predicted_H0.59001.58100.9983model_form_blend
predicted_HBP-0.01100.0110form_only
predicted_HR0.06000.04200.0526model_form_blend
predicted_OBP0.26300.20420.2388model_form_blend
predicted_R0.29600.74000.4789model_form_blend
predicted_RBI0.37001.56000.8603model_form_blend
predicted_SLG0.32800.25720.2988model_form_blend
predicted_SO0.88902.42601.5223model_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 date55
Season rows before report date55
Report year2026
Profile rows used54
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
2B1
3B0
HR0
R1
RBI1
BB1
SO0
SF0
HBP0
season_avg0.189

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball1
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_RBI1
Hitting_SAC0
Hitting_SF1
Hitting_SO1
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
allPositionsPlayedC
gameID20260518_TOR@NYY
game_typefull
mlbID641555
playerID641555
playerNameJ.C. Escarra
posC
startedTrue
startingPositionC
teamNYY
teamID19
game_date2026-05-18
game_pk823549.0
sl_k_percent22.6
sl_bb_percent5.7
sl_woba0.211
sl_xwoba0.288
sl_xba0.234
sl_xslg0.36
sl_sweet_spot_percent36.8
sl_barrel_batted_rate5.3
sl_hard_hit_percent36.8
sl_exit_velocity_avg89.9
sl_launch_angle_avg8.6
sl_whiff_percent32.3
sl_swing_percent46.6
at_bat_number68.0
ab_pitcher656546.0
ab_pitcher_nameHoffman, Jeff
ab_home_teamNYY
ab_away_teamTOR
ab_game_typeR
ab_standL
ab_p_throwsR
ab_inning8.0
ab_inning_topbotBot
ab_outs_when_up0.0
ab_on_1b_start680474.0
ab_on_2b_start680474.0
ab_balls_start0.0
ab_strikes_start0.0
ab_home_score_start7.0
ab_away_score_start5.0
ab_bat_score_start7.0
ab_fld_score_start5.0
ab_eventfield_out
ab_event_descriptionJ.C. Escarra bunt pops out softly to catcher Brandon Valenzuela in foul territory.
ab_event_typeX
ab_bb_typepopup
ab_hit_location2.0
ab_pitch_type_lastFF
ab_pitch_name_last4-Seam Fastball
ab_zone_last1.0
ab_launch_speed_last28.6
ab_launch_angle_last72.0
ab_hit_distance_last29.0
ab_estimated_ba_last0.04
ab_estimated_woba_last0.036
ab_estimated_slg_last0.04
ab_woba_value0.0
ab_woba_denom1.0
ab_babip_value0.0
ab_iso_value0.0
ab_balls_end1.0
ab_strikes_end1.0
ab_home_score_end7.0
ab_away_score_end5.0
ab_bat_score_end7.0
ab_fld_score_end5.0
ab_pitch_count3.0
ab_release_speed_avg91.96666666666664
ab_release_spin_rate_avg2318.0
ab_effective_speed_avg92.33333333333331
ab_launch_speed_avg28.6
ab_launch_angle_avg72.0
ab_delta_run_exp_avg-0.0133333333333333
ab_delta_home_win_exp_avg-0.001
ab_delta_pitcher_run_exp_avg0.0133333333333333
ab_bat_speed_avg6.4
ab_swing_length_avg1.2
ab_launch_speed_max28.6
ab_hit_distance_sc_max29.0
ab_release_speed_max98.3
ab_release_spin_rate_max2772.0
ab_release_speed_min87.6
ab_release_spin_rate_min1630.0
ab_delta_run_exp_sum-0.0399999999999999
ab_delta_home_win_exp_sum-0.003
ab_delta_pitcher_run_exp_sum0.0399999999999999
ab_result_is_hitFalse
ab_result_is_walkFalse
ab_result_is_strikeoutFalse
ab_result_is_hbpFalse
Carlos Rodón (607074) · PITCHER · Starter · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 2
All-history rows before 20260521: 2

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB3.0003.0003.000Pitching_BB4.0003.000-1.0000.000
predicted_ER2.0002.0002.000Pitching_ER2.5002.000-0.5000.000
predicted_H1.0001.0001.000Pitching_H2.5003.000-1.500-2.000
predicted_IP4.0004.0004.000Pitching_InningsPitched3.6503.2000.3500.800
predicted_SO5.0005.0005.000Pitching_SO5.0006.0000.000-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: 4.3333 -> 4.0000 (deboost -0.3333, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2starter_usage_guardrail10101-predicted_IP: 4.3333 -> 4.0000 (deboost -0.3333, worse)Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
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": "607074",
  "player_name": "Carlos Rodón",
  "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": 2.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 4.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": "starter_usage_guardrail",
      "description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
      "stats": {
        "predicted_BB": 3.0,
        "predicted_ER": 2.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 4.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": 4.3333,
          "after": 4.0,
          "delta": -0.3333,
          "percent_delta": -0.0769,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 4.3333,
          "after": 4.0,
          "delta": -0.3333,
          "percent_delta": -0.0769,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 3,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 3.0,
        "predicted_ER": 2.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 4.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": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 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": 4.3333,
        "after": 4.0,
        "delta": -0.3333,
        "percent_delta": -0.0769,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 5.0,
        "after": 5.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 0,
      "deboosted_metrics": 1,
      "better_metrics": 0,
      "worse_metrics": 1,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 4.3333,
        "after": 4.0,
        "delta": -0.3333,
        "percent_delta": -0.0769,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB3.000-
predicted_ER2.000-
predicted_H1.000-
predicted_HR0.000-
predicted_IP4.333-
predicted_SO5.000-
2. starter_usage_guardrail

Starter workload capped by recent innings, season ERA/WHIP, and team-form context.

MetricValueDelta vs Prev Step
predicted_BB3.0000.000
predicted_ER2.0000.000
predicted_H1.0000.000
predicted_HR0.0000.000
predicted_IP4.000-0.333
predicted_SO5.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 2
Reference playing time: 4.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4528.0005.0005.0008.00010.0000.0005.62501.62500.62500.62501.00001.25000.0000
last_100.3528.0005.0005.0008.00010.0000.0005.62501.62500.62500.62501.00001.25000.0000
season0.2028.0005.0005.0008.00010.0000.0005.62501.62500.62500.62501.00001.25000.0000
Weighted Prediction From Real Data
MetricValue
predicted_BB2.3490
predicted_ER2.1830
predicted_ERA4.6348
predicted_H3.6060
predicted_HR0.3950
predicted_IP4.1000
predicted_SO4.3930
predicted_WHIP1.4053
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB3.00002.34902.7733model_form_blend
predicted_ER2.00002.18302.0637model_form_blend
predicted_ERA-4.63484.6348form_only
predicted_H1.00003.60601.9074model_form_blend
predicted_HR0.00000.39500.1375model_form_blend
predicted_IP4.10004.10004.1000model_form_blend
predicted_SO5.00004.39304.7886model_form_blend
predicted_WHIP-1.40531.4053form_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 date2
Season rows before report date2
Report year2026
Profile rows used2
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP4.0
H1
R2
ER2
BB3
SO5
HR0
BF16
Pitches83

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_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 Faced17
Pitching_ER2
Pitching_ERA5.63
Pitching_Flyouts1
Pitching_Groundouts3
Pitching_H3
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched3.2
Pitching_Pitches88
Pitching_R3
Pitching_SO6
Pitching_Strikes55
Pitching_Wild Pitch1
Pitching_decisionL
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260516_NYY@NYM
game_typefull
mlbID607074
playerID607074
playerNameCarlos Rodón
posP
startedTrue
startingPositionP
teamNYY
teamID19
game_date2026-05-16
game_pk823627.0
sl_k_percent26.3
sl_bb_percent21.1
sl_woba0.314
sl_xwoba0.323
sl_sweet_spot_percent21.1
sl_barrel_batted_rate10.5
sl_hard_hit_percent26.3
sl_whiff_percent27.6
sl_swing_percent45.8
sv_pitch_count88.0
sv_outs_recorded_est11.0
sv_release_speed91.81590909090907
sv_release_spin_rate2331.4204545454545
sv_effective_speed91.57727272727271
sv_launch_speed83.2
sv_launch_angle23.814814814814813
sv_woba_value5.5
sv_woba_denom17.0
sv_delta_run_exp-0.387
sv_delta_home_win_exp0.174
sl_avg_best_speed83.081485556
sl_avg_hyper_speed94.150822778
Brent Headrick (687396) · PITCHER · Middle Reliever · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 24
All-history rows before 20260521: 24

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.3750.000-0.3750.000
predicted_ER0.0000.0000.000Pitching_ER0.2500.000-0.2500.000
predicted_H1.0001.0001.000Pitching_H0.9171.0000.0830.000
predicted_IP1.1001.1001.100Pitching_InningsPitched0.8331.1000.2670.000
predicted_SO0.0000.0000.000Pitching_SO1.1672.000-1.167-2.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics1
Boosted Metrics1
Deboosted Metrics0
Better Metrics1
Worse Metrics0
Biggest Boostpredicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better)
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final11010predicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "687396",
  "player_name": "Brent Headrick",
  "position": "Middle Reliever",
  "team": "NYY",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.1,
        "predicted_R": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.1,
          "delta": 0.1,
          "percent_delta": 0.1,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.1,
          "delta": 0.1,
          "percent_delta": 0.1,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.1,
        "delta": 0.1,
        "percent_delta": 0.1,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 1,
      "deboosted_metrics": 0,
      "better_metrics": 1,
      "worse_metrics": 0,
      "biggest_boost": {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.1,
        "delta": 0.1,
        "percent_delta": 0.1,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": null,
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

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: 24
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4556.1003.0005.0003.0008.0002.0004.26321.26320.47370.78950.47371.26320.3158
last_100.351012.2004.0009.0004.00014.0002.0002.84211.02630.31580.71050.31581.10530.1579
season0.202424.2006.00022.0009.00028.0002.0002.18921.25680.24320.89190.36491.13510.0811
Weighted Prediction From Real Data
MetricValue
predicted_BB0.4370
predicted_ER0.4780
predicted_ERA3.8000
predicted_H0.9760
predicted_HR0.1940
predicted_IP1.0000
predicted_SO1.2060
predicted_WHIP1.2490
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.43700.1907model_form_blend
predicted_ER0.00000.47800.2086model_form_blend
predicted_ERA-3.80003.8000form_only
predicted_H1.00000.97600.9895model_form_blend
predicted_HR0.00000.19400.0847model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO0.00001.20600.5262model_form_blend
predicted_WHIP-1.24901.2490form_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 date24
Season rows before report date24
Report year2026
Profile rows used24
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
SO0
HR0
BF5
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 Faced5
Pitching_ER0
Pitching_ERA2.19
Pitching_Flyouts1
Pitching_Groundouts1
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners1
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.1
Pitching_Pitches24
Pitching_R0
Pitching_SO2
Pitching_Strikes19
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260519_TOR@NYY
game_typefull
mlbID687396
playerID687396
playerNameBrent Headrick
posP
startedFalse
startingPositionP
teamNYY
teamID19
game_date2026-05-19
game_pk823548.0
sl_k_percent26.9
sl_bb_percent8.7
sl_woba0.297
sl_xwoba0.294
sl_sweet_spot_percent40.3
sl_barrel_batted_rate6.0
sl_hard_hit_percent40.3
sl_whiff_percent29.8
sl_swing_percent52.0
sv_pitch_count24.0
sv_outs_recorded_est4.0
sv_release_speed89.32083333333333
sv_release_spin_rate2132.708333333333
sv_effective_speed90.27083333333331
sv_launch_speed74.72222222222223
sv_launch_angle-1.2222222222222223
sv_woba_value0.9
sv_woba_denom5.0
sv_delta_run_exp-0.704
sv_delta_home_win_exp0.109
sl_avg_best_speed80.348343125
sl_avg_hyper_speed94.417893651
David Bednar (670280) · PITCHER · Middle Reliever · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 21
All-history rows before 20260521: 21

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.4292.000-0.429-2.000
predicted_ER0.0000.0000.000Pitching_ER0.5711.000-0.571-1.000
predicted_H0.0000.0000.000Pitching_H1.1901.000-1.190-1.000
predicted_IP1.1001.1001.100Pitching_InningsPitched0.9331.0000.1670.100
predicted_SO0.0000.0000.000Pitching_SO1.1902.000-1.190-2.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics1
Boosted Metrics1
Deboosted Metrics0
Better Metrics1
Worse Metrics0
Biggest Boostpredicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better)
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final11010predicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "670280",
  "player_name": "David Bednar",
  "position": "Middle Reliever",
  "team": "NYY",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.1,
        "predicted_R": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.1,
          "delta": 0.1,
          "percent_delta": 0.1,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.1,
          "delta": 0.1,
          "percent_delta": 0.1,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.1,
        "delta": 0.1,
        "percent_delta": 0.1,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 1,
      "deboosted_metrics": 0,
      "better_metrics": 1,
      "worse_metrics": 0,
      "biggest_boost": {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.1,
        "delta": 0.1,
        "percent_delta": 0.1,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": null,
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

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: 21
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.2006.0007.0004.0006.0002.00011.57142.35711.28571.50000.85711.28570.4286
last_100.351010.1008.00013.0004.00012.0002.0006.96771.64520.77421.25810.38711.16130.1935
season0.202121.00012.00025.0009.00025.0002.0005.14291.61900.57141.19050.42861.19050.0952
Weighted Prediction From Real Data
MetricValue
predicted_BB0.4810
predicted_ER0.6950
predicted_ERA6.2535
predicted_H1.1280
predicted_HR0.1980
predicted_IP1.0000
predicted_SO1.0750
predicted_WHIP1.6094
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.48100.2017model_form_blend
predicted_ER0.00000.69500.2915model_form_blend
predicted_ERA-6.25356.2535form_only
predicted_H0.00001.12800.4731model_form_blend
predicted_HR0.00000.19800.0830model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO0.00001.07500.4509model_form_blend
predicted_WHIP-1.60941.6094form_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 date21
Season rows before report date21
Report year2026
Profile rows used21
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.1
H0
R0
ER0
BB0
SO0
HR0
BF4
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_BB2
Pitching_Balk0
Pitching_Batters Faced6
Pitching_ER1
Pitching_ERA5.14
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches36
Pitching_R1
Pitching_SO2
Pitching_Strikes19
Pitching_Wild Pitch0
Pitching_decisionS
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260518_TOR@NYY
game_typefull
mlbID670280
playerID670280
playerNameDavid Bednar
posP
startedFalse
startingPositionP
teamNYY
teamID19
game_date2026-05-18
game_pk823549.0
sl_k_percent25.5
sl_bb_percent9.2
sl_woba0.349
sl_xwoba0.278
sl_sweet_spot_percent20.6
sl_barrel_batted_rate4.8
sl_hard_hit_percent39.7
sl_whiff_percent29.2
sl_swing_percent52.3
sv_pitch_count36.0
sv_outs_recorded_est3.0
sv_release_speed90.4388888888889
sv_release_spin_rate1974.805555555556
sv_effective_speed90.90277777777776
sv_launch_speed82.03
sv_launch_angle5.2
sv_woba_value2.65
sv_woba_denom6.0
sv_delta_run_exp0.539
sv_delta_home_win_exp0.076
sl_avg_best_speed75.994815806
sl_avg_hyper_speed93.741202951
Fernando Cruz (518585) · PITCHER · Middle Reliever · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 23
All-history rows before 20260521: 23

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.5651.000-0.565-1.000
predicted_ER0.0000.0000.000Pitching_ER0.2170.000-0.2170.000
predicted_H0.0000.0000.000Pitching_H0.6090.000-0.6090.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.6261.0000.3740.000
predicted_SO0.0000.0000.000Pitching_SO1.2173.000-1.217-3.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": "518585",
  "player_name": "Fernando Cruz",
  "position": "Middle Reliever",
  "team": "NYY",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 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: 23
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4556.0000.0002.0002.0008.0000.0000.00000.66670.00000.33330.33331.33330.0000
last_100.351010.0001.0006.0004.00011.0000.0000.90001.00000.10000.60000.40001.10000.0000
season0.202320.0005.00014.00013.00028.0002.0002.25001.35000.25000.70000.65001.40000.1000
Weighted Prediction From Real Data
MetricValue
predicted_BB0.4220
predicted_ER0.3200
predicted_ERA2.7030
predicted_H0.7960
predicted_HR0.0870
predicted_IP1.0000
predicted_SO1.1620
predicted_WHIP1.1417
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.42200.1748model_form_blend
predicted_ER0.00000.32000.1326model_form_blend
predicted_ERA-2.70302.7030form_only
predicted_H0.00000.79600.3298model_form_blend
predicted_HR0.00000.08700.0360model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO0.00001.16200.4814model_form_blend
predicted_WHIP-1.14171.1417form_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 date23
Season rows before report date23
Report year2026
Profile rows used23
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
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_BB1
Pitching_Balk0
Pitching_Batters Faced4
Pitching_ER0
Pitching_ERA2.25
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches21
Pitching_R0
Pitching_SO3
Pitching_Strikes13
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20260518_TOR@NYY
game_typefull
mlbID518585
playerID518585
playerNameFernando Cruz
posP
startedFalse
startingPositionP
teamNYY
teamID19
game_date2026-05-18
game_pk823549.0
sl_k_percent32.2
sl_bb_percent14.9
sl_woba0.294
sl_xwoba0.292
sl_sweet_spot_percent27.3
sl_barrel_batted_rate6.8
sl_hard_hit_percent25.0
sl_whiff_percent43.0
sl_swing_percent42.5
sv_pitch_count21.0
sv_outs_recorded_est3.0
sv_release_speed84.5952380952381
sv_release_spin_rate1367.190476190476
sv_effective_speed85.3047619047619
sv_launch_speed61.53333333333333
sv_launch_angle6.666666666666667
sv_woba_value0.7
sv_woba_denom4.0
sv_delta_run_exp-0.327
sv_delta_home_win_exp0.076
sl_avg_best_speed74.467722727
sl_avg_hyper_speed92.695989535
Tim Hill (657612) · PITCHER · Middle Reliever · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260521: 23
All-history rows before 20260521: 23

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.1301.0000.8700.000
predicted_ER0.0000.0000.000Pitching_ER0.1300.000-0.1300.000
predicted_H2.0002.0002.000Pitching_H0.6090.0001.3912.000
predicted_IP1.1001.1001.100Pitching_InningsPitched0.6831.0000.4170.100
predicted_SO2.0002.0002.000Pitching_SO0.3481.0001.6521.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics1
Boosted Metrics1
Deboosted Metrics0
Better Metrics1
Worse Metrics0
Biggest Boostpredicted_IP: 0.6667 -> 1.1000 (boost 0.4333, better)
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final11010predicted_IP: 0.6667 -> 1.1000 (boost 0.4333, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "657612",
  "player_name": "Tim Hill",
  "position": "Middle Reliever",
  "team": "NYY",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 0.0,
        "predicted_H": 2.0,
        "predicted_HR": 1.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": 1.0,
        "predicted_ER": 0.0,
        "predicted_H": 2.0,
        "predicted_HR": 1.0,
        "predicted_IP": 1.1,
        "predicted_R": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 0.6667,
          "after": 1.1,
          "delta": 0.4333,
          "percent_delta": 0.65,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_IP",
          "before": 0.6667,
          "after": 1.1,
          "delta": 0.4333,
          "percent_delta": 0.65,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 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": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 0.6667,
        "after": 1.1,
        "delta": 0.4333,
        "percent_delta": 0.6499,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 1,
      "deboosted_metrics": 0,
      "better_metrics": 1,
      "worse_metrics": 0,
      "biggest_boost": {
        "metric": "predicted_IP",
        "before": 0.6667,
        "after": 1.1,
        "delta": 0.4333,
        "percent_delta": 0.6499,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": null,
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

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_H2.000-
predicted_HR1.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: 23
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.1001.0003.0001.0001.0000.0002.70001.20000.30000.90000.30000.30000.0000
last_100.35107.0001.0008.0001.0004.0000.0001.28571.28570.14291.14290.14290.57140.0000
season0.202319.2003.00014.0003.0008.0001.0001.37290.86440.15250.71190.15250.40680.0508
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2130
predicted_ER0.2500
predicted_ERA3.2317
predicted_H0.6570
predicted_HR0.0540
predicted_IP0.2000
predicted_SO0.4990
predicted_WHIP1.2497
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.21300.6753model_form_blend
predicted_ER0.00000.25000.1031model_form_blend
predicted_ERA-3.23173.2317form_only
predicted_H2.00000.65701.4459model_form_blend
predicted_HR1.00000.05400.6097model_form_blend
predicted_IP0.20000.20000.2000model_form_blend
predicted_SO2.00000.49901.3808model_form_blend
predicted_WHIP-1.24971.2497form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.1
H2
R0
ER0
BB1
SO2
HR1
BF7
Pitches7

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced4
Pitching_ER0
Pitching_ERA1.37
Pitching_Flyouts0
Pitching_Groundouts2
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches17
Pitching_R0
Pitching_SO1
Pitching_Strikes9
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20260519_TOR@NYY
game_typefull
mlbID657612
playerID657612
playerNameTim Hill
posP
startedFalse
startingPositionP
teamNYY
teamID19
game_date2026-05-19
game_pk823548.0
sl_k_percent10.7
sl_bb_percent4.0
sl_woba0.225
sl_xwoba0.288
sl_sweet_spot_percent15.9
sl_barrel_batted_rate1.6
sl_hard_hit_percent46.0
sl_whiff_percent13.4
sl_swing_percent53.4
sv_pitch_count17.0
sv_outs_recorded_est3.0
sv_release_speed88.32352941176471
sv_release_spin_rate2009.117647058824
sv_effective_speed88.26470588235294
sv_launch_speed82.60000000000001
sv_launch_angle-35.0
sv_woba_value0.7
sv_woba_denom4.0
sv_delta_run_exp-0.4579999999999999
sv_delta_home_win_exp0.066
sl_avg_best_speed78.186953871
sl_avg_hyper_speed94.962012787