Ultra Detailed Player Audit - 20260820

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

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

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

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

20260820_LAA@HOU

Prediction Method: enhanced_ml_savant_pitcher_quality_pitcher_opponent_strength
Team Recent Window (Home): 10 games
Team Recent Window (Away): 10 games
Team Recent Period: Latest 10 games from dataset
Enhanced Prediction Target: {"away_runs": 3, "home_runs": 4, "confidence": 0.542074, "home_win_probability": 0.542074, "away_win_probability": 0.45792600000000006, "predicted_score_text": "LAA 3 - 4 HOU", "embedded_savant_score_adjustment": {"applied": true, "source": "all_players_stats.csv embedded temporal Savant features", "feature_contract": {"training_grain": "one player-game row after collapsing granular at-bat rows", "temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game", "hitter_signals": ["xwoba", "xba", "xslg", "barrel_batted_rate", "hard_hit_percent", "bat_speed", "launch_quality", "walk_rate", "strikeout_rate"], "pitcher_signals": ["xwoba_allowed", "barrel_allowed", "hard_hit_allowed", "whiff_rate", "command_score", "movement_score", "faced_est_woba", "faced_strikeout_rate"]}, "away": {"team": "LAA", "original_runs": 3, "run_delta": -0.2553, "adjusted_runs": 3, "lineup": {"players_used": 9, "total_weight": 32.0, "quality": -0.05990754502332138, "contact": -0.24971114501903813, "power": -0.18179830545138176, "discipline": 0.01888201578815006, "xwoba": 0.3050625, "recent_xwoba": 0.3050625, "barrel": 6.934374999999999, "ab_hard_contact": -0.207162537599067, "ab_bat_speed": 68.41056022899298, "ab_strikeout_rate": 0.23884855554729417, "available_players": 9, "top_players": [{"player_id": "545361", "player_name": "Mike Trout", "position": "CF", "weight": 4.0, "quality": 1.0443728878416927, "contact": 0.864116305228133, "power": 1.3483375905516428, "discipline": 0.9685623884962709, "xwoba": 0.382, "recent_xwoba": 0.382, "barrel": 15.7, "ab_hard_contact": 0.6187518110328614, "ab_bat_speed": 73.38992546421085, "ab_strikeout_rate": 0.26619496855345914, "available": 1.0}, {"player_id": "623168", "player_name": "Tyler Heineman", "position": "C", "weight": 3.0, "quality": -0.737387452339985, "contact": -1.2561691969859603, "power": -1.6456940163551212, "discipline": -0.23906917356251506, "xwoba": 0.249, "recent_xwoba": 0.249, "barrel": 0.9, "ab_hard_contact": -1.4634041366262402, "ab_bat_speed": 61.03757936507937, "ab_strikeout_rate": 0.1520408163265306, "available": 1.0}, {"player_id": "624428", "player_name": "Adam Frazier", "position": "2B", "weight": 3.0, "quality": -0.6918053164062942, "contact": -1.6574973878873205, "power": -1.5824087640966729, "discipline": -0.3721831191407463, "xwoba": 0.242, "recent_xwoba": 0.242, "barrel": 1.4, "ab_hard_contact": -1.6626514724096586, "ab_bat_speed": 62.13347569444444, "ab_strikeout_rate": 0.3370833333333333, "available": 1.0}, {"player_id": "685133", "player_name": "Wade Meckler", "position": "LF", "weight": 3.0, "quality": -0.3694777444110619, "contact": -0.22746216750750223, "power": -0.6565778710996025, "discipline": 0.08624148403385688, "xwoba": 0.304, "recent_xwoba": 0.304, "barrel": 3.2, "ab_hard_contact": -0.1871764696111021, "ab_bat_speed": 67.20666005291005, "ab_strikeout_rate": 0.23015873015873015, "available": 1.0}, {"player_id": "687263", "player_name": "Zach Neto", "position": "SS", "weight": 5.0, "quality": -0.24790456354320292, "contact": -0.6423861572940504, "power": 0.3053106624872398, "discipline": -0.5392711750242567, "xwoba": 0.295, "recent_xwoba": 0.295, "barrel": 11.4, "ab_hard_contact": -0.02788198835045036, "ab_bat_speed": 69.03616289518563, "ab_strikeout_rate": 0.32038567493112946, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "663567", "player_name": "Peter Lambert", "quality": 0.2901782154538889, "contact": 0.6150624709113144, "command": -0.07280555555555569, "movement": -0.04697115934032796, "xwoba": 0.284, "whiff": 25.6, "faced_est_woba": 0.26554733936838626, "faced_launch_speed": 83.81281249999999, "faced_strikeout_rate": 0.2351851851851852, "faced_run_exp": 0.006569135802469128}}, "home": {"team": "HOU", "original_runs": 4, "run_delta": 0.2796, "adjusted_runs": 4, "lineup": {"players_used": 9, "total_weight": 33.0, "quality": -0.09058655695272291, "contact": -0.26048076156271827, "power": -0.18295351732499607, "discipline": 0.2202093770779731, "xwoba": 0.3086666666666666, "recent_xwoba": 0.30866666666666664, "barrel": 7.536363636363636, "ab_hard_contact": -0.15596614027785718, "ab_bat_speed": 69.79768365923599, "ab_strikeout_rate": 0.21357828300205978, "available_players": 9, "top_players": [{"player_id": "670541", "player_name": "Yordan Alvarez", "position": "DH", "weight": 4.0, "quality": 1.8292964338390914, "contact": 2.0, "power": 2.0, "discipline": 1.2041988090403621, "xwoba": 0.458, "recent_xwoba": 0.458, "barrel": 17.5, "ab_hard_contact": 1.58832398704636, "ab_bat_speed": 75.40454953812126, "ab_strikeout_rate": 0.17684426229508196, "available": 1.0}, {"player_id": "543877", "player_name": "Christian Vázquez", "position": "C", "weight": 3.0, "quality": -1.1205490331838315, "contact": -1.3247434446050077, "power": -1.2933926654620798, "discipline": 0.09006688085925373, "xwoba": 0.243, "recent_xwoba": 0.24300000000000002, "barrel": 2.3, "ab_hard_contact": -1.1634723568606509, "ab_bat_speed": 62.32601884920635, "ab_strikeout_rate": 0.21404761904761904, "available": 1.0}, {"player_id": "669397", "player_name": "Nick Allen", "position": "SS", "weight": 3.0, "quality": -0.7154125783336442, "contact": -1.4496977986016064, "power": -1.4034399106803634, "discipline": -0.37110573818836545, "xwoba": 0.231, "recent_xwoba": 0.231, "barrel": 2.2, "ab_hard_contact": -0.8105124993215642, "ab_bat_speed": 65.83231481481481, "ab_strikeout_rate": 0.19479166666666667, "available": 1.0}, {"player_id": "514888", "player_name": "Jose Altuve", "position": "2B", "weight": 5.0, "quality": -0.6733619015163784, "contact": -0.7542073668134869, "power": -0.7741915413292876, "discipline": 0.06655990635227922, "xwoba": 0.277, "recent_xwoba": 0.277, "barrel": 4.9, "ab_hard_contact": -0.7272593980143239, "ab_bat_speed": 66.74780751964084, "ab_strikeout_rate": 0.214983164983165, "available": 1.0}, {"player_id": "701358", "player_name": "Cam Smith", "position": "RF", "weight": 4.0, "quality": 0.4309511915134435, "contact": 0.28293708785541033, "power": 0.7609807332860102, "discipline": -0.34579110481289127, "xwoba": 0.328, "recent_xwoba": 0.328, "barrel": 11.8, "ab_hard_contact": 0.9099003800059005, "ab_bat_speed": 75.98244328557382, "ab_strikeout_rate": 0.23790560471976402, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "680570", "player_name": "Grayson Rodriguez", "quality": -0.8147525356446893, "contact": -1.3394300820933691, "command": -0.3686626984126985, "movement": -0.2639396380647703, "xwoba": 0.379, "whiff": 24.1, "faced_est_woba": 0.26554733936838626, "faced_launch_speed": 83.81281249999999, "faced_strikeout_rate": 0.2351851851851852, "faced_run_exp": 0.006569135802469128}}}, "fundamental_edge_target_review": {"applied": false, "method": "post_score_adjustment_fundamental_edge_review_v1", "previous_score": {"away_runs": 3, "home_runs": 4, "winner_side": "home"}, "adjusted_score": {"away_runs": 3, "home_runs": 4, "winner_side": "home"}, "signals": {"season_quality_edge_home_minus_away": 0.3128, "recent_form_edge_home_minus_away": -0.1017, "pitcher_matchup_edge_home_minus_away": 0.0621, "composite_home_edge": 0.4632, "existing_home_win_probability": 0.505, "refreshed_home_win_probability": 0.7, "winner_support_before_review": 0.4632}, "reasons": ["target direction already matched refreshed fundamentals or margin was not fragile"]}, "confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Matchup recency guardrail cap enforced after calibration. Production confidence governor cap enforced.", "pre_simulation_target": {"away_runs": 3, "home_runs": 4, "predicted_score_text": "LAA 3 - 4 HOU", "confidence": 0.542074, "source": "enhanced_prediction_before_inning_simulation"}, "score_source": "scoring_simulation.final_score", "final_prediction_synced": true, "final_prediction_source": "stable_final_prediction_policy", "simulation_usage": "organic_score_same_winner", "simulation_score_matches_prediction": true, "simulation_reconciliation": {"pre_simulation_score": {"away_runs": 3, "home_runs": 4, "score_text": "LAA 3 - 4 HOU", "winner": "HOU"}, "final_simulation_score": {"away_runs": 3, "home_runs": 4, "score_text": "LAA 3 - 4 HOU", "winner": "HOU"}, "winner_flipped_by_simulation": false, "simulation_would_flip_winner": false, "sim_flipped_pre_winner": false, "sim_flip_trusted": false, "sim_flip_policy": "diagnostic_only_unless_independently_supported", "independent_margin_support": false, "independent_margin_support_evidence": {"pitcher_matchup_edge_home_minus_away": 0.0621, "recent_form_edge_home_minus_away": -0.1017, "winner_direction": "home", "thresholds": {"pitcher_matchup": 0.35, "recent_form": 0.75}}, "margin_widening_capped": false, "simulation_winner_agrees": true, "away_run_delta": 0, "home_run_delta": 0, "total_run_delta": 0, "score_source": "scoring_simulation.final_score", "simulation_usage": "organic_score_same_winner", "final_prediction_source": "stable_final_prediction_policy", "final_decision_policy": {"policy_version": "model_winner_simulation_score_v1", "away_runs": 3, "home_runs": 4, "winner": "HOU", "model_winner": "HOU", "simulation_winner": "HOU", "simulation_winner_agrees": true, "simulation_score_enabled": true, "independent_margin_support": false, "margin_widening_capped": false, "model_margin": 1, "simulation_margin": 1, "simulation_usage": "organic_score_same_winner", "score_source": "scoring_simulation.final_score", "model_score": {"away_runs": 3, "home_runs": 4}, "simulation_score": {"away_runs": 3, "home_runs": 4}}, "final_margin_quality_review": {"review_required": false, "pre_margin": 1, "final_margin": 1, "winner_quality_edge": 0.3128, "winner": "HOU", "reason": "final margin is directionally supported or within review threshold"}}, "decision_profile": {"method": "priced_decision_profile_v2", "winner": "HOU", "display_confidence": 0.5421, "internal_signal_score": 0.6081, "internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability", "model_pick_probability": 0.5421, "confidence_compression_detected": true, "moneyline_fit": "unavailable_without_market_price", "betting_status": "price_required_before_betting_analysis", "market_context": null, "margin_fit": "moneyline_preferred_over_margin", "totals_fit": "high_volatility_totals", "winner_accuracy_and_margin_accuracy_decoupled": true, "signals": {"final_margin": 1, "winner_quality_edge": 0.3128, "winner_recent_form_edge": -0.16, "winner_pitcher_matchup_edge": 0.0621, "winner_simulation_draw_rate": 0.7, "blowout_draw_rate_margin_4_plus": 0.2, "high_total_draw_rate_11_plus": 0.2, "low_total_draw_rate_6_or_less": 0.3, "total_runs_spread": {"min": 2, "median": 7, "max": 14, "range": 12}}, "interpretation": "The internal signal is diagnostic, not a sportsbook fair price. A bet cannot be evaluated without a source-labelled market price; model/market disagreements are a pass until independently validated."}}
Factors Considered: Historical team performance, Season-to-date run differential, Recent form (latest 10 games), Head-to-head matchup history, Player-level statistics, Baseball Savant hitter xwOBA/xBA/xSLG/contact quality, Baseball Savant pitcher xwOBA/contact/whiff quality, Pitcher splits versus opponent batting strength, Recent-form versus season-quality arbitration, Recent 10-game performance trends, Pitcher recent form analysis, Team hitting/pitching streaks, Low-score probability modeling, Environmental factors, Home field advantage, Game timing factors, Seasonal adjustments, Machine learning models

Game-Level Prediction Audit

LayerScoreWinnerConfidenceSource or usageSynced or matches
Shipped predictionLAA 3 - 4 HOUHOU0.542scoring_simulation.final_scoreTrue
Simulation drawLAA 3 - 4 HOUHOU-organic_score_same_winnerTrue

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

Full Prediction Process

Optimization Roadmap Runtime Status

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

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

Score Evolution Steps

StepLayerAway RunsHome RunsConfidenceDescription
1historical_ml4.1115.430-Base ML historical model prediction
2variance_applied45-Deterministic baseline target (variance factor 1.0)
3enhanced_prediction340.5421Enhanced ML with recent form, H2H, low-score analysis (confidence capped by matchup guardrail)
4embedded_savant_run_environment34-Target score adjusted by temporal Savant lineup quality versus opposing starter quality
5fundamental_edge_target_review34-Refreshed score target and win probability after Savant/pitcher/team-strength adjustments
6capped_target34-Capped at max 12 realistic runs
7simulation_result34-Final inning-by-inning simulation result

Governors, Guardrails, and Reconciliation

Low Score Analysis
{
  "low_score_probability": 0.5038112980645162,
  "base_low_score_probability": 0.432258064516129,
  "low_score_signal_threshold": 0.512258064516129,
  "low_score_signal_strength": 0.07155323354838716,
  "confidence": 0.6827668,
  "factors": {
    "environmental": 0.9996,
    "pitcher_form": 1.1,
    "team_form": 1.06,
    "situational": 1.0,
    "combined": 1.1655336
  },
  "prediction": "normal_scoring",
  "expected_total_runs": 7,
  "pre_simulation_expected_total_runs": 7.0,
  "low_score_model_expected_total_runs": 7.0,
  "final_simulation_total_runs": 7,
  "score_source": "scoring_simulation.final_score"
}
Win Probability Calibration
{
  "method": "historical_slate_bin_shrinkage",
  "sample_size": 270,
  "near_bucket_sample_size": 270,
  "medium_bucket_sample_size": 361,
  "wide_bucket_sample_size": 416,
  "global_sample_size": 597,
  "bucket_scope": "near_0.05",
  "sparse_bucket": false,
  "empirical_hit_rate": 0.5037,
  "bayesian_hit_rate": 0.5035,
  "sample_weight": 0.6,
  "prior_strength": 18.0,
  "reliability": 0.9375,
  "confidence_cap": 0.78,
  "raw_pick_probability": 0.5085,
  "calibrated_pick_probability": 0.505,
  "predicted_side": "home"
}
Empirical Confidence Calibration
{
  "method": "empirical_hit_rate_weighted_v1",
  "applied": true,
  "reason": "raw confidence blended with verified historical bucket hit rate",
  "raw_confidence": 0.580448,
  "sample_size": 270,
  "empirical_hit_rate": 0.5037,
  "empirical_weight": 0.5,
  "blended_confidence": 0.542074,
  "published_confidence": 0.542074,
  "published_after_governors": true
}
H2H Base Feature
{
  "method": "h2h_net_margin_monotonic_v1",
  "available": true,
  "sample_size": 5,
  "sample_weight": 0.0577,
  "home_net_margin": 5.0,
  "absolute_net_margin": 5.0,
  "home_average_margin": 1.0,
  "home_run_delta": 0.0288,
  "away_run_delta": -0.0288,
  "evidence": [
    {
      "game_id": null,
      "home_margin": 1.0
    },
    {
      "game_id": null,
      "home_margin": -2.0
    },
    {
      "game_id": null,
      "home_margin": 3.0
    },
    {
      "game_id": null,
      "home_margin": 1.0
    },
    {
      "game_id": null,
      "home_margin": 2.0
    }
  ]
}
Season Run Differential Adjustment
{
  "applied": false,
  "home": {
    "team": "HOU",
    "games": 126,
    "wins": 63,
    "losses": 63,
    "win_pct": 0.5,
    "runs_scored": 577,
    "runs_allowed": 609,
    "run_differential": -32,
    "run_differential_per_game": -0.25396825396825395,
    "available": true
  },
  "away": {
    "team": "LAA",
    "games": 126,
    "wins": 50,
    "losses": 76,
    "win_pct": 0.3968253968253968,
    "runs_scored": 510,
    "runs_allowed": 594,
    "run_differential": -84,
    "run_differential_per_game": -0.6666666666666666,
    "available": true
  },
  "run_differential_edge_per_game": 0.4127,
  "win_pct_edge": 0.1032,
  "quality_edge": 0.3128,
  "season_quality_edge": 0.5675,
  "recent_quality_blend": {
    "method": "season_recent10_quality_blend_v1",
    "recent_window": 10,
    "season_quality_edge": 0.5675,
    "recent_quality_edge": -0.16,
    "season_weight": 0.65,
    "recent_weight": 0.35,
    "recent_reliability": 1.0,
    "alignment": "conflict",
    "blended_quality_edge": 0.3128
  },
  "margin_adjustment": 0.0,
  "reason": "season quality edge below action threshold"
}
Score Distribution Widening
{
  "most_likely": [
    {
      "home_runs": 3,
      "away_runs": 3,
      "probability": 0.03553958806758486
    },
    {
      "home_runs": 4,
      "away_runs": 3,
      "probability": 0.03287022981861162
    },
    {
      "home_runs": 3,
      "away_runs": 4,
      "probability": 0.032129251671872076
    },
    {
      "home_runs": 3,
      "away_runs": 2,
      "probability": 0.03212210593468056
    },
    {
      "home_runs": 2,
      "away_runs": 3,
      "probability": 0.03160320002597335
    }
  ],
  "home_distribution": {
    "0": 0.0730502799284408,
    "1": 0.1214465471742014,
    "2": 0.1660571119997195,
    "3": 0.18674062599080327,
    "4": 0.17271464376897688,
    "5": 0.1313797808754725,
    "6": 0.08219339631670927,
    "7": 0.042291621876227016,
    "8": 0.01789702216585826,
    "9": 0.0062289699035911
  },
  "away_distribution": {
    "0": 0.07666338014023386,
    "1": 0.1270388814232502,
    "2": 0.17201455636259103,
    "3": 0.19031524543210612,
    "4": 0.17205282193631716,
    "5": 0.12709540869033653,
    "6": 0.07671455408022179,
    "7": 0.03783602545870976,
    "8": 0.015248007404321254,
    "9": 0.005021119071912279
  },
  "model": "overdispersed_score_distribution",
  "variance_multiplier": 1.65,
  "variance_floor": 2.75,
  "roadmap_status": "implemented_above_requested_1.4x"
}
Matchup Recency Guardrail
{
  "applied": true,
  "confidence_cap": 0.56,
  "winner_flipped": false,
  "reasons": [
    "recent head-to-head is split and volatile",
    "local prediction memory shows 2 straight prior same-side picks",
    "a prior same-side pick already missed against the actual result"
  ],
  "signals": {
    "predicted_team": "HOU",
    "opponent_team": "LAA",
    "h2h_net_margin": 2,
    "opponent_breakout": false,
    "opponent_blowout_win": false,
    "split_recent_h2h": true,
    "recent_h2h": [
      {
        "date": "2026-08-19",
        "predicted_team_runs": 3,
        "opponent_runs": 2,
        "margin_for_predicted_team": 1,
        "winner": "HOU"
      },
      {
        "date": "2026-08-18",
        "predicted_team_runs": 1,
        "opponent_runs": 3,
        "margin_for_predicted_team": -2,
        "winner": "LAA"
      },
      {
        "date": "2026-07-29",
        "predicted_team_runs": 7,
        "opponent_runs": 4,
        "margin_for_predicted_team": 3,
        "winner": "HOU"
      }
    ],
    "prediction_memory": {
      "available": true,
      "reason": "verified_prior_matchup_predictions_available",
      "verification_policy": "pregame_artifact_matched_to_one_official_final",
      "verified_outcome_count": 4,
      "consecutive_same_pick_count": 2,
      "same_pick_actual_loss_count": 1,
      "same_pick_blowout_loss_count": 0,
      "prior_predictions": [
        {
          "date": "20260819",
          "away": "LAA",
          "home": "HOU",
          "game_number": 1,
          "predicted_team": "HOU",
          "actual_winner": "HOU",
          "actual_margin": 1,
          "raw_pick_probability": 0.517613,
          "artifact": "20260819_LAA@HOU.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260818",
          "away": "LAA",
          "home": "HOU",
          "game_number": 1,
          "predicted_team": "HOU",
          "actual_winner": "LAA",
          "actual_margin": 2,
          "raw_pick_probability": 0.53,
          "artifact": "20260818_LAA@HOU.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260728",
          "away": "HOU",
          "home": "LAA",
          "game_number": 1,
          "predicted_team": "LAA",
          "actual_winner": "HOU",
          "actual_margin": 1,
          "raw_pick_probability": 0.51,
          "artifact": "20260728_HOU@LAA.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260727",
          "away": "HOU",
          "home": "LAA",
          "game_number": 1,
          "predicted_team": "LAA",
          "actual_winner": "HOU",
          "actual_margin": 2,
          "raw_pick_probability": 0.6,
          "artifact": "20260727_HOU@LAA.json",
          "verification": "pregame_official_final"
        }
      ]
    },
    "guardrail_predicted_team": "HOU",
    "guardrail_opponent_team": "LAA",
    "output_pre_simulation_winner": "HOU",
    "output_opponent_team": "LAA",
    "simulation_score_winner": "HOU",
    "final_score_winner": "HOU",
    "pre_simulation_winner": "HOU",
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false
  },
  "hard_flip_suppressed": false,
  "final_prediction_sync": {
    "pre_simulation_score": {
      "away_runs": 3,
      "home_runs": 4,
      "score_text": "LAA 3 - 4 HOU",
      "winner": "HOU"
    },
    "final_simulation_score": {
      "away_runs": 3,
      "home_runs": 4,
      "score_text": "LAA 3 - 4 HOU",
      "winner": "HOU"
    },
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false,
    "sim_flipped_pre_winner": false,
    "sim_flip_trusted": false,
    "sim_flip_policy": "diagnostic_only_unless_independently_supported",
    "independent_margin_support": false,
    "independent_margin_support_evidence": {
      "pitcher_matchup_edge_home_minus_away": 0.0621,
      "recent_form_edge_home_minus_away": -0.1017,
      "winner_direction": "home",
      "thresholds": {
        "pitcher_matchup": 0.35,
        "recent_form": 0.75
      }
    },
    "margin_widening_capped": false,
    "simulation_winner_agrees": true,
    "away_run_delta": 0,
    "home_run_delta": 0,
    "total_run_delta": 0,
    "score_source": "scoring_simulation.final_score",
    "simulation_usage": "organic_score_same_winner",
    "final_prediction_source": "stable_final_prediction_policy",
    "final_decision_policy": {
      "policy_version": "model_winner_simulation_score_v1",
      "away_runs": 3,
      "home_runs": 4,
      "winner": "HOU",
      "model_winner": "HOU",
      "simulation_winner": "HOU",
      "simulation_winner_agrees": true,
      "simulation_score_enabled": true,
      "independent_margin_support": false,
      "margin_widening_capped": false,
      "model_margin": 1,
      "simulation_margin": 1,
      "simulation_usage": "organic_score_same_winner",
      "score_source": "scoring_simulation.final_score",
      "model_score": {
        "away_runs": 3,
        "home_runs": 4
      },
      "simulation_score": {
        "away_runs": 3,
        "home_runs": 4
      }
    },
    "final_margin_quality_review": {
      "review_required": false,
      "pre_margin": 1,
      "final_margin": 1,
      "winner_quality_edge": 0.3128,
      "winner": "HOU",
      "reason": "final margin is directionally supported or within review threshold"
    }
  }
}
Season Quality Guardrail
{
  "applied": false,
  "confidence_cap": null,
  "winner_flipped": false,
  "hard_flip_suppressed": false,
  "policy": "recency_uncertainty_shrinkage_v2",
  "reasons": [],
  "signals": {
    "home": {
      "team": "HOU",
      "games": 126,
      "wins": 63,
      "losses": 63,
      "win_pct": 0.5,
      "runs_scored": 577,
      "runs_allowed": 609,
      "run_differential": -32,
      "run_differential_per_game": -0.25396825396825395,
      "available": true
    },
    "away": {
      "team": "LAA",
      "games": 126,
      "wins": 50,
      "losses": 76,
      "win_pct": 0.3968253968253968,
      "runs_scored": 510,
      "runs_allowed": 594,
      "run_differential": -84,
      "run_differential_per_game": -0.6666666666666666,
      "available": true
    }
  }
}
Margin Governor
{
  "applied": false,
  "raw_margin": 0.1,
  "final_margin": 0.1,
  "margin_cap": 1.5,
  "season_quality_edge": 0.3128,
  "reason": "raw target margin within supported range"
}
Confidence Governor
{
  "applied": false,
  "raw_confidence": 0.542074,
  "final_confidence": 0.542074,
  "confidence_cap": 0.66,
  "score_gap": 0.1,
  "calibration_sample_size": 270,
  "calibration_empirical_hit_rate": 0.5037,
  "calibration_bayesian_hit_rate": 0.5035,
  "calibration_sparse_bucket": false,
  "season_quality_edge": 0.3128,
  "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": 4,
    "score_text": "LAA 3 - 4 HOU",
    "winner": "HOU"
  },
  "final_simulation_score": {
    "away_runs": 3,
    "home_runs": 4,
    "score_text": "LAA 3 - 4 HOU",
    "winner": "HOU"
  },
  "winner_flipped_by_simulation": false,
  "simulation_would_flip_winner": false,
  "sim_flipped_pre_winner": false,
  "sim_flip_trusted": false,
  "sim_flip_policy": "diagnostic_only_unless_independently_supported",
  "independent_margin_support": false,
  "independent_margin_support_evidence": {
    "pitcher_matchup_edge_home_minus_away": 0.0621,
    "recent_form_edge_home_minus_away": -0.1017,
    "winner_direction": "home",
    "thresholds": {
      "pitcher_matchup": 0.35,
      "recent_form": 0.75
    }
  },
  "margin_widening_capped": false,
  "simulation_winner_agrees": true,
  "away_run_delta": 0,
  "home_run_delta": 0,
  "total_run_delta": 0,
  "score_source": "scoring_simulation.final_score",
  "simulation_usage": "organic_score_same_winner",
  "final_prediction_source": "stable_final_prediction_policy",
  "final_decision_policy": {
    "policy_version": "model_winner_simulation_score_v1",
    "away_runs": 3,
    "home_runs": 4,
    "winner": "HOU",
    "model_winner": "HOU",
    "simulation_winner": "HOU",
    "simulation_winner_agrees": true,
    "simulation_score_enabled": true,
    "independent_margin_support": false,
    "margin_widening_capped": false,
    "model_margin": 1,
    "simulation_margin": 1,
    "simulation_usage": "organic_score_same_winner",
    "score_source": "scoring_simulation.final_score",
    "model_score": {
      "away_runs": 3,
      "home_runs": 4
    },
    "simulation_score": {
      "away_runs": 3,
      "home_runs": 4
    }
  },
  "final_margin_quality_review": {
    "review_required": false,
    "pre_margin": 1,
    "final_margin": 1,
    "winner_quality_edge": 0.3128,
    "winner": "HOU",
    "reason": "final margin is directionally supported or within review threshold"
  }
}
Enhanced Prediction Target
{
  "away_runs": 3,
  "home_runs": 4,
  "confidence": 0.542074,
  "home_win_probability": 0.542074,
  "away_win_probability": 0.45792600000000006,
  "predicted_score_text": "LAA 3 - 4 HOU",
  "embedded_savant_score_adjustment": {
    "applied": true,
    "source": "all_players_stats.csv embedded temporal Savant features",
    "feature_contract": {
      "training_grain": "one player-game row after collapsing granular at-bat rows",
      "temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
      "hitter_signals": [
        "xwoba",
        "xba",
        "xslg",
        "barrel_batted_rate",
        "hard_hit_percent",
        "bat_speed",
        "launch_quality",
        "walk_rate",
        "strikeout_rate"
      ],
      "pitcher_signals": [
        "xwoba_allowed",
        "barrel_allowed",
        "hard_hit_allowed",
        "whiff_rate",
        "command_score",
        "movement_score",
        "faced_est_woba",
        "faced_strikeout_rate"
      ]
    },
    "away": {
      "team": "LAA",
      "original_runs": 3,
      "run_delta": -0.2553,
      "adjusted_runs": 3,
      "lineup": {
        "players_used": 9,
        "total_weight": 32.0,
        "quality": -0.05990754502332138,
        "contact": -0.24971114501903813,
        "power": -0.18179830545138176,
        "discipline": 0.01888201578815006,
        "xwoba": 0.3050625,
        "recent_xwoba": 0.3050625,
        "barrel": 6.934374999999999,
        "ab_hard_contact": -0.207162537599067,
        "ab_bat_speed": 68.41056022899298,
        "ab_strikeout_rate": 0.23884855554729417,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "545361",
            "player_name": "Mike Trout",
            "position": "CF",
            "weight": 4.0,
            "quality": 1.0443728878416927,
            "contact": 0.864116305228133,
            "power": 1.3483375905516428,
            "discipline": 0.9685623884962709,
            "xwoba": 0.382,
            "recent_xwoba": 0.382,
            "barrel": 15.7,
            "ab_hard_contact": 0.6187518110328614,
            "ab_bat_speed": 73.38992546421085,
            "ab_strikeout_rate": 0.26619496855345914,
            "available": 1.0
          },
          {
            "player_id": "623168",
            "player_name": "Tyler Heineman",
            "position": "C",
            "weight": 3.0,
            "quality": -0.737387452339985,
            "contact": -1.2561691969859603,
            "power": -1.6456940163551212,
            "discipline": -0.23906917356251506,
            "xwoba": 0.249,
            "recent_xwoba": 0.249,
            "barrel": 0.9,
            "ab_hard_contact": -1.4634041366262402,
            "ab_bat_speed": 61.03757936507937,
            "ab_strikeout_rate": 0.1520408163265306,
            "available": 1.0
          },
          {
            "player_id": "624428",
            "player_name": "Adam Frazier",
            "position": "2B",
            "weight": 3.0,
            "quality": -0.6918053164062942,
            "contact": -1.6574973878873205,
            "power": -1.5824087640966729,
            "discipline": -0.3721831191407463,
            "xwoba": 0.242,
            "recent_xwoba": 0.242,
            "barrel": 1.4,
            "ab_hard_contact": -1.6626514724096586,
            "ab_bat_speed": 62.13347569444444,
            "ab_strikeout_rate": 0.3370833333333333,
            "available": 1.0
          },
          {
            "player_id": "685133",
            "player_name": "Wade Meckler",
            "position": "LF",
            "weight": 3.0,
            "quality": -0.3694777444110619,
            "contact": -0.22746216750750223,
            "power": -0.6565778710996025,
            "discipline": 0.08624148403385688,
            "xwoba": 0.304,
            "recent_xwoba": 0.304,
            "barrel": 3.2,
            "ab_hard_contact": -0.1871764696111021,
            "ab_bat_speed": 67.20666005291005,
            "ab_strikeout_rate": 0.23015873015873015,
            "available": 1.0
          },
          {
            "player_id": "687263",
            "player_name": "Zach Neto",
            "position": "SS",
            "weight": 5.0,
            "quality": -0.24790456354320292,
            "contact": -0.6423861572940504,
            "power": 0.3053106624872398,
            "discipline": -0.5392711750242567,
            "xwoba": 0.295,
            "recent_xwoba": 0.295,
            "barrel": 11.4,
            "ab_hard_contact": -0.02788198835045036,
            "ab_bat_speed": 69.03616289518563,
            "ab_strikeout_rate": 0.32038567493112946,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "663567",
        "player_name": "Peter Lambert",
        "quality": 0.2901782154538889,
        "contact": 0.6150624709113144,
        "command": -0.07280555555555569,
        "movement": -0.04697115934032796,
        "xwoba": 0.284,
        "whiff": 25.6,
        "faced_est_woba": 0.26554733936838626,
        "faced_launch_speed": 83.81281249999999,
        "faced_strikeout_rate": 0.2351851851851852,
        "faced_run_exp": 0.006569135802469128
      }
    },
    "home": {
      "team": "HOU",
      "original_runs": 4,
      "run_delta": 0.2796,
      "adjusted_runs": 4,
      "lineup": {
        "players_used": 9,
        "total_weight": 33.0,
        "quality": -0.09058655695272291,
        "contact": -0.26048076156271827,
        "power": -0.18295351732499607,
        "discipline": 0.2202093770779731,
        "xwoba": 0.3086666666666666,
        "recent_xwoba": 0.30866666666666664,
        "barrel": 7.536363636363636,
        "ab_hard_contact": -0.15596614027785718,
        "ab_bat_speed": 69.79768365923599,
        "ab_strikeout_rate": 0.21357828300205978,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "670541",
            "player_name": "Yordan Alvarez",
            "position": "DH",
            "weight": 4.0,
            "quality": 1.8292964338390914,
            "contact": 2.0,
            "power": 2.0,
            "discipline": 1.2041988090403621,
            "xwoba": 0.458,
            "recent_xwoba": 0.458,
            "barrel": 17.5,
            "ab_hard_contact": 1.58832398704636,
            "ab_bat_speed": 75.40454953812126,
            "ab_strikeout_rate": 0.17684426229508196,
            "available": 1.0
          },
          {
            "player_id": "543877",
            "player_name": "Christian Vázquez",
            "position": "C",
            "weight": 3.0,
            "quality": -1.1205490331838315,
            "contact": -1.3247434446050077,
            "power": -1.2933926654620798,
            "discipline": 0.09006688085925373,
            "xwoba": 0.243,
            "recent_xwoba": 0.24300000000000002,
            "barrel": 2.3,
            "ab_hard_contact": -1.1634723568606509,
            "ab_bat_speed": 62.32601884920635,
            "ab_strikeout_rate": 0.21404761904761904,
            "available": 1.0
          },
          {
            "player_id": "669397",
            "player_name": "Nick Allen",
            "position": "SS",
            "weight": 3.0,
            "quality": -0.7154125783336442,
            "contact": -1.4496977986016064,
            "power": -1.4034399106803634,
            "discipline": -0.37110573818836545,
            "xwoba": 0.231,
            "recent_xwoba": 0.231,
            "barrel": 2.2,
            "ab_hard_contact": -0.8105124993215642,
            "ab_bat_speed": 65.83231481481481,
            "ab_strikeout_rate": 0.19479166666666667,
            "available": 1.0
          },
          {
            "player_id": "514888",
            "player_name": "Jose Altuve",
            "position": "2B",
            "weight": 5.0,
            "quality": -0.6733619015163784,
            "contact": -0.7542073668134869,
            "power": -0.7741915413292876,
            "discipline": 0.06655990635227922,
            "xwoba": 0.277,
            "recent_xwoba": 0.277,
            "barrel": 4.9,
            "ab_hard_contact": -0.7272593980143239,
            "ab_bat_speed": 66.74780751964084,
            "ab_strikeout_rate": 0.214983164983165,
            "available": 1.0
          },
          {
            "player_id": "701358",
            "player_name": "Cam Smith",
            "position": "RF",
            "weight": 4.0,
            "quality": 0.4309511915134435,
            "contact": 0.28293708785541033,
            "power": 0.7609807332860102,
            "discipline": -0.34579110481289127,
            "xwoba": 0.328,
            "recent_xwoba": 0.328,
            "barrel": 11.8,
            "ab_hard_contact": 0.9099003800059005,
            "ab_bat_speed": 75.98244328557382,
            "ab_strikeout_rate": 0.23790560471976402,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "680570",
        "player_name": "Grayson Rodriguez",
        "quality": -0.8147525356446893,
        "contact": -1.3394300820933691,
        "command": -0.3686626984126985,
        "movement": -0.2639396380647703,
        "xwoba": 0.379,
        "whiff": 24.1,
        "faced_est_woba": 0.26554733936838626,
        "faced_launch_speed": 83.81281249999999,
        "faced_strikeout_rate": 0.2351851851851852,
        "faced_run_exp": 0.006569135802469128
      }
    }
  },
  "fundamental_edge_target_review": {
    "applied": false,
    "method": "post_score_adjustment_fundamental_edge_review_v1",
    "previous_score": {
      "away_runs": 3,
      "home_runs": 4,
      "winner_side": "home"
    },
    "adjusted_score": {
      "away_runs": 3,
      "home_runs": 4,
      "winner_side": "home"
    },
    "signals": {
      "season_quality_edge_home_minus_away": 0.3128,
      "recent_form_edge_home_minus_away": -0.1017,
      "pitcher_matchup_edge_home_minus_away": 0.0621,
      "composite_home_edge": 0.4632,
      "existing_home_win_probability": 0.505,
      "refreshed_home_win_probability": 0.7,
      "winner_support_before_review": 0.4632
    },
    "reasons": [
      "target direction already matched refreshed fundamentals or margin was not fragile"
    ]
  },
  "confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Matchup recency guardrail cap enforced after calibration. Production confidence governor cap enforced.",
  "pre_simulation_target": {
    "away_runs": 3,
    "home_runs": 4,
    "predicted_score_text": "LAA 3 - 4 HOU",
    "confidence": 0.542074,
    "source": "enhanced_prediction_before_inning_simulation"
  },
  "score_source": "scoring_simulation.final_score",
  "final_prediction_synced": true,
  "final_prediction_source": "stable_final_prediction_policy",
  "simulation_usage": "organic_score_same_winner",
  "simulation_score_matches_prediction": true,
  "simulation_reconciliation": {
    "pre_simulation_score": {
      "away_runs": 3,
      "home_runs": 4,
      "score_text": "LAA 3 - 4 HOU",
      "winner": "HOU"
    },
    "final_simulation_score": {
      "away_runs": 3,
      "home_runs": 4,
      "score_text": "LAA 3 - 4 HOU",
      "winner": "HOU"
    },
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false,
    "sim_flipped_pre_winner": false,
    "sim_flip_trusted": false,
    "sim_flip_policy": "diagnostic_only_unless_independently_supported",
    "independent_margin_support": false,
    "independent_margin_support_evidence": {
      "pitcher_matchup_edge_home_minus_away": 0.0621,
      "recent_form_edge_home_minus_away": -0.1017,
      "winner_direction": "home",
      "thresholds": {
        "pitcher_matchup": 0.35,
        "recent_form": 0.75
      }
    },
    "margin_widening_capped": false,
    "simulation_winner_agrees": true,
    "away_run_delta": 0,
    "home_run_delta": 0,
    "total_run_delta": 0,
    "score_source": "scoring_simulation.final_score",
    "simulation_usage": "organic_score_same_winner",
    "final_prediction_source": "stable_final_prediction_policy",
    "final_decision_policy": {
      "policy_version": "model_winner_simulation_score_v1",
      "away_runs": 3,
      "home_runs": 4,
      "winner": "HOU",
      "model_winner": "HOU",
      "simulation_winner": "HOU",
      "simulation_winner_agrees": true,
      "simulation_score_enabled": true,
      "independent_margin_support": false,
      "margin_widening_capped": false,
      "model_margin": 1,
      "simulation_margin": 1,
      "simulation_usage": "organic_score_same_winner",
      "score_source": "scoring_simulation.final_score",
      "model_score": {
        "away_runs": 3,
        "home_runs": 4
      },
      "simulation_score": {
        "away_runs": 3,
        "home_runs": 4
      }
    },
    "final_margin_quality_review": {
      "review_required": false,
      "pre_margin": 1,
      "final_margin": 1,
      "winner_quality_edge": 0.3128,
      "winner": "HOU",
      "reason": "final margin is directionally supported or within review threshold"
    }
  },
  "decision_profile": {
    "method": "priced_decision_profile_v2",
    "winner": "HOU",
    "display_confidence": 0.5421,
    "internal_signal_score": 0.6081,
    "internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
    "model_pick_probability": 0.5421,
    "confidence_compression_detected": true,
    "moneyline_fit": "unavailable_without_market_price",
    "betting_status": "price_required_before_betting_analysis",
    "market_context": null,
    "margin_fit": "moneyline_preferred_over_margin",
    "totals_fit": "high_volatility_totals",
    "winner_accuracy_and_margin_accuracy_decoupled": true,
    "signals": {
      "final_margin": 1,
      "winner_quality_edge": 0.3128,
      "winner_recent_form_edge": -0.16,
      "winner_pitcher_matchup_edge": 0.0621,
      "winner_simulation_draw_rate": 0.7,
      "blowout_draw_rate_margin_4_plus": 0.2,
      "high_total_draw_rate_11_plus": 0.2,
      "low_total_draw_rate_6_or_less": 0.3,
      "total_runs_spread": {
        "min": 2,
        "median": 7,
        "max": 14,
        "range": 12
      }
    },
    "interpretation": "The internal signal is diagnostic, not a sportsbook fair price. A bet cannot be evaluated without a source-labelled market price; model/market disagreements are a pass until independently validated."
  }
}

Savant Batter Quality

Source: data/all_players_stats.csv embedded Savant hitter features. It adjusts team offense through expected production and contact quality, then records coverage so missing hitters are visible.

TeamAppliedOffense FactorRaw Avg FactorCoverage WeightCoveredMissing
Away LAATrue1.00651.0065190
Home HOUTrue0.99730.9973190

Away Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
LFWade Meckler1440.9834-0.2210neutral0.30400.25300.35403.2032.3086.506.6023.1021.808.90-0.6857
DHMoisés Ballesteros5911.02270.3024positive_batter_regression0.30200.23200.37208.2046.3090.5010.5026.9020.909.600.9429
3BVaughn Grissom3381.01100.1463neutral0.30900.24900.38006.4038.3088.2012.7022.6018.606.800.2857
RFJosh Lowe5301.00620.0831neutral0.29600.22300.40008.6038.9089.101931.3028.207.100.5143
SSZach Neto720.9949-0.0675neutral0.29500.19800.383011.4039.7089.2022.7033.7031.409.50-0.5714
1BNolan Schanuel911.02840.3783neutral0.33600.28700.39002.4033.3087.5012.1016.4013.109.500.1429
CFMike Trout361.11311.5083neutral0.38200.25400.495015.7046.109018.2023.8025.5017.200.6857
2BAdam Frazier2740.9480-0.6928negative_batter_regression0.24200.19400.25701.4015.9084.9014.102628.208.20-1.4286
CTyler Heineman4490.9508-0.6556positive_batter_regression0.24900.22600.27300.9012.8081.5011.6018.80163.301

Home Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
1BLaMonte Wade Jr.3750.9806-0.2589neutral0.29100.20500.29403.2034.9086.6012.70212116-0.8000
DHYordan Alvarez41.15002neutral0.45800.32900.675017.5053.4094.5019.302017.1015.600.7429
LFTaylor Trammell5531.00150.0201neutral0.30200.20000.400012.9037.1088.7013.9040.4032.209.30-0.0857
CFDaulton Varsho2530.9861-0.1852neutral0.28900.23200.3540637.8086.7015.402119.808.400.0571
3BIsaac Paredes591.00630.0844neutral0.32500.25100.37705.3028.608623.5015.4013.609.60-0.5429
2BJose Altuve3260.9524-0.6342negative_batter_regression0.27700.22400.33104.9031.4085.109.6022.4020.208.10-0.9714
RFCam Smith1861.05160.6885neutral0.32800.24600.440011.8045.2089.4011.702924.607.700.7429
SSNick Allen2540.9378-0.8298negative_batter_regression0.23100.20400.25902.2025.8085.2015.2025.6021.105.50-1.3714
CChristian Vázquez2180.9091-1.2120negative_batter_regression0.24300.20000.28002.3023.80861519.8018.907.30-0.9714
Raw Savant Batter Quality JSON
{
  "home": {
    "applied": true,
    "offense_factor": 0.9973,
    "raw_average_factor": 0.9973,
    "team_espn_average_rank": 247.56,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "1B",
        "player_id": "664774",
        "player_name": "LaMonte Wade Jr.",
        "offense_factor": 0.9806,
        "quality_score": -0.2589,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "664774",
          "espn_id": 37798,
          "player_name": "LaMonte Wade Jr.",
          "team": "HOU",
          "role": "batter",
          "espn_rank": 375,
          "espn_total_ranked": 642,
          "metrics": {
            "espn_rank": 375,
            "gp_value": 34.0,
            "gp_rank": 426,
            "ab_value": 84.0,
            "ab_rank": 433,
            "r_value": 11.0,
            "r_rank": 411,
            "h_value": 19.0,
            "h_rank": 427,
            "avg_value": 0.2261904,
            "avg_rank": null,
            "2b_value": 4.0,
            "2b_rank": 390,
            "3b_value": 0.0,
            "3b_rank": 271,
            "hr_value": 2.0,
            "hr_rank": 392,
            "rbi_value": 15.0,
            "rbi_rank": 354,
            "tb_value": 29.0,
            "tb_rank": 2535,
            "bb_value": 16.0,
            "bb_rank": 301,
            "so_value": 21.0,
            "so_rank": 442,
            "sb_value": 0.0,
            "sb_rank": 417,
            "obp_value": 0.35,
            "obp_rank": "-",
            "slg_value": 0.345238,
            "slg_rank": "-",
            "ops_value": 0.695238,
            "ops_rank": null,
            "war_value": 0.07,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 96.0,
          "k_percent": 21.0,
          "bb_percent": 16.0,
          "woba": 0.319,
          "xwoba": 0.291,
          "xba": 0.205,
          "xslg": 0.294,
          "sweet_spot_percent": 28.6,
          "barrel_batted_rate": 3.2,
          "hard_hit_percent": 34.9,
          "exit_velocity_avg": 86.6,
          "launch_angle_avg": 12.7,
          "whiff_percent": 21.0,
          "swing_percent": 38.4
        },
        "components": {
          "expected_quality": -0.5386,
          "regression_edge": -0.8,
          "xwoba_edge": -0.3143,
          "xba_edge": -0.9143,
          "xslg_edge": -1.0571,
          "barrel_edge": -0.8,
          "hard_hit_edge": -0.3929,
          "exit_velocity_edge": -0.8,
          "sweet_spot_edge": -0.7833,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "DH",
        "player_id": "670541",
        "player_name": "Yordan Alvarez",
        "offense_factor": 1.15,
        "quality_score": 2.0,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "670541",
          "espn_id": 36018,
          "player_name": "Yordan Alvarez",
          "team": "HOU",
          "role": "batter",
          "espn_rank": 4,
          "espn_total_ranked": 642,
          "metrics": {
            "espn_rank": 4,
            "gp_value": 125.0,
            "gp_rank": 22,
            "ab_value": 454.0,
            "ab_rank": 50,
            "r_value": 83.0,
            "r_rank": 7,
            "h_value": 144.0,
            "h_rank": 4,
            "avg_value": 0.3171806,
            "avg_rank": 2.0,
            "2b_value": 25.0,
            "2b_rank": 28,
            "3b_value": 0.0,
            "3b_rank": 271,
            "hr_value": 36.0,
            "hr_rank": 2,
            "rbi_value": 88.0,
            "rbi_rank": 5,
            "tb_value": 277.0,
            "tb_rank": 572,
            "bb_value": 86.0,
            "bb_rank": 4,
            "so_value": 95.0,
            "so_rank": 95,
            "sb_value": 1.0,
            "sb_rank": 312,
            "obp_value": 0.430127,
            "obp_rank": "1",
            "slg_value": 0.6101321,
            "slg_rank": "1",
            "ops_value": 1.0402591,
            "ops_rank": 2.0,
            "war_value": 5.47,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 516.0,
          "k_percent": 17.1,
          "bb_percent": 15.6,
          "woba": 0.432,
          "xwoba": 0.458,
          "xba": 0.329,
          "xslg": 0.675,
          "sweet_spot_percent": 41.9,
          "barrel_batted_rate": 17.5,
          "hard_hit_percent": 53.4,
          "exit_velocity_avg": 94.5,
          "launch_angle_avg": 19.3,
          "whiff_percent": 20.0,
          "swing_percent": 42.8
        },
        "components": {
          "expected_quality": 2.369,
          "regression_edge": 0.7429,
          "xwoba_edge": 2.5,
          "xba_edge": 2.5,
          "xslg_edge": 2.5,
          "barrel_edge": 2.3778,
          "hard_hit_edge": 2.25,
          "exit_velocity_edge": 2.36,
          "sweet_spot_edge": 1.4333,
          "launch_angle_hr_bonus": 0.45
        }
      },
      {
        "position": "LF",
        "player_id": "666211",
        "player_name": "Taylor Trammell",
        "offense_factor": 1.0015,
        "quality_score": 0.0201,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "666211",
          "espn_id": 37773,
          "player_name": "Taylor Trammell",
          "team": "HOU",
          "role": "batter",
          "espn_rank": 553,
          "espn_total_ranked": 642,
          "metrics": {
            "espn_rank": 553,
            "gp_value": 69.0,
            "gp_rank": 301,
            "ab_value": 181.0,
            "ab_rank": 309,
            "r_value": 26.0,
            "r_rank": 268,
            "h_value": 39.0,
            "h_rank": 319,
            "avg_value": 0.2154696,
            "avg_rank": null,
            "2b_value": 6.0,
            "2b_rank": 331,
            "3b_value": 2.0,
            "3b_rank": 61,
            "hr_value": 7.0,
            "hr_rank": 219,
            "rbi_value": 20.0,
            "rbi_rank": 317,
            "tb_value": 70.0,
            "tb_rank": 1429,
            "bb_value": 19.0,
            "bb_rank": 261,
            "so_value": 66.0,
            "so_rank": 208,
            "sb_value": 3.0,
            "sb_rank": 220,
            "obp_value": 0.3039215,
            "obp_rank": "-",
            "slg_value": 0.3867403,
            "slg_rank": "-",
            "ops_value": 0.6906618,
            "ops_rank": null,
            "war_value": -0.38,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 198.0,
          "k_percent": 32.2,
          "bb_percent": 9.3,
          "woba": 0.305,
          "xwoba": 0.302,
          "xba": 0.2,
          "xslg": 0.4,
          "sweet_spot_percent": 26.7,
          "barrel_batted_rate": 12.9,
          "hard_hit_percent": 37.1,
          "exit_velocity_avg": 88.7,
          "launch_angle_avg": 13.9,
          "whiff_percent": 40.4,
          "swing_percent": 48.0
        },
        "components": {
          "expected_quality": 0.0399,
          "regression_edge": -0.0857,
          "xwoba_edge": 0.0,
          "xba_edge": -1.0571,
          "xslg_edge": 0.4571,
          "barrel_edge": 1.3556,
          "hard_hit_edge": -0.0786,
          "exit_velocity_edge": 0.04,
          "sweet_spot_edge": -1.1,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "CF",
        "player_id": "662139",
        "player_name": "Daulton Varsho",
        "offense_factor": 0.9861,
        "quality_score": -0.1852,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "662139",
          "espn_id": 40963,
          "player_name": "Daulton Varsho",
          "team": "HOU",
          "role": "batter",
          "espn_rank": 253,
          "espn_total_ranked": 642,
          "metrics": {
            "espn_rank": 253,
            "gp_value": 113.0,
            "gp_rank": 115,
            "ab_value": 381.0,
            "ab_rank": 121,
            "r_value": 42.0,
            "r_rank": 167,
            "h_value": 87.0,
            "h_rank": 140,
            "avg_value": 0.2283464,
            "avg_rank": 125.0,
            "2b_value": 19.0,
            "2b_rank": 101,
            "3b_value": 2.0,
            "3b_rank": 61,
            "hr_value": 8.0,
            "hr_rank": 199,
            "rbi_value": 29.0,
            "rbi_rank": 243,
            "tb_value": 134.0,
            "tb_rank": 960,
            "bb_value": 35.0,
            "bb_rank": 135,
            "so_value": 83.0,
            "so_rank": 136,
            "sb_value": 10.0,
            "sb_rank": 73,
            "obp_value": 0.2959427,
            "obp_rank": "135",
            "slg_value": 0.351706,
            "slg_rank": "142",
            "ops_value": 0.6476487,
            "ops_rank": 7.0,
            "war_value": 0.61,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 408.0,
          "k_percent": 19.8,
          "bb_percent": 8.4,
          "woba": 0.287,
          "xwoba": 0.289,
          "xba": 0.232,
          "xslg": 0.354,
          "sweet_spot_percent": 33.4,
          "barrel_batted_rate": 6.0,
          "hard_hit_percent": 37.8,
          "exit_velocity_avg": 86.7,
          "launch_angle_avg": 15.4,
          "whiff_percent": 21.0,
          "swing_percent": 52.9
        },
        "components": {
          "expected_quality": -0.2246,
          "regression_edge": 0.0571,
          "xwoba_edge": -0.3714,
          "xba_edge": -0.1429,
          "xslg_edge": -0.2,
          "barrel_edge": -0.1778,
          "hard_hit_edge": 0.0214,
          "exit_velocity_edge": -0.76,
          "sweet_spot_edge": 0.0167,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "3B",
        "player_id": "670623",
        "player_name": "Isaac Paredes",
        "offense_factor": 1.0063,
        "quality_score": 0.0844,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "670623",
          "espn_id": 39706,
          "player_name": "Isaac Paredes",
          "team": "HOU",
          "role": "batter",
          "espn_rank": 59,
          "espn_total_ranked": 642,
          "metrics": {
            "espn_rank": 59,
            "gp_value": 120.0,
            "gp_rank": 65,
            "ab_value": 439.0,
            "ab_rank": 74,
            "r_value": 48.0,
            "r_rank": 134,
            "h_value": 114.0,
            "h_rank": 62,
            "avg_value": 0.259681,
            "avg_rank": 66.0,
            "2b_value": 21.0,
            "2b_rank": 71,
            "3b_value": 1.0,
            "3b_rank": 122,
            "hr_value": 16.0,
            "hr_rank": 80,
            "rbi_value": 67.0,
            "rbi_rank": 41,
            "tb_value": 185.0,
            "tb_rank": 617,
            "bb_value": 49.0,
            "bb_rank": 57,
            "so_value": 69.0,
            "so_rank": 193,
            "sb_value": 0.0,
            "sb_rank": 417,
            "obp_value": 0.3536345,
            "obp_rank": "39",
            "slg_value": 0.4214123,
            "slg_rank": "80",
            "ops_value": 0.7750468,
            "ops_rank": 119.0,
            "war_value": 2.83,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 500.0,
          "k_percent": 13.6,
          "bb_percent": 9.6,
          "woba": 0.344,
          "xwoba": 0.325,
          "xba": 0.251,
          "xslg": 0.377,
          "sweet_spot_percent": 39.8,
          "barrel_batted_rate": 5.3,
          "hard_hit_percent": 28.6,
          "exit_velocity_avg": 86.0,
          "launch_angle_avg": 23.5,
          "whiff_percent": 15.4,
          "swing_percent": 43.7
        },
        "components": {
          "expected_quality": 0.1865,
          "regression_edge": -0.5429,
          "xwoba_edge": 0.6571,
          "xba_edge": 0.4,
          "xslg_edge": 0.1286,
          "barrel_edge": -0.3333,
          "hard_hit_edge": -1.2929,
          "exit_velocity_edge": -1.04,
          "sweet_spot_edge": 1.0833,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "2B",
        "player_id": "514888",
        "player_name": "Jose Altuve",
        "offense_factor": 0.9524,
        "quality_score": -0.6342,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "514888",
          "espn_id": 31662,
          "player_name": "Jose Altuve",
          "team": "HOU",
          "role": "batter",
          "espn_rank": 326,
          "espn_total_ranked": 642,
          "metrics": {
            "espn_rank": 326,
            "gp_value": 101.0,
            "gp_rank": 161,
            "ab_value": 390.0,
            "ab_rank": 111,
            "r_value": 56.0,
            "r_rank": 97,
            "h_value": 96.0,
            "h_rank": 115,
            "avg_value": 0.2461538,
            "avg_rank": 91.0,
            "2b_value": 16.0,
            "2b_rank": 143,
            "3b_value": 2.0,
            "3b_rank": 61,
            "hr_value": 13.0,
            "hr_rank": 118,
            "rbi_value": 37.0,
            "rbi_rank": 187,
            "tb_value": 155.0,
            "tb_rank": 734,
            "bb_value": 35.0,
            "bb_rank": 135,
            "so_value": 87.0,
            "so_rank": 118,
            "sb_value": 4.0,
            "sb_rank": 187,
            "obp_value": 0.3100233,
            "obp_rank": "114",
            "slg_value": 0.3974358,
            "slg_rank": "108",
            "ops_value": 0.7074591,
            "ops_rank": 222.0,
            "war_value": 0.23,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 419.0,
          "k_percent": 20.2,
          "bb_percent": 8.1,
          "woba": 0.311,
          "xwoba": 0.277,
          "xba": 0.224,
          "xslg": 0.331,
          "sweet_spot_percent": 32.4,
          "barrel_batted_rate": 4.9,
          "hard_hit_percent": 31.4,
          "exit_velocity_avg": 85.1,
          "launch_angle_avg": 9.6,
          "whiff_percent": 22.4,
          "swing_percent": 47.9
        },
        "components": {
          "expected_quality": -0.5793,
          "regression_edge": -0.9714,
          "xwoba_edge": -0.7143,
          "xba_edge": -0.3714,
          "xslg_edge": -0.5286,
          "barrel_edge": -0.4222,
          "hard_hit_edge": -0.8929,
          "exit_velocity_edge": -1.4,
          "sweet_spot_edge": -0.15,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "RF",
        "player_id": "701358",
        "player_name": "Cam Smith",
        "offense_factor": 1.0516,
        "quality_score": 0.6885,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "701358",
          "espn_id": 5080766,
          "player_name": "Cam Smith",
          "team": "HOU",
          "role": "batter",
          "espn_rank": 186,
          "espn_total_ranked": 642,
          "metrics": {
            "espn_rank": 186,
            "gp_value": 124.0,
            "gp_rank": 27,
            "ab_value": 405.0,
            "ab_rank": 100,
            "r_value": 54.0,
            "r_rank": 104,
            "h_value": 90.0,
            "h_rank": 130,
            "avg_value": 0.2222222,
            "avg_rank": 132.0,
            "2b_value": 15.0,
            "2b_rank": 164,
            "3b_value": 3.0,
            "3b_rank": 26,
            "hr_value": 17.0,
            "hr_rank": 66,
            "rbi_value": 47.0,
            "rbi_rank": 124,
            "tb_value": 162.0,
            "tb_rank": 544,
            "bb_value": 35.0,
            "bb_rank": 135,
            "so_value": 111.0,
            "so_rank": 56,
            "sb_value": 10.0,
            "sb_rank": 73,
            "obp_value": 0.2904656,
            "obp_rank": "141",
            "slg_value": 0.4,
            "slg_rank": "105",
            "ops_value": 0.6904656,
            "ops_rank": 246.0,
            "war_value": 1.07,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 441.0,
          "k_percent": 24.6,
          "bb_percent": 7.7,
          "woba": 0.302,
          "xwoba": 0.328,
          "xba": 0.246,
          "xslg": 0.44,
          "sweet_spot_percent": 29.8,
          "barrel_batted_rate": 11.8,
          "hard_hit_percent": 45.2,
          "exit_velocity_avg": 89.4,
          "launch_angle_avg": 11.7,
          "whiff_percent": 29.0,
          "swing_percent": 48.6
        },
        "components": {
          "expected_quality": 0.6796,
          "regression_edge": 0.7429,
          "xwoba_edge": 0.7429,
          "xba_edge": 0.2571,
          "xslg_edge": 1.0286,
          "barrel_edge": 1.1111,
          "hard_hit_edge": 1.0786,
          "exit_velocity_edge": 0.32,
          "sweet_spot_edge": -0.5833,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "SS",
        "player_id": "669397",
        "player_name": "Nick Allen",
        "offense_factor": 0.9378,
        "quality_score": -0.8298,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "669397",
          "espn_id": 40338,
          "player_name": "Nick Allen",
          "team": "HOU",
          "role": "batter",
          "espn_rank": 254,
          "espn_total_ranked": 642,
          "metrics": {
            "espn_rank": 254,
            "gp_value": 70.0,
            "gp_rank": 295,
            "ab_value": 115.0,
            "ab_rank": 391,
            "r_value": 20.0,
            "r_rank": 322,
            "h_value": 29.0,
            "h_rank": 375,
            "avg_value": 0.2521739,
            "avg_rank": null,
            "2b_value": 4.0,
            "2b_rank": 390,
            "3b_value": 0.0,
            "3b_rank": 271,
            "hr_value": 2.0,
            "hr_rank": 392,
            "rbi_value": 13.0,
            "rbi_rank": 372,
            "tb_value": 39.0,
            "tb_rank": 2483,
            "bb_value": 7.0,
            "bb_rank": 420,
            "so_value": 27.0,
            "so_rank": 407,
            "sb_value": 2.0,
            "sb_rank": 255,
            "obp_value": 0.2936507,
            "obp_rank": "-",
            "slg_value": 0.3391304,
            "slg_rank": "-",
            "ops_value": 0.6327811,
            "ops_rank": null,
            "war_value": 0.59,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 123.0,
          "k_percent": 21.1,
          "bb_percent": 5.5,
          "woba": 0.279,
          "xwoba": 0.231,
          "xba": 0.204,
          "xslg": 0.259,
          "sweet_spot_percent": 23.7,
          "barrel_batted_rate": 2.2,
          "hard_hit_percent": 25.8,
          "exit_velocity_avg": 85.2,
          "launch_angle_avg": 15.2,
          "whiff_percent": 25.6,
          "swing_percent": 46.8
        },
        "components": {
          "expected_quality": -1.5026,
          "regression_edge": -1.3714,
          "xwoba_edge": -2.0286,
          "xba_edge": -0.9429,
          "xslg_edge": -1.5571,
          "barrel_edge": -1.0222,
          "hard_hit_edge": -1.6929,
          "exit_velocity_edge": -1.36,
          "sweet_spot_edge": -1.6,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "C",
        "player_id": "543877",
        "player_name": "Christian Vázquez",
        "offense_factor": 0.9091,
        "quality_score": -1.212,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "543877",
          "espn_id": 31389,
          "player_name": "Christian Vazquez",
          "team": "HOU",
          "role": "batter",
          "espn_rank": 218,
          "espn_total_ranked": 642,
          "metrics": {
            "espn_rank": 218,
            "gp_value": 74.0,
            "gp_rank": 273,
            "ab_value": 210.0,
            "ab_rank": 275,
            "r_value": 21.0,
            "r_rank": 312,
            "h_value": 46.0,
            "h_rank": 286,
            "avg_value": 0.2190476,
            "avg_rank": null,
            "2b_value": 7.0,
            "2b_rank": 305,
            "3b_value": 0.0,
            "3b_rank": 271,
            "hr_value": 7.0,
            "hr_rank": 219,
            "rbi_value": 25.0,
            "rbi_rank": 271,
            "tb_value": 74.0,
            "tb_rank": 1790,
            "bb_value": 17.0,
            "bb_rank": 291,
            "so_value": 44.0,
            "so_rank": 305,
            "sb_value": 1.0,
            "sb_rank": 312,
            "obp_value": 0.2763157,
            "obp_rank": "-",
            "slg_value": 0.3523809,
            "slg_rank": "-",
            "ops_value": 0.6286966,
            "ops_rank": null,
            "war_value": 0.8,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 222.0,
          "k_percent": 18.9,
          "bb_percent": 7.3,
          "woba": 0.277,
          "xwoba": 0.243,
          "xba": 0.2,
          "xslg": 0.28,
          "sweet_spot_percent": 32.0,
          "barrel_batted_rate": 2.3,
          "hard_hit_percent": 23.8,
          "exit_velocity_avg": 86.0,
          "launch_angle_avg": 15.0,
          "whiff_percent": 19.8,
          "swing_percent": 47.2
        },
        "components": {
          "expected_quality": -1.2511,
          "regression_edge": -0.9714,
          "xwoba_edge": -1.6857,
          "xba_edge": -1.0571,
          "xslg_edge": -1.2571,
          "barrel_edge": -1.0,
          "hard_hit_edge": -1.9786,
          "exit_velocity_edge": -1.04,
          "sweet_spot_edge": -0.2167,
          "launch_angle_hr_bonus": 0.0
        }
      }
    ],
    "source": "all_players_stats.csv embedded Savant batter features"
  },
  "away": {
    "applied": true,
    "offense_factor": 1.0065,
    "raw_average_factor": 1.0065,
    "team_espn_average_rank": 280.56,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "LF",
        "player_id": "685133",
        "player_name": "Wade Meckler",
        "offense_factor": 0.9834,
        "quality_score": -0.221,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "685133",
          "espn_id": 4424090,
          "player_name": "Wade Meckler",
          "team": "LAA",
          "role": "batter",
          "espn_rank": 144,
          "espn_total_ranked": 642,
          "metrics": {
            "espn_rank": 144,
            "gp_value": 69.0,
            "gp_rank": 301,
            "ab_value": 203.0,
            "ab_rank": 286,
            "r_value": 26.0,
            "r_rank": 268,
            "h_value": 58.0,
            "h_rank": 241,
            "avg_value": 0.2857142,
            "avg_rank": null,
            "2b_value": 10.0,
            "2b_rank": 247,
            "3b_value": 0.0,
            "3b_rank": 271,
            "hr_value": 3.0,
            "hr_rank": 347,
            "rbi_value": 20.0,
            "rbi_rank": 317,
            "tb_value": 77.0,
            "tb_rank": 2071,
            "bb_value": 20.0,
            "bb_rank": 253,
            "so_value": 49.0,
            "so_rank": 273,
            "sb_value": 5.0,
            "sb_rank": 162,
            "obp_value": 0.3526785,
            "obp_rank": "-",
            "slg_value": 0.3793103,
            "slg_rank": "-",
            "ops_value": 0.7319888,
            "ops_rank": null,
            "war_value": 1.43,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 217.0,
          "k_percent": 21.8,
          "bb_percent": 8.9,
          "woba": 0.328,
          "xwoba": 0.304,
          "xba": 0.253,
          "xslg": 0.354,
          "sweet_spot_percent": 35.5,
          "barrel_batted_rate": 3.2,
          "hard_hit_percent": 32.3,
          "exit_velocity_avg": 86.5,
          "launch_angle_avg": 6.6,
          "whiff_percent": 23.1,
          "swing_percent": 44.9
        },
        "components": {
          "expected_quality": -0.1489,
          "regression_edge": -0.6857,
          "xwoba_edge": 0.0571,
          "xba_edge": 0.4571,
          "xslg_edge": -0.2,
          "barrel_edge": -0.8,
          "hard_hit_edge": -0.7643,
          "exit_velocity_edge": -0.84,
          "sweet_spot_edge": 0.3667,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "DH",
        "player_id": "694208",
        "player_name": "Moisés Ballesteros",
        "offense_factor": 1.0227,
        "quality_score": 0.3024,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "694208",
          "espn_id": 4987418,
          "player_name": "Moises Ballesteros",
          "team": "LAA",
          "role": "batter",
          "espn_rank": 591,
          "espn_total_ranked": 642,
          "metrics": {
            "espn_rank": 591,
            "gp_value": 73.0,
            "gp_rank": 279,
            "ab_value": 206.0,
            "ab_rank": 280,
            "r_value": 17.0,
            "r_rank": 356,
            "h_value": 42.0,
            "h_rank": 303,
            "avg_value": 0.2038834,
            "avg_rank": null,
            "2b_value": 6.0,
            "2b_rank": 331,
            "3b_value": 0.0,
            "3b_rank": 271,
            "hr_value": 6.0,
            "hr_rank": 256,
            "rbi_value": 23.0,
            "rbi_rank": 285,
            "tb_value": 66.0,
            "tb_rank": 1944,
            "bb_value": 22.0,
            "bb_rank": 228,
            "so_value": 48.0,
            "so_rank": 283,
            "sb_value": 1.0,
            "sb_rank": 312,
            "obp_value": 0.2782608,
            "obp_rank": "-",
            "slg_value": 0.3203883,
            "slg_rank": "-",
            "ops_value": 0.5986491,
            "ops_rank": null,
            "war_value": -0.55,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 224.0,
          "k_percent": 20.9,
          "bb_percent": 9.6,
          "woba": 0.269,
          "xwoba": 0.302,
          "xba": 0.232,
          "xslg": 0.372,
          "sweet_spot_percent": 31.9,
          "barrel_batted_rate": 8.2,
          "hard_hit_percent": 46.3,
          "exit_velocity_avg": 90.5,
          "launch_angle_avg": 10.5,
          "whiff_percent": 26.9,
          "swing_percent": 48.8
        },
        "components": {
          "expected_quality": 0.1982,
          "regression_edge": 0.9429,
          "xwoba_edge": 0.0,
          "xba_edge": -0.1429,
          "xslg_edge": 0.0571,
          "barrel_edge": 0.3111,
          "hard_hit_edge": 1.2357,
          "exit_velocity_edge": 0.76,
          "sweet_spot_edge": -0.2333,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "3B",
        "player_id": "687093",
        "player_name": "Vaughn Grissom",
        "offense_factor": 1.011,
        "quality_score": 0.1463,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "687093",
          "espn_id": 42503,
          "player_name": "Vaughn Grissom",
          "team": "LAA",
          "role": "batter",
          "espn_rank": 338,
          "espn_total_ranked": 642,
          "metrics": {
            "espn_rank": 338,
            "gp_value": 84.0,
            "gp_rank": 233,
            "ab_value": 291.0,
            "ab_rank": 198,
            "r_value": 32.0,
            "r_rank": 229,
            "h_value": 71.0,
            "h_rank": 190,
            "avg_value": 0.2439862,
            "avg_rank": null,
            "2b_value": 16.0,
            "2b_rank": 143,
            "3b_value": 0.0,
            "3b_rank": 271,
            "hr_value": 7.0,
            "hr_rank": 219,
            "rbi_value": 47.0,
            "rbi_rank": 124,
            "tb_value": 108.0,
            "tb_rank": 1532,
            "bb_value": 22.0,
            "bb_rank": 228,
            "so_value": 60.0,
            "so_rank": 234,
            "sb_value": 1.0,
            "sb_rank": 312,
            "obp_value": 0.3043478,
            "obp_rank": "-",
            "slg_value": 0.371134,
            "slg_rank": "-",
            "ops_value": 0.6754818,
            "ops_rank": null,
            "war_value": 0.19,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 312.0,
          "k_percent": 18.6,
          "bb_percent": 6.8,
          "woba": 0.299,
          "xwoba": 0.309,
          "xba": 0.249,
          "xslg": 0.38,
          "sweet_spot_percent": 32.8,
          "barrel_batted_rate": 6.4,
          "hard_hit_percent": 38.3,
          "exit_velocity_avg": 88.2,
          "launch_angle_avg": 12.7,
          "whiff_percent": 22.6,
          "swing_percent": 48.9
        },
        "components": {
          "expected_quality": 0.1236,
          "regression_edge": 0.2857,
          "xwoba_edge": 0.2,
          "xba_edge": 0.3429,
          "xslg_edge": 0.1714,
          "barrel_edge": -0.0889,
          "hard_hit_edge": 0.0929,
          "exit_velocity_edge": -0.16,
          "sweet_spot_edge": -0.0833,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "RF",
        "player_id": "666139",
        "player_name": "Josh Lowe",
        "offense_factor": 1.0062,
        "quality_score": 0.0831,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "666139",
          "espn_id": 40557,
          "player_name": "Josh Lowe",
          "team": "LAA",
          "role": "batter",
          "espn_rank": 530,
          "espn_total_ranked": 642,
          "metrics": {
            "espn_rank": 530,
            "gp_value": 83.0,
            "gp_rank": 237,
            "ab_value": 230.0,
            "ab_rank": 256,
            "r_value": 22.0,
            "r_rank": 306,
            "h_value": 48.0,
            "h_rank": 276,
            "avg_value": 0.2086956,
            "avg_rank": null,
            "2b_value": 6.0,
            "2b_rank": 331,
            "3b_value": 0.0,
            "3b_rank": 271,
            "hr_value": 10.0,
            "hr_rank": 160,
            "rbi_value": 26.0,
            "rbi_rank": 266,
            "tb_value": 84.0,
            "tb_rank": 1629,
            "bb_value": 18.0,
            "bb_rank": 277,
            "so_value": 71.0,
            "so_rank": 176,
            "sb_value": 4.0,
            "sb_rank": 187,
            "obp_value": 0.268,
            "obp_rank": "-",
            "slg_value": 0.3652173,
            "slg_rank": "-",
            "ops_value": 0.6332173,
            "ops_rank": null,
            "war_value": -0.27,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 241.0,
          "k_percent": 28.2,
          "bb_percent": 7.1,
          "woba": 0.278,
          "xwoba": 0.296,
          "xba": 0.223,
          "xslg": 0.4,
          "sweet_spot_percent": 30.2,
          "barrel_batted_rate": 8.6,
          "hard_hit_percent": 38.9,
          "exit_velocity_avg": 89.1,
          "launch_angle_avg": 19.0,
          "whiff_percent": 31.3,
          "swing_percent": 57.0
        },
        "components": {
          "expected_quality": 0.0129,
          "regression_edge": 0.5143,
          "xwoba_edge": -0.1714,
          "xba_edge": -0.4,
          "xslg_edge": 0.4571,
          "barrel_edge": 0.4,
          "hard_hit_edge": 0.1786,
          "exit_velocity_edge": 0.2,
          "sweet_spot_edge": -0.5167,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "SS",
        "player_id": "687263",
        "player_name": "Zach Neto",
        "offense_factor": 0.9949,
        "quality_score": -0.0675,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "687263",
          "espn_id": 4666100,
          "player_name": "Zach Neto",
          "team": "LAA",
          "role": "batter",
          "espn_rank": 72,
          "espn_total_ranked": 642,
          "metrics": {
            "espn_rank": 72,
            "gp_value": 123.0,
            "gp_rank": 38,
            "ab_value": 487.0,
            "ab_rank": 10,
            "r_value": 76.0,
            "r_rank": 21,
            "h_value": 109.0,
            "h_rank": 79,
            "avg_value": 0.2238193,
            "avg_rank": 129.0,
            "2b_value": 24.0,
            "2b_rank": 40,
            "3b_value": 3.0,
            "3b_rank": 26,
            "hr_value": 20.0,
            "hr_rank": 43,
            "rbi_value": 54.0,
            "rbi_rank": 85,
            "tb_value": 199.0,
            "tb_rank": 300,
            "bb_value": 52.0,
            "bb_rank": 47,
            "so_value": 172.0,
            "so_rank": 2,
            "sb_value": 17.0,
            "sb_rank": 30,
            "obp_value": 0.3083941,
            "obp_rank": "117",
            "slg_value": 0.4086242,
            "slg_rank": "91",
            "ops_value": 0.7170183,
            "ops_rank": 26.0,
            "war_value": 2.43,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 535.0,
          "k_percent": 31.4,
          "bb_percent": 9.5,
          "woba": 0.315,
          "xwoba": 0.295,
          "xba": 0.198,
          "xslg": 0.383,
          "sweet_spot_percent": 34.2,
          "barrel_batted_rate": 11.4,
          "hard_hit_percent": 39.7,
          "exit_velocity_avg": 89.2,
          "launch_angle_avg": 22.7,
          "whiff_percent": 33.7,
          "swing_percent": 51.6
        },
        "components": {
          "expected_quality": 0.0146,
          "regression_edge": -0.5714,
          "xwoba_edge": -0.2,
          "xba_edge": -1.1143,
          "xslg_edge": 0.2143,
          "barrel_edge": 1.0222,
          "hard_hit_edge": 0.2929,
          "exit_velocity_edge": 0.24,
          "sweet_spot_edge": 0.15,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "1B",
        "player_id": "694384",
        "player_name": "Nolan Schanuel",
        "offense_factor": 1.0284,
        "quality_score": 0.3783,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "694384",
          "espn_id": 4739755,
          "player_name": "Nolan Schanuel",
          "team": "LAA",
          "role": "batter",
          "espn_rank": 91,
          "espn_total_ranked": 642,
          "metrics": {
            "espn_rank": 91,
            "gp_value": 106.0,
            "gp_rank": 143,
            "ab_value": 388.0,
            "ab_rank": 112,
            "r_value": 42.0,
            "r_rank": 167,
            "h_value": 108.0,
            "h_rank": 82,
            "avg_value": 0.2783505,
            "avg_rank": 31.0,
            "2b_value": 22.0,
            "2b_rank": 60,
            "3b_value": 0.0,
            "3b_rank": 271,
            "hr_value": 7.0,
            "hr_rank": 219,
            "rbi_value": 48.0,
            "rbi_rank": 118,
            "tb_value": 151.0,
            "tb_rank": 1341,
            "bb_value": 42.0,
            "bb_rank": 89,
            "so_value": 58.0,
            "so_rank": 242,
            "sb_value": 1.0,
            "sb_rank": 312,
            "obp_value": 0.3537414,
            "obp_rank": "39",
            "slg_value": 0.3891752,
            "slg_rank": "112",
            "ops_value": 0.7429166,
            "ops_rank": 73.0,
            "war_value": 2.1,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 429.0,
          "k_percent": 13.1,
          "bb_percent": 9.5,
          "woba": 0.331,
          "xwoba": 0.336,
          "xba": 0.287,
          "xslg": 0.39,
          "sweet_spot_percent": 36.6,
          "barrel_batted_rate": 2.4,
          "hard_hit_percent": 33.3,
          "exit_velocity_avg": 87.5,
          "launch_angle_avg": 12.1,
          "whiff_percent": 16.4,
          "swing_percent": 44.4
        },
        "components": {
          "expected_quality": 0.4166,
          "regression_edge": 0.1429,
          "xwoba_edge": 0.9714,
          "xba_edge": 1.4286,
          "xslg_edge": 0.3143,
          "barrel_edge": -0.9778,
          "hard_hit_edge": -0.6214,
          "exit_velocity_edge": -0.44,
          "sweet_spot_edge": 0.55,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "CF",
        "player_id": "545361",
        "player_name": "Mike Trout",
        "offense_factor": 1.1131,
        "quality_score": 1.5083,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "545361",
          "espn_id": 30836,
          "player_name": "Mike Trout",
          "team": "LAA",
          "role": "batter",
          "espn_rank": 36,
          "espn_total_ranked": 642,
          "metrics": {
            "espn_rank": 36,
            "gp_value": 108.0,
            "gp_rank": 136,
            "ab_value": 391.0,
            "ab_rank": 110,
            "r_value": 69.0,
            "r_rank": 38,
            "h_value": 94.0,
            "h_rank": 119,
            "avg_value": 0.2404092,
            "avg_rank": 106.0,
            "2b_value": 17.0,
            "2b_rank": 128,
            "3b_value": 0.0,
            "3b_rank": 271,
            "hr_value": 20.0,
            "hr_rank": 43,
            "rbi_value": 45.0,
            "rbi_rank": 140,
            "tb_value": 171.0,
            "tb_rank": 918,
            "bb_value": 83.0,
            "bb_rank": 5,
            "so_value": 123.0,
            "so_rank": 40,
            "sb_value": 10.0,
            "sb_rank": 73,
            "obp_value": 0.3817427,
            "obp_rank": "9",
            "slg_value": 0.4373401,
            "slg_rank": "62",
            "ops_value": 0.8190828,
            "ops_rank": 71.0,
            "war_value": 3.42,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 460.0,
          "k_percent": 25.5,
          "bb_percent": 17.2,
          "woba": 0.358,
          "xwoba": 0.382,
          "xba": 0.254,
          "xslg": 0.495,
          "sweet_spot_percent": 35.3,
          "barrel_batted_rate": 15.7,
          "hard_hit_percent": 46.1,
          "exit_velocity_avg": 90.0,
          "launch_angle_avg": 18.2,
          "whiff_percent": 23.8,
          "swing_percent": 40.0
        },
        "components": {
          "expected_quality": 1.6422,
          "regression_edge": 0.6857,
          "xwoba_edge": 2.2857,
          "xba_edge": 0.4857,
          "xslg_edge": 1.8143,
          "barrel_edge": 1.9778,
          "hard_hit_edge": 1.2071,
          "exit_velocity_edge": 0.56,
          "sweet_spot_edge": 0.3333,
          "launch_angle_hr_bonus": 0.45
        }
      },
      {
        "position": "2B",
        "player_id": "624428",
        "player_name": "Adam Frazier",
        "offense_factor": 0.948,
        "quality_score": -0.6928,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "624428",
          "espn_id": 33546,
          "player_name": "Adam Frazier",
          "team": "LAA",
          "role": "batter",
          "espn_rank": 274,
          "espn_total_ranked": 642,
          "metrics": {
            "espn_rank": 274,
            "gp_value": 48.0,
            "gp_rank": 380,
            "ab_value": 98.0,
            "ab_rank": 416,
            "r_value": 16.0,
            "r_rank": 362,
            "h_value": 23.0,
            "h_rank": 397,
            "avg_value": 0.2346938,
            "avg_rank": null,
            "2b_value": 6.0,
            "2b_rank": 331,
            "3b_value": 1.0,
            "3b_rank": 122,
            "hr_value": 1.0,
            "hr_rank": 444,
            "rbi_value": 8.0,
            "rbi_rank": 433,
            "tb_value": 34.0,
            "tb_rank": 2304,
            "bb_value": 9.0,
            "bb_rank": 387,
            "so_value": 31.0,
            "so_rank": 380,
            "sb_value": 2.0,
            "sb_rank": 255,
            "obp_value": 0.3055555,
            "obp_rank": "-",
            "slg_value": 0.3469387,
            "slg_rank": "-",
            "ops_value": 0.6524942,
            "ops_rank": null,
            "war_value": 0.48,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 104.0,
          "k_percent": 28.2,
          "bb_percent": 8.2,
          "woba": 0.292,
          "xwoba": 0.242,
          "xba": 0.194,
          "xslg": 0.257,
          "sweet_spot_percent": 30.4,
          "barrel_batted_rate": 1.4,
          "hard_hit_percent": 15.9,
          "exit_velocity_avg": 84.9,
          "launch_angle_avg": 14.1,
          "whiff_percent": 26.0,
          "swing_percent": 53.0
        },
        "components": {
          "expected_quality": -1.4717,
          "regression_edge": -1.4286,
          "xwoba_edge": -1.7143,
          "xba_edge": -1.2286,
          "xslg_edge": -1.5857,
          "barrel_edge": -1.2,
          "hard_hit_edge": -2.5,
          "exit_velocity_edge": -1.48,
          "sweet_spot_edge": -0.4833,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "C",
        "player_id": "623168",
        "player_name": "Tyler Heineman",
        "offense_factor": 0.9508,
        "quality_score": -0.6556,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "623168",
          "espn_id": 33142,
          "player_name": "Tyler Heineman",
          "team": "LAA",
          "role": "batter",
          "espn_rank": 449,
          "espn_total_ranked": 642,
          "metrics": {
            "espn_rank": 449,
            "gp_value": 55.0,
            "gp_rank": 356,
            "ab_value": 133.0,
            "ab_rank": 367,
            "r_value": 11.0,
            "r_rank": 411,
            "h_value": 24.0,
            "h_rank": 392,
            "avg_value": 0.1804511,
            "avg_rank": null,
            "2b_value": 2.0,
            "2b_rank": 460,
            "3b_value": 1.0,
            "3b_rank": 122,
            "hr_value": 1.0,
            "hr_rank": 444,
            "rbi_value": 8.0,
            "rbi_rank": 433,
            "tb_value": 31.0,
            "tb_rank": 2428,
            "bb_value": 5.0,
            "bb_rank": 447,
            "so_value": 24.0,
            "so_rank": 422,
            "sb_value": 1.0,
            "sb_rank": 312,
            "obp_value": 0.2323943,
            "obp_rank": "-",
            "slg_value": 0.2330827,
            "slg_rank": "-",
            "ops_value": 0.465477,
            "ops_rank": null,
            "war_value": -0.07,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 138.0,
          "k_percent": 16.0,
          "bb_percent": 3.3,
          "woba": 0.214,
          "xwoba": 0.249,
          "xba": 0.226,
          "xslg": 0.273,
          "sweet_spot_percent": 24.8,
          "barrel_batted_rate": 0.9,
          "hard_hit_percent": 12.8,
          "exit_velocity_avg": 81.5,
          "launch_angle_avg": 11.6,
          "whiff_percent": 18.8,
          "swing_percent": 55.3
        },
        "components": {
          "expected_quality": -1.3782,
          "regression_edge": 1.0,
          "xwoba_edge": -1.5143,
          "xba_edge": -0.3143,
          "xslg_edge": -1.3571,
          "barrel_edge": -1.3111,
          "hard_hit_edge": -2.5,
          "exit_velocity_edge": -2.5,
          "sweet_spot_edge": -1.4167,
          "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 LAATrue812-0.85420.96801.07260.98341.02521.1818neutral0.37900.374020.3010.3024.1010.9048.60
Home HOUTrue140.307510.97391.01091.00600.9579neutral0.28400.282023.709.3025.606.5036.30

Pitch Movement And Arsenal

TeamPitcherMovement AvailablePrimary PitchPitchesVeloSpinAxisHBIVBDropRel XRel ZExtensionArm AngleMovement Score
Away LAATrueNone8989.91219800000000-0.0005
Home HOUTrueNone9289.35221800000000-0.0315
Run FactorValue
away_runs_vs_home_pitcher0.9739
home_runs_vs_away_pitcher1.0703
home_pitcher_quality_edge1.1617
Raw Savant Pitcher Quality JSON
{
  "applied": true,
  "home_pitcher": {
    "available": true,
    "pitcher_id": "663567",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 472.0,
      "k_percent": 23.7,
      "bb_percent": 9.3,
      "woba": 0.282,
      "xwoba": 0.284,
      "sweet_spot_percent": 30.1,
      "barrel_batted_rate": 6.5,
      "hard_hit_percent": 36.3,
      "avg_best_speed": 78.5243,
      "avg_hyper_speed": 93.5957,
      "whiff_percent": 25.6,
      "swing_percent": 48.4
    },
    "league_medians": {
      "pa": 124.0,
      "k_percent": 22.1,
      "bb_percent": 9.0,
      "woba": 0.315,
      "xwoba": 0.312,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.1,
      "hard_hit_percent": 37.6,
      "avg_best_speed": 77.5616,
      "avg_hyper_speed": 93.8797,
      "whiff_percent": 25.3,
      "swing_percent": 47.5
    },
    "components": {
      "contact_quality": 0.516,
      "command_and_miss": 0.1029,
      "regression_edge": -0.0571,
      "xwoba_edge": 0.8,
      "barrel_edge": 0.1333,
      "hard_hit_edge": 0.1857,
      "whiff_edge": 0.0429,
      "bb_edge": -0.075,
      "pitch_design_score": -0.0315
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "663567",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 92,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 92,
        "pitch_usage": 0.0,
        "release_speed": 89.3513060152988,
        "release_spin_rate": 2218.0155307207833,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 92,
          "pitch_usage": 0.0,
          "release_speed": 89.3513060152988,
          "release_spin_rate": 2218.0155307207833,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.3513,
        "release_spin_rate": 2218.0155,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": -0.0315,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": -0.2247,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -0.0
      },
      "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.3075,
    "sample_weight": 1.0,
    "run_prevention_factor": 0.9739,
    "strikeout_factor": 1.0109,
    "walk_factor": 1.006,
    "homer_factor": 0.9579,
    "woba_minus_xwoba": -0.002,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": true,
      "player_id": "663567",
      "espn_id": 39898,
      "player_name": "Peter Lambert",
      "team": "HOU",
      "role": "pitcher",
      "espn_rank": 14,
      "espn_total_ranked": 819,
      "metrics": {
        "espn_rank": 14,
        "gp_value": 21.0,
        "gp_rank": 340,
        "gs_value": 21.0,
        "gs_rank": 75,
        "qs_value": 8.0,
        "qs_rank": 65,
        "era_value": 3.1095,
        "era_rank": null,
        "w_value": 8.0,
        "w_rank": 43,
        "l_value": 6.0,
        "l_rank": 92,
        "sv_value": 0.0,
        "sv_rank": 239,
        "hld_value": 0.0,
        "hld_rank": 323,
        "ip_value": 118.2,
        "ip_rank": 75,
        "h_value": 91.0,
        "h_rank": 105,
        "er_value": 41.0,
        "er_rank": 123,
        "hr_value": 12.0,
        "hr_rank": 111,
        "bb_value": 46.0,
        "bb_rank": 31,
        "k_value": 117.0,
        "k_rank": 50,
        "k_per_9_value": 8.873595,
        "k_per_9_rank": 18.0,
        "whip_value": 1.1544,
        "whip_rank": null,
        "war_value": 3.47,
        "war_rank": null
      },
      "source": "espn_statistics_byathlete"
    }
  },
  "away_pitcher": {
    "available": true,
    "pitcher_id": "680570",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 242.0,
      "k_percent": 20.3,
      "bb_percent": 10.3,
      "woba": 0.374,
      "xwoba": 0.379,
      "sweet_spot_percent": 40.4,
      "barrel_batted_rate": 10.9,
      "hard_hit_percent": 48.6,
      "avg_best_speed": 80.1135,
      "avg_hyper_speed": 95.4595,
      "whiff_percent": 24.1,
      "swing_percent": 48.3
    },
    "league_medians": {
      "pa": 124.0,
      "k_percent": 22.1,
      "bb_percent": 9.0,
      "woba": 0.315,
      "xwoba": 0.312,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.1,
      "hard_hit_percent": 37.6,
      "avg_best_speed": 77.5616,
      "avg_hyper_speed": 93.8797,
      "whiff_percent": 25.3,
      "swing_percent": 47.5
    },
    "components": {
      "contact_quality": -1.4385,
      "command_and_miss": -0.2407,
      "regression_edge": -0.1429,
      "xwoba_edge": -1.9143,
      "barrel_edge": -0.8444,
      "hard_hit_edge": -1.5714,
      "whiff_edge": -0.1714,
      "bb_edge": -0.325,
      "pitch_design_score": -0.0005
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "680570",
      "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": 89.90501052935554,
        "release_spin_rate": 2198.380494927671,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_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": 89.90501052935554,
          "release_spin_rate": 2198.380494927671,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.905,
        "release_spin_rate": 2198.3805,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": -0.0005,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": -0.0032,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -0.0
      },
      "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.8542,
    "sample_weight": 0.968,
    "run_prevention_factor": 1.0726,
    "strikeout_factor": 0.9834,
    "walk_factor": 1.0252,
    "homer_factor": 1.1818,
    "woba_minus_xwoba": -0.005,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": true,
      "player_id": "680570",
      "espn_id": 41196,
      "player_name": "Grayson Rodriguez",
      "team": "LAA",
      "role": "pitcher",
      "espn_rank": 812,
      "espn_total_ranked": 819,
      "metrics": {
        "espn_rank": 812,
        "gp_value": 13.0,
        "gp_rank": 456,
        "gs_value": 13.0,
        "gs_rank": 140,
        "qs_value": 1.0,
        "qs_rank": 171,
        "era_value": 7.1694,
        "era_rank": null,
        "w_value": 3.0,
        "w_rank": 220,
        "l_value": 5.0,
        "l_rank": 118,
        "sv_value": 0.0,
        "sv_rank": 239,
        "hld_value": 0.0,
        "hld_rank": 323,
        "ip_value": 59.0,
        "ip_rank": 192,
        "h_value": 66.0,
        "h_rank": 156,
        "er_value": 47.0,
        "er_rank": 92,
        "hr_value": 10.0,
        "hr_rank": 142,
        "bb_value": 28.0,
        "bb_rank": 152,
        "k_value": 55.0,
        "k_rank": 218,
        "k_per_9_value": 8.389831,
        "k_per_9_rank": 30.0,
        "whip_value": 1.5932,
        "whip_rank": null,
        "war_value": -1.26,
        "war_rank": null
      },
      "source": "espn_statistics_byathlete"
    }
  },
  "run_factors": {
    "away_runs_vs_home_pitcher": 0.9739,
    "home_runs_vs_away_pitcher": 1.0703,
    "home_pitcher_quality_edge": 1.1617
  },
  "score_before": {
    "away_runs": 2.376,
    "home_runs": 3.5814
  },
  "score_after": {
    "away_runs": 2.314,
    "home_runs": 3.8331,
    "home_win_probability": 0.65
  },
  "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 LAA5-50.5003.103.40-31Lcoldstrong
Home HOU4-60.4003.404.30-91Wcoldaverage

Season Run Differential

TeamRecordWin %Run DiffRD/GameAvailable
Away LAA50-760.397-84-0.667True
Home HOU63-630.500-32-0.254True
Signal--0.4130.313applied=False

Recent Head-to-Head

DateMatchupScoreWinnerMarginType
2026-08-19LAA @ HOU2 - 3HOU1close
2026-08-18LAA @ HOU3 - 1LAA2close
2026-07-29HOU @ LAA7 - 4HOU3blowout
2026-07-28HOU @ LAA3 - 2HOU1close
2026-07-27HOU @ LAA6 - 4HOU2close

Player/Game Reconciliation

LayerABHRHRRBIBBSO
Game target LAA--3----
Game target HOU--4----
Player finalized LAA329203110
Player finalized HOU33920318
Player model fractional LAA30.246.803.410.723.152.837.49
Player model fractional HOU30.126.833.811.193.793.086.88
Simulation box LAA33631307
Simulation box HOU32840416

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 LAAStarterGrayson Rodriguez4.2044615.901.43True
Away LAAMiddle RelieverSamy Natera Jr.1.1001002.831.01True
Away LAAMiddle RelieverBen Joyce201103.631.12True
Away LAAMiddle RelieverJosé Fermin000104.251.53True
Home HOUStarterPeter Lambert5.2036503.431.26True
Home HOUMiddle RelieverBryan Abreu1.1000003.521.21True
Home HOUMiddle RelieverJosh Hader100002.070.94True
Home HOUMiddle RelieverSteven Okert101102.020.93True
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
homeHOUbatter3BIsaac Paredesworse114738predicted_SO2.4200boostworse
homeHOUbatterRFCam Smithworse82626predicted_AB-1.5220deboostworse
homeHOUbatter1BLaMonte Wade Jr.better105564predicted_H1.4060boostbetter
awayLAAbatterSSZach Netoworse93645predicted_SO-1.3980deboostbetter
homeHOUbatterDHYordan Alvarezbetter105564predicted_RBI1.3600boostbetter
awayLAAbatterDHMoisés Ballesterosworse103728predicted_SO1.3330boostworse
homeHOUbatterLFTaylor Trammellworse101919predicted_AB1.1720boostbetter
awayLAApitcherStarterGrayson Rodriguezneutral21111predicted_SO1.0000boostbetter
awayLAApitcherMiddle RelieverBen Joycebetter11010predicted_IP1.0000boostbetter
awayLAApitcherMiddle RelieverJosé Ferminworse20202predicted_SO-1.0000deboostworse
awayLAAbatter1BNolan Schanuelbetter96372predicted_H0.9600boostbetter
homeHOUbatterSSNick Allenbetter105564predicted_2B0.9130boostbetter
awayLAAbatter3BVaughn Grissomworse1129110predicted_H-0.8770deboostworse
awayLAAbatterRFJosh Lowebetter108273predicted_HR0.8720boostbetter
homeHOUbatter2BJose Altuveworse92736predicted_SO-0.8700deboostbetter
awayLAAbatterLFWade Mecklerworse103728predicted_AB0.8280boostbetter
homeHOUbatterCFDaulton Varshoworse113847predicted_2B0.8190boostbetter
awayLAAbatterCFMike Troutworse1001019predicted_BB-0.7690deboostworse
homeHOUbatterCChristian Vázquezworse115647predicted_R0.7080boostbetter
awayLAAbatter2BAdam Frazierworse102819predicted_AB0.5000boostbetter
awayLAAbatterCTyler Heinemanworse102837predicted_SO-0.4800deboostbetter
homeHOUpitcherStarterPeter Lambertworse10101predicted_IP-0.4667deboostworse
awayLAApitcherMiddle RelieverSamy Natera Jr.worse10101predicted_IP-0.2333deboostworse
homeHOUpitcherMiddle RelieverBryan Abreubetter11010predicted_IP0.1000boostbetter

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

Away Team: LAA

Away Pitcher Deep Analysis

FieldValue
PitcherGrayson Rodriguez
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.8542
ESPN Rank812
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0005
Avg Velo89.9050
Avg Spin2198.3805
HB Inches0
IVB Inches0
Release Extension0
Pre IP4.2000
Pre ER4
Pre H6
Pre BB1
Pre SO4
Season ERA7.1695
Season WHIP1.5932
Role Avg IP4.5380
Recent Avg IP4.8000
Last Start IP4
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "LAA",
    "games": 134,
    "wins": 55,
    "losses": 79,
    "win_pct": 0.4104,
    "runs_scored": 546.0,
    "runs_allowed": 630.0,
    "run_differential": -84.0,
    "run_differential_per_game": -0.6269,
    "avg_runs_scored": 4.0746,
    "avg_runs_allowed": 4.7015,
    "offense_index": 0.9068,
    "defense_index": 0.9557,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 3.1,
      "avg_runs_allowed": 3.4,
      "run_differential": -3.0
    },
    "available": true,
    "quality_score": -0.1529
  },
  "opponent": {
    "team": "HOU",
    "games": 135,
    "wins": 67,
    "losses": 68,
    "win_pct": 0.4963,
    "runs_scored": 611.0,
    "runs_allowed": 642.0,
    "run_differential": -31.0,
    "run_differential_per_game": -0.2296,
    "avg_runs_scored": 4.5259,
    "avg_runs_allowed": 4.7556,
    "offense_index": 1.0073,
    "defense_index": 0.9449,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 3.4,
      "avg_runs_allowed": 4.3,
      "run_differential": -9.0
    },
    "available": true,
    "quality_score": -0.0662
  },
  "edges": {
    "quality_edge": -0.0867,
    "offense_edge": -0.0932,
    "opponent_offense_edge": 0.0073,
    "defense_strength": -0.0443,
    "opponent_defense_weakness": 0.0551,
    "recent_win_pct_edge": 0.1
  },
  "player_factors": {
    "ip": 0.9949,
    "run_prevention": 1.0099,
    "strikeout": 0.9968
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "680570",
    "profile": {
      "available": true,
      "pitcher_id": "680570",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 242.0,
        "k_percent": 20.3,
        "bb_percent": 10.3,
        "woba": 0.374,
        "xwoba": 0.379,
        "sweet_spot_percent": 40.4,
        "barrel_batted_rate": 10.9,
        "hard_hit_percent": 48.6,
        "avg_best_speed": 80.1135,
        "avg_hyper_speed": 95.4595,
        "whiff_percent": 24.1,
        "swing_percent": 48.3
      },
      "league_medians": {
        "pa": 124.0,
        "k_percent": 22.1,
        "bb_percent": 9.0,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.6,
        "avg_best_speed": 77.5616,
        "avg_hyper_speed": 93.8797,
        "whiff_percent": 25.3,
        "swing_percent": 47.5
      },
      "components": {
        "contact_quality": -1.4385,
        "command_and_miss": -0.2407,
        "regression_edge": -0.1429,
        "xwoba_edge": -1.9143,
        "barrel_edge": -0.8444,
        "hard_hit_edge": -1.5714,
        "whiff_edge": -0.1714,
        "bb_edge": -0.325,
        "pitch_design_score": -0.0005
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "680570",
        "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": 89.90501052935554,
          "release_spin_rate": 2198.380494927671,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 89.90501052935554,
            "release_spin_rate": 2198.380494927671,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.905,
          "release_spin_rate": 2198.3805,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.0005,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.0032,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "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.8542,
      "sample_weight": 0.968,
      "run_prevention_factor": 1.0726,
      "strikeout_factor": 0.9834,
      "walk_factor": 1.0252,
      "homer_factor": 1.1818,
      "woba_minus_xwoba": -0.005,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "680570",
        "espn_id": 41196,
        "player_name": "Grayson Rodriguez",
        "team": "LAA",
        "role": "pitcher",
        "espn_rank": 812,
        "espn_total_ranked": 819,
        "metrics": {
          "espn_rank": 812,
          "gp_value": 13.0,
          "gp_rank": 456,
          "gs_value": 13.0,
          "gs_rank": 140,
          "qs_value": 1.0,
          "qs_rank": 171,
          "era_value": 7.1694,
          "era_rank": null,
          "w_value": 3.0,
          "w_rank": 220,
          "l_value": 5.0,
          "l_rank": 118,
          "sv_value": 0.0,
          "sv_rank": 239,
          "hld_value": 0.0,
          "hld_rank": 323,
          "ip_value": 59.0,
          "ip_rank": 192,
          "h_value": 66.0,
          "h_rank": 156,
          "er_value": 47.0,
          "er_rank": 92,
          "hr_value": 10.0,
          "hr_rank": 142,
          "bb_value": 28.0,
          "bb_rank": 152,
          "k_value": 55.0,
          "k_rank": 218,
          "k_per_9_value": 8.389831,
          "k_per_9_rank": 30.0,
          "whip_value": 1.5932,
          "whip_rank": null,
          "war_value": -1.26,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 3.0,
        "factor": 1.0703,
        "adjusted": 3
      },
      "predicted_H": {
        "original": 5.0,
        "factor": 1.0703,
        "adjusted": 5
      },
      "predicted_BB": {
        "original": 2.0,
        "factor": 1.0244,
        "adjusted": 2
      },
      "predicted_HR": {
        "original": 1.0,
        "factor": 1.176,
        "adjusted": 1
      },
      "predicted_SO": {
        "original": 5.0,
        "factor": 0.9839,
        "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": 44.2,
    "ER": 35,
    "H": 50,
    "BB": 20,
    "SO": 41,
    "HR": 8,
    "ERA": 7.052238805970149,
    "WHIP": 1.5671641791044777,
    "K9": 8.261194029850747,
    "HR9": 1.6119402985074627,
    "games_pitched": 10,
    "quality_starts": 1,
    "dominant_form": false,
    "struggling_form": true
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-14T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "680570",
  "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": 89.90501052935554,
    "release_spin_rate": 2198.380494927671,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 89.90501052935554,
      "release_spin_rate": 2198.380494927671,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.905,
    "release_spin_rate": 2198.3805,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0005,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.0032,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 13.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7222,
    "prior_weight": 0.2778
  },
  "role": "pitcher",
  "player_id": "680570",
  "report_date": "20260820",
  "season_year": 2026,
  "rows_used": 13,
  "reference_playing_time": 4.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 24.0,
        "ER": 15.0,
        "R": 16.0,
        "H": 21.0,
        "BB": 11.0,
        "SO": 28.0,
        "HR": 5.0,
        "BF": 103.0,
        "Pitches": 448.0
      },
      "per_game": {
        "IP": 4.2,
        "ER": 3.0,
        "R": 3.2,
        "H": 4.2,
        "BB": 2.2,
        "SO": 5.6,
        "HR": 1.0,
        "BF": 20.6,
        "Pitches": 89.6
      },
      "rates": {
        "ERA": 5.625,
        "WHIP": 1.3333,
        "ER_per_IP": 0.625,
        "H_per_IP": 0.875,
        "BB_per_IP": 0.45833,
        "SO_per_IP": 1.16667,
        "HR_per_IP": 0.20833
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 44.2,
        "ER": 35.0,
        "R": 38.0,
        "H": 50.0,
        "BB": 20.0,
        "SO": 41.0,
        "HR": 8.0,
        "BF": 206.0,
        "Pitches": 844.0
      },
      "per_game": {
        "IP": 4.1,
        "ER": 3.5,
        "R": 3.8,
        "H": 5.0,
        "BB": 2.0,
        "SO": 4.1,
        "HR": 0.8,
        "BF": 20.6,
        "Pitches": 84.4
      },
      "rates": {
        "ERA": 7.0522,
        "WHIP": 1.5672,
        "ER_per_IP": 0.78358,
        "H_per_IP": 1.1194,
        "BB_per_IP": 0.44776,
        "SO_per_IP": 0.91791,
        "HR_per_IP": 0.1791
      }
    },
    "season": {
      "games": 13,
      "totals": {
        "IP": 59.0,
        "ER": 47.0,
        "R": 50.0,
        "H": 66.0,
        "BB": 28.0,
        "SO": 55.0,
        "HR": 10.0,
        "BF": 271.0,
        "Pitches": 1108.0
      },
      "per_game": {
        "IP": 4.2,
        "ER": 3.6154,
        "R": 3.8462,
        "H": 5.0769,
        "BB": 2.1538,
        "SO": 4.2308,
        "HR": 0.7692,
        "BF": 20.8462,
        "Pitches": 85.2308
      },
      "rates": {
        "ERA": 7.1695,
        "WHIP": 1.5932,
        "ER_per_IP": 0.79661,
        "H_per_IP": 1.11864,
        "BB_per_IP": 0.47458,
        "SO_per_IP": 0.9322,
        "HR_per_IP": 0.16949
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 4.2,
    "predicted_ER": 3.002,
    "predicted_H": 4.578,
    "predicted_BB": 1.981,
    "predicted_SO": 4.632,
    "predicted_HR": 0.817,
    "predicted_ERA": 5.8968,
    "predicted_WHIP": 1.4313
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4674,
  "form_weight": 0.5326,
  "form_reliability": 0.7222,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 13.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7222,
    "prior_weight": 0.2778
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 4.2,
      "form": 4.2,
      "final": 4.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 4.0,
      "form": 3.002,
      "final": 3.4684,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 6.0,
      "form": 4.578,
      "final": 5.2426,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 1.981,
      "final": 1.5225,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 3.0,
      "form": 4.632,
      "final": 3.8693,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.817,
      "final": 0.4352,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 5.8968,
      "final": 5.8968,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.4313,
      "final": 1.4313,
      "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
PitcherSamy Natera Jr.
RoleMiddle Reliever
Projection Source-
Savant Quality Score0.6078
ESPN Rank153
Movement AvailableTrue
Primary Pitch-
Movement Score0.1784
Avg Velo93.0983
Avg Spin2355.4971
HB Inches0
IVB Inches0
Release Extension0
Pre IP1.1000
Pre ER0
Pre H0
Pre BB0
Pre SO1
Season ERA2
Season WHIP0.8148
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "LAA",
    "games": 134,
    "wins": 55,
    "losses": 79,
    "win_pct": 0.4104,
    "runs_scored": 546.0,
    "runs_allowed": 630.0,
    "run_differential": -84.0,
    "run_differential_per_game": -0.6269,
    "avg_runs_scored": 4.0746,
    "avg_runs_allowed": 4.7015,
    "offense_index": 0.9068,
    "defense_index": 0.9557,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 3.1,
      "avg_runs_allowed": 3.4,
      "run_differential": -3.0
    },
    "available": true,
    "quality_score": -0.1529
  },
  "opponent": {
    "team": "HOU",
    "games": 135,
    "wins": 67,
    "losses": 68,
    "win_pct": 0.4963,
    "runs_scored": 611.0,
    "runs_allowed": 642.0,
    "run_differential": -31.0,
    "run_differential_per_game": -0.2296,
    "avg_runs_scored": 4.5259,
    "avg_runs_allowed": 4.7556,
    "offense_index": 1.0073,
    "defense_index": 0.9449,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 3.4,
      "avg_runs_allowed": 4.3,
      "run_differential": -9.0
    },
    "available": true,
    "quality_score": -0.0662
  },
  "edges": {
    "quality_edge": -0.0867,
    "offense_edge": -0.0932,
    "opponent_offense_edge": 0.0073,
    "defense_strength": -0.0443,
    "opponent_defense_weakness": 0.0551,
    "recent_win_pct_edge": 0.1
  },
  "player_factors": {
    "ip": 0.9949,
    "run_prevention": 1.0099,
    "strikeout": 0.9968
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "696519",
    "profile": {
      "available": true,
      "pitcher_id": "696519",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 101.0,
        "k_percent": 40.4,
        "bb_percent": 9.6,
        "woba": 0.214,
        "xwoba": 0.219,
        "sweet_spot_percent": 27.5,
        "barrel_batted_rate": 5.9,
        "hard_hit_percent": 31.4,
        "avg_best_speed": 77.7623,
        "avg_hyper_speed": 92.9409,
        "whiff_percent": 37.3,
        "swing_percent": 47.6
      },
      "league_medians": {
        "pa": 124.0,
        "k_percent": 22.1,
        "bb_percent": 9.0,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.6,
        "avg_best_speed": 77.5616,
        "avg_hyper_speed": 93.8797,
        "whiff_percent": 25.3,
        "swing_percent": 47.5
      },
      "components": {
        "contact_quality": 1.6251,
        "command_and_miss": 1.695,
        "regression_edge": -0.1429,
        "xwoba_edge": 2.5,
        "barrel_edge": 0.2667,
        "hard_hit_edge": 0.8857,
        "whiff_edge": 1.7143,
        "bb_edge": -0.15,
        "pitch_design_score": 0.1784
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "696519",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 24,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 24,
          "pitch_usage": 0.0,
          "release_speed": 93.0982644898305,
          "release_spin_rate": 2355.497070767487,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 24,
            "pitch_usage": 0.0,
            "release_speed": 93.0982644898305,
            "release_spin_rate": 2355.497070767487,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.0983,
          "release_spin_rate": 2355.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.1784,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.2741,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "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.6078,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9483,
      "strikeout_factor": 1.0759,
      "walk_factor": 1.0054,
      "homer_factor": 0.9407,
      "woba_minus_xwoba": -0.005,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "696519",
        "espn_id": 5207461,
        "player_name": "Samy Natera Jr.",
        "team": "LAA",
        "role": "pitcher",
        "espn_rank": 153,
        "espn_total_ranked": 819,
        "metrics": {
          "espn_rank": 153,
          "gp_value": 23.0,
          "gp_rank": 303,
          "gs_value": 0.0,
          "gs_rank": 344,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 2.0,
          "era_rank": null,
          "w_value": 1.0,
          "w_rank": 381,
          "l_value": 1.0,
          "l_rank": 392,
          "sv_value": 3.0,
          "sv_rank": 62,
          "hld_value": 4.0,
          "hld_rank": 175,
          "ip_value": 27.0,
          "ip_rank": 428,
          "h_value": 13.0,
          "h_rank": 558,
          "er_value": 6.0,
          "er_rank": 590,
          "hr_value": 1.0,
          "hr_rank": 578,
          "bb_value": 10.0,
          "bb_rank": 449,
          "k_value": 42.0,
          "k_rank": 302,
          "k_per_9_value": 14.0,
          "k_per_9_rank": 19.0,
          "whip_value": 0.8518,
          "whip_rank": null,
          "war_value": 1.07,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "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": 1.0024,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9733,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 3.0,
        "factor": 1.0342,
        "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": 11.2,
    "ER": 1,
    "H": 5,
    "BB": 2,
    "SO": 20,
    "HR": 0,
    "ERA": 0.7714285714285715,
    "WHIP": 0.6,
    "K9": 15.428571428571429,
    "HR9": 0.0,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": true,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-11T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "696519",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 24,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 24,
    "pitch_usage": 0.0,
    "release_speed": 93.0982644898305,
    "release_spin_rate": 2355.497070767487,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 24,
      "pitch_usage": 0.0,
      "release_speed": 93.0982644898305,
      "release_spin_rate": 2355.497070767487,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.0983,
    "release_spin_rate": 2355.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.1784,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.2741,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 5.414,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5199,
    "prior_weight": 0.4801
  },
  "role": "pitcher",
  "player_id": "696519",
  "report_date": "20260820",
  "season_year": 2026,
  "rows_used": 22,
  "reference_playing_time": 1.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 6.2,
        "ER": 1.0,
        "R": 1.0,
        "H": 4.0,
        "BB": 1.0,
        "SO": 12.0,
        "HR": 0.0,
        "BF": 24.0,
        "Pitches": 113.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.8,
        "BB": 0.2,
        "SO": 2.4,
        "HR": 0.0,
        "BF": 4.8,
        "Pitches": 22.6
      },
      "rates": {
        "ERA": 1.35,
        "WHIP": 0.75,
        "ER_per_IP": 0.15,
        "H_per_IP": 0.6,
        "BB_per_IP": 0.15,
        "SO_per_IP": 1.8,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 11.2,
        "ER": 1.0,
        "R": 1.0,
        "H": 5.0,
        "BB": 2.0,
        "SO": 20.0,
        "HR": 0.0,
        "BF": 41.0,
        "Pitches": 192.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.1,
        "R": 0.1,
        "H": 0.5,
        "BB": 0.2,
        "SO": 2.0,
        "HR": 0.0,
        "BF": 4.1,
        "Pitches": 19.2
      },
      "rates": {
        "ERA": 0.7714,
        "WHIP": 0.6,
        "ER_per_IP": 0.08571,
        "H_per_IP": 0.42857,
        "BB_per_IP": 0.17143,
        "SO_per_IP": 1.71429,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 22,
      "totals": {
        "IP": 27.0,
        "ER": 6.0,
        "R": 6.0,
        "H": 13.0,
        "BB": 9.0,
        "SO": 42.0,
        "HR": 1.0,
        "BF": 103.0,
        "Pitches": 457.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.2727,
        "R": 0.2727,
        "H": 0.5909,
        "BB": 0.4091,
        "SO": 1.9091,
        "HR": 0.0455,
        "BF": 4.6818,
        "Pitches": 20.7727
      },
      "rates": {
        "ERA": 2.0,
        "WHIP": 0.8148,
        "ER_per_IP": 0.22222,
        "H_per_IP": 0.48148,
        "BB_per_IP": 0.33333,
        "SO_per_IP": 1.55556,
        "HR_per_IP": 0.03704
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.1,
    "predicted_ER": 0.419,
    "predicted_H": 0.98,
    "predicted_BB": 0.369,
    "predicted_SO": 1.804,
    "predicted_HR": 0.099,
    "predicted_ERA": 2.8254,
    "predicted_WHIP": 1.0117
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5528,
  "form_weight": 0.4472,
  "form_reliability": 0.5199,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 5.414,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5199,
    "prior_weight": 0.4801
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.1,
      "form": 1.1,
      "final": 1.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.419,
      "final": 0.1874,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.98,
      "final": 0.4382,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.369,
      "final": 0.165,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.804,
      "final": 1.3595,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.099,
      "final": 0.0443,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.8254,
      "final": 2.8254,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.0117,
      "final": 1.0117,
      "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
PitcherBen Joyce
RoleMiddle Reliever
Projection Source-
Savant Quality Score0.7031
ESPN Rank255
Movement AvailableTrue
Primary Pitch-
Movement Score0.2800
Avg Velo98.0237
Avg Spin2226.2600
HB Inches0
IVB Inches0
Release Extension0
Pre IP2
Pre ER0
Pre H1
Pre BB0
Pre SO1
Season ERA0
Season WHIP0.3333
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "LAA",
    "games": 134,
    "wins": 55,
    "losses": 79,
    "win_pct": 0.4104,
    "runs_scored": 546.0,
    "runs_allowed": 630.0,
    "run_differential": -84.0,
    "run_differential_per_game": -0.6269,
    "avg_runs_scored": 4.0746,
    "avg_runs_allowed": 4.7015,
    "offense_index": 0.9068,
    "defense_index": 0.9557,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 3.1,
      "avg_runs_allowed": 3.4,
      "run_differential": -3.0
    },
    "available": true,
    "quality_score": -0.1529
  },
  "opponent": {
    "team": "HOU",
    "games": 135,
    "wins": 67,
    "losses": 68,
    "win_pct": 0.4963,
    "runs_scored": 611.0,
    "runs_allowed": 642.0,
    "run_differential": -31.0,
    "run_differential_per_game": -0.2296,
    "avg_runs_scored": 4.5259,
    "avg_runs_allowed": 4.7556,
    "offense_index": 1.0073,
    "defense_index": 0.9449,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 3.4,
      "avg_runs_allowed": 4.3,
      "run_differential": -9.0
    },
    "available": true,
    "quality_score": -0.0662
  },
  "edges": {
    "quality_edge": -0.0867,
    "offense_edge": -0.0932,
    "opponent_offense_edge": 0.0073,
    "defense_strength": -0.0443,
    "opponent_defense_weakness": 0.0551,
    "recent_win_pct_edge": 0.1
  },
  "player_factors": {
    "ip": 0.9949,
    "run_prevention": 1.0099,
    "strikeout": 0.9968
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "690829",
    "profile": {
      "available": true,
      "pitcher_id": "690829",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 16.0,
        "k_percent": 42.1,
        "bb_percent": 5.3,
        "woba": 0.084,
        "xwoba": 0.122,
        "sweet_spot_percent": 30.0,
        "barrel_batted_rate": 0.0,
        "hard_hit_percent": 20.0,
        "avg_best_speed": 63.616,
        "avg_hyper_speed": 91.5225,
        "whiff_percent": 36.8,
        "swing_percent": 46.3
      },
      "league_medians": {
        "pa": 124.0,
        "k_percent": 22.1,
        "bb_percent": 9.0,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.6,
        "avg_best_speed": 77.5616,
        "avg_hyper_speed": 93.8797,
        "whiff_percent": 25.3,
        "swing_percent": 47.5
      },
      "components": {
        "contact_quality": 2.0688,
        "command_and_miss": 1.885,
        "regression_edge": -1.0857,
        "xwoba_edge": 2.5,
        "barrel_edge": 1.5778,
        "hard_hit_edge": 2.5,
        "whiff_edge": 1.6429,
        "bb_edge": 0.925,
        "pitch_design_score": 0.28
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "690829",
        "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": 98.02367216117216,
          "release_spin_rate": 2226.259981684982,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 98.02367216117216,
            "release_spin_rate": 2226.259981684982,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 98.0237,
          "release_spin_rate": 2226.26,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "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.7031,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9402,
      "strikeout_factor": 1.0746,
      "walk_factor": 0.9667,
      "homer_factor": 0.8644,
      "woba_minus_xwoba": -0.038,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": true,
        "player_id": "690829",
        "espn_id": 4867388,
        "player_name": "Ben Joyce",
        "team": "LAA",
        "role": "pitcher",
        "espn_rank": 255,
        "espn_total_ranked": 819,
        "metrics": {
          "espn_rank": 255,
          "gp_value": 6.0,
          "gp_rank": 574,
          "gs_value": 0.0,
          "gs_rank": 344,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 0.0,
          "era_rank": null,
          "w_value": 0.0,
          "w_rank": 495,
          "l_value": 0.0,
          "l_rank": 548,
          "sv_value": 3.0,
          "sv_rank": 62,
          "hld_value": 1.0,
          "hld_rank": 249,
          "ip_value": 6.0,
          "ip_rank": 653,
          "h_value": 1.0,
          "h_rank": 779,
          "er_value": 0.0,
          "er_rank": 778,
          "hr_value": 0.0,
          "hr_rank": 702,
          "bb_value": 1.0,
          "bb_rank": 727,
          "k_value": 8.0,
          "k_rank": 586,
          "k_per_9_value": 12.0,
          "k_per_9_rank": 24.0,
          "whip_value": 0.3333,
          "whip_rank": null,
          "war_value": 0.44,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9731,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9731,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.985,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.939,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0336,
        "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": 6.0,
    "ER": 0,
    "H": 1,
    "BB": 1,
    "SO": 8,
    "HR": 0,
    "ERA": 0.0,
    "WHIP": 0.3333333333333333,
    "K9": 12.0,
    "HR9": 0.0,
    "games_pitched": 6,
    "quality_starts": 0,
    "dominant_form": true,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 6,
    "error_prone": false
  },
  "games_count": 6,
  "latest_game_date": "2026-08-18T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "690829",
  "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": 98.02367216117216,
    "release_spin_rate": 2226.259981684982,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 98.02367216117216,
      "release_spin_rate": 2226.259981684982,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 98.0237,
    "release_spin_rate": 2226.26,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.28,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 2.0,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.8653846153846154,
    "last_10": 0.1346153846153846
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 1.203,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.1939,
    "prior_weight": 0.8061
  },
  "role": "pitcher",
  "player_id": "690829",
  "report_date": "20260820",
  "season_year": 2026,
  "rows_used": 6,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 1.0,
        "BB": 0.0,
        "SO": 7.0,
        "HR": 0.0,
        "BF": 16.0,
        "Pitches": 66.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.2,
        "BB": 0.0,
        "SO": 1.4,
        "HR": 0.0,
        "BF": 3.2,
        "Pitches": 13.2
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.2,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.2,
        "BB_per_IP": 0.0,
        "SO_per_IP": 1.4,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 6,
      "totals": {
        "IP": 6.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 1.0,
        "BB": 1.0,
        "SO": 8.0,
        "HR": 0.0,
        "BF": 19.0,
        "Pitches": 82.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.1667,
        "BB": 0.1667,
        "SO": 1.3333,
        "HR": 0.0,
        "BF": 3.1667,
        "Pitches": 13.6667
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.3333,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.16667,
        "BB_per_IP": 0.16667,
        "SO_per_IP": 1.33333,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 6,
      "totals": {
        "IP": 6.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 1.0,
        "BB": 1.0,
        "SO": 8.0,
        "HR": 0.0,
        "BF": 19.0,
        "Pitches": 82.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.1667,
        "BB": 0.1667,
        "SO": 1.3333,
        "HR": 0.0,
        "BF": 3.1667,
        "Pitches": 13.6667
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.3333,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.16667,
        "BB_per_IP": 0.16667,
        "SO_per_IP": 1.33333,
        "HR_per_IP": 0.0
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.403,
    "predicted_H": 0.822,
    "predicted_BB": 0.299,
    "predicted_SO": 1.039,
    "predicted_HR": 0.119,
    "predicted_ERA": 3.6288,
    "predicted_WHIP": 1.1208
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.6906,
  "form_weight": 0.3094,
  "form_reliability": 0.1939,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 1.203,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.1939,
    "prior_weight": 0.8061
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.403,
      "final": 0.1247,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.822,
      "final": 0.9449,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.299,
      "final": 0.0925,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.039,
      "final": 1.0121,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.119,
      "final": 0.0368,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.6288,
      "final": 3.6288,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1208,
      "final": 1.1208,
      "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
PitcherJosé Fermin
RoleMiddle Reliever
Projection Source-
Savant Quality Score-0.0337
ESPN Rank263
Movement AvailableTrue
Primary Pitch-
Movement Score0.1480
Avg Velo92.5559
Avg Spin2427.4563
HB Inches0
IVB Inches0
Release Extension0
Pre IP0
Pre ER0
Pre H1
Pre BB0
Pre SO0
Season ERA3.2400
Season WHIP1.2960
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "LAA",
    "games": 134,
    "wins": 55,
    "losses": 79,
    "win_pct": 0.4104,
    "runs_scored": 546.0,
    "runs_allowed": 630.0,
    "run_differential": -84.0,
    "run_differential_per_game": -0.6269,
    "avg_runs_scored": 4.0746,
    "avg_runs_allowed": 4.7015,
    "offense_index": 0.9068,
    "defense_index": 0.9557,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 3.1,
      "avg_runs_allowed": 3.4,
      "run_differential": -3.0
    },
    "available": true,
    "quality_score": -0.1529
  },
  "opponent": {
    "team": "HOU",
    "games": 135,
    "wins": 67,
    "losses": 68,
    "win_pct": 0.4963,
    "runs_scored": 611.0,
    "runs_allowed": 642.0,
    "run_differential": -31.0,
    "run_differential_per_game": -0.2296,
    "avg_runs_scored": 4.5259,
    "avg_runs_allowed": 4.7556,
    "offense_index": 1.0073,
    "defense_index": 0.9449,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 3.4,
      "avg_runs_allowed": 4.3,
      "run_differential": -9.0
    },
    "available": true,
    "quality_score": -0.0662
  },
  "edges": {
    "quality_edge": -0.0867,
    "offense_edge": -0.0932,
    "opponent_offense_edge": 0.0073,
    "defense_strength": -0.0443,
    "opponent_defense_weakness": 0.0551,
    "recent_win_pct_edge": 0.1
  },
  "player_factors": {
    "ip": 0.9949,
    "run_prevention": 1.0099,
    "strikeout": 0.9968
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "820862",
    "profile": {
      "available": true,
      "pitcher_id": "820862",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 177.0,
        "k_percent": 27.1,
        "bb_percent": 11.0,
        "woba": 0.311,
        "xwoba": 0.322,
        "sweet_spot_percent": 28.7,
        "barrel_batted_rate": 9.3,
        "hard_hit_percent": 42.6,
        "avg_best_speed": 81.6498,
        "avg_hyper_speed": 94.4684,
        "whiff_percent": 30.9,
        "swing_percent": 49.1
      },
      "league_medians": {
        "pa": 124.0,
        "k_percent": 22.1,
        "bb_percent": 9.0,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.6,
        "avg_best_speed": 77.5616,
        "avg_hyper_speed": 93.8797,
        "whiff_percent": 25.3,
        "swing_percent": 47.5
      },
      "components": {
        "contact_quality": -0.2827,
        "command_and_miss": 0.5014,
        "regression_edge": -0.3143,
        "xwoba_edge": -0.2857,
        "barrel_edge": -0.4889,
        "hard_hit_edge": -0.7143,
        "whiff_edge": 0.8,
        "bb_edge": -0.5,
        "pitch_design_score": 0.148
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "820862",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 18,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 18,
          "pitch_usage": 0.0,
          "release_speed": 92.55588931163547,
          "release_spin_rate": 2427.4563342655806,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 18,
            "pitch_usage": 0.0,
            "release_speed": 92.55588931163547,
            "release_spin_rate": 2427.4563342655806,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.5559,
          "release_spin_rate": 2427.4563,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.148,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.0571,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "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.0337,
      "sample_weight": 0.708,
      "run_prevention_factor": 1.0029,
      "strikeout_factor": 1.0429,
      "walk_factor": 1.0283,
      "homer_factor": 1.054,
      "woba_minus_xwoba": -0.011,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "820862",
        "espn_id": 5265417,
        "player_name": "Jose Fermin",
        "team": "LAA",
        "role": "pitcher",
        "espn_rank": 263,
        "espn_total_ranked": 819,
        "metrics": {
          "espn_rank": 263,
          "gp_value": 39.0,
          "gp_rank": 141,
          "gs_value": 0.0,
          "gs_rank": 344,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 3.24,
          "era_rank": null,
          "w_value": 4.0,
          "w_rank": 161,
          "l_value": 2.0,
          "l_rank": 293,
          "sv_value": 1.0,
          "sv_rank": 123,
          "hld_value": 6.0,
          "hld_rank": 134,
          "ip_value": 41.2,
          "ip_rank": 316,
          "h_value": 34.0,
          "h_rank": 338,
          "er_value": 15.0,
          "er_rank": 372,
          "hr_value": 6.0,
          "hr_rank": 244,
          "bb_value": 20.0,
          "bb_rank": 248,
          "k_value": 49.0,
          "k_rank": 251,
          "k_per_9_value": 10.584,
          "k_per_9_rank": 21.0,
          "whip_value": 1.296,
          "whip_rank": null,
          "war_value": 0.41,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 1.0021,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 1.0021,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.02,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0382,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0304,
        "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": 13,
    "BB": 3,
    "SO": 15,
    "HR": 3,
    "ERA": 4.5,
    "WHIP": 1.6,
    "K9": 13.5,
    "HR9": 2.7,
    "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-08-18T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "820862",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 18,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 18,
    "pitch_usage": 0.0,
    "release_speed": 92.55588931163547,
    "release_spin_rate": 2427.4563342655806,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 18,
      "pitch_usage": 0.0,
      "release_speed": 92.55588931163547,
      "release_spin_rate": 2427.4563342655806,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.5559,
    "release_spin_rate": 2427.4563,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.148,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.0571,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 8.355,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6256,
    "prior_weight": 0.3744
  },
  "role": "pitcher",
  "player_id": "820862",
  "report_date": "20260820",
  "season_year": 2026,
  "rows_used": 39,
  "reference_playing_time": 0.1,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.1,
        "ER": 2.0,
        "R": 2.0,
        "H": 7.0,
        "BB": 1.0,
        "SO": 4.0,
        "HR": 1.0,
        "BF": 20.0,
        "Pitches": 74.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.4,
        "H": 1.4,
        "BB": 0.2,
        "SO": 0.8,
        "HR": 0.2,
        "BF": 4.0,
        "Pitches": 14.8
      },
      "rates": {
        "ERA": 4.1538,
        "WHIP": 1.8462,
        "ER_per_IP": 0.46154,
        "H_per_IP": 1.61538,
        "BB_per_IP": 0.23077,
        "SO_per_IP": 0.92308,
        "HR_per_IP": 0.23077
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.0,
        "ER": 5.0,
        "R": 8.0,
        "H": 13.0,
        "BB": 3.0,
        "SO": 15.0,
        "HR": 3.0,
        "BF": 48.0,
        "Pitches": 183.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.5,
        "R": 0.8,
        "H": 1.3,
        "BB": 0.3,
        "SO": 1.5,
        "HR": 0.3,
        "BF": 4.8,
        "Pitches": 18.3
      },
      "rates": {
        "ERA": 4.5,
        "WHIP": 1.6,
        "ER_per_IP": 0.5,
        "H_per_IP": 1.3,
        "BB_per_IP": 0.3,
        "SO_per_IP": 1.5,
        "HR_per_IP": 0.3
      }
    },
    "season": {
      "games": 39,
      "totals": {
        "IP": 41.2,
        "ER": 15.0,
        "R": 18.0,
        "H": 34.0,
        "BB": 20.0,
        "SO": 49.0,
        "HR": 6.0,
        "BF": 181.0,
        "Pitches": 745.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3846,
        "R": 0.4615,
        "H": 0.8718,
        "BB": 0.5128,
        "SO": 1.2564,
        "HR": 0.1538,
        "BF": 4.641,
        "Pitches": 19.1026
      },
      "rates": {
        "ERA": 3.24,
        "WHIP": 1.296,
        "ER_per_IP": 0.36,
        "H_per_IP": 0.816,
        "BB_per_IP": 0.48,
        "SO_per_IP": 1.176,
        "HR_per_IP": 0.144
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 0.2,
    "predicted_ER": 0.354,
    "predicted_H": 0.905,
    "predicted_BB": 0.246,
    "predicted_SO": 0.82,
    "predicted_HR": 0.153,
    "predicted_ERA": 4.2455,
    "predicted_WHIP": 1.5332
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5082,
  "form_weight": 0.4918,
  "form_reliability": 0.6256,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 8.355,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6256,
    "prior_weight": 0.3744
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.1,
      "form": 0.2,
      "final": 0.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.354,
      "final": 0.1741,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.905,
      "final": 0.9533,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.246,
      "final": 0.121,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.82,
      "final": 0.9115,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.153,
      "final": 0.0752,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.2455,
      "final": 4.2455,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.5332,
      "final": 1.5332,
      "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."
}
Wade Meckler (685133) · BATTER · LF · Team LAA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 228
All-history rows before 20260820: 228
System season_avg: 0.2860
Data season_avg (2026 season-to-date): 0.2897
Diff (system - data): -0.0037
System opponent_avg: 0.1140

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1560.0000.000Hitting_2B0.1930.000-0.1930.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.1724.0003.000Hitting_AB3.4523.0000.5481.000
predicted_AVG0.2860.2500.333Hitting_AVG0.2900.000-0.0400.250
predicted_BB0.2970.0000.000Hitting_BB0.3730.000-0.3730.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.9061.0001.000Hitting_H1.0000.0000.0001.000
predicted_HR0.0470.0000.000Hitting_HR0.0480.000-0.0480.000
predicted_OBP0.3470.2500.333Hitting_OBP0.3600.000-0.1100.250
predicted_R0.4060.0000.000Hitting_R0.4910.000-0.4910.000
predicted_RBI0.3120.0000.000Hitting_RBI0.3330.000-0.3330.000
predicted_SLG0.3790.2500.333Hitting_SLG0.3880.000-0.1380.250
predicted_SO0.7661.0001.000Hitting_SO0.8330.0000.1671.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics3
Deboosted Metrics7
Better Metrics2
Worse Metrics8
Biggest Boostpredicted_AB: 3.1720 -> 4.0000 (boost 0.8280, better)
Biggest Deboostpredicted_R: 0.4060 -> 0.0000 (deboost -0.4060, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend41313predicted_AB: 3.1720 -> 3.2658 (boost 0.0938, better)predicted_SLG: 0.3790 -> 0.3474 (deboost -0.0316, worse)Final model input calibrated 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_scaling62415predicted_SO: 0.8017 -> 1.0000 (boost 0.1983, worse)predicted_BB: 0.2947 -> 0.0000 (deboost -0.2947, worse)AB rounded to 3 (raw=3.27), rates preserved: AVG=0.262 HR/AB=0.013
5bvp_blend00000--Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.000)
6consistency_constraints10101-predicted_R: 0.4060 -> 0.0000 (deboost -0.4060, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context32121predicted_AVG: 0.2620 -> 0.3330 (boost 0.0710, better)predicted_SLG: 0.3446 -> 0.3330 (deboost -0.0116, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference11010predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
9current_json_final31212predicted_SLG: 0.3330 -> 0.3446 (boost 0.0116, better)predicted_AVG: 0.3330 -> 0.2620 (deboost -0.0710, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "685133",
  "player_name": "Wade Meckler",
  "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.156,
        "predicted_3B": 0.0,
        "predicted_AB": 3.172,
        "predicted_AVG": 0.286,
        "predicted_BB": 0.297,
        "predicted_H": 0.906,
        "predicted_HR": 0.047,
        "predicted_OBP": 0.347,
        "predicted_R": 0.406,
        "predicted_RBI": 0.312,
        "predicted_SLG": 0.379,
        "predicted_SO": 0.766
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1361,
        "predicted_3B": 0.0008,
        "predicted_AB": 3.2658,
        "predicted_AVG": 0.2646,
        "predicted_BB": 0.2966,
        "predicted_H": 0.8603,
        "predicted_HBP": 0.003,
        "predicted_HR": 0.0445,
        "predicted_OBP": 0.3258,
        "predicted_R": 0.4102,
        "predicted_RBI": 0.2771,
        "predicted_SLG": 0.3474,
        "predicted_SO": 0.7967
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.156,
          "after": 0.1361,
          "delta": -0.0199,
          "percent_delta": -0.1276,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0008,
          "delta": 0.0008,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.172,
          "after": 3.2658,
          "delta": 0.0938,
          "percent_delta": 0.0296,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.286,
          "after": 0.2646,
          "delta": -0.0214,
          "percent_delta": -0.0748,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.297,
          "after": 0.2966,
          "delta": -0.0004,
          "percent_delta": -0.0013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.906,
          "after": 0.8603,
          "delta": -0.0457,
          "percent_delta": -0.0504,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.047,
          "after": 0.0445,
          "delta": -0.0025,
          "percent_delta": -0.0532,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.347,
          "after": 0.3258,
          "delta": -0.0212,
          "percent_delta": -0.0611,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.406,
          "after": 0.4102,
          "delta": 0.0042,
          "percent_delta": 0.0103,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.312,
          "after": 0.2771,
          "delta": -0.0349,
          "percent_delta": -0.1119,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.379,
          "after": 0.3474,
          "delta": -0.0316,
          "percent_delta": -0.0834,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.766,
          "after": 0.7967,
          "delta": 0.0307,
          "percent_delta": 0.0401,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.172,
          "after": 3.2658,
          "delta": 0.0938,
          "percent_delta": 0.0296,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.379,
          "after": 0.3474,
          "delta": -0.0316,
          "percent_delta": -0.0834,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 64
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1361,
        "predicted_3B": 0.0008,
        "predicted_AB": 3.2658,
        "predicted_AVG": 0.262,
        "predicted_BB": 0.2947,
        "predicted_H": 0.8557,
        "predicted_HBP": 0.003,
        "predicted_HR": 0.0441,
        "predicted_OBP": 0.3231,
        "predicted_R": 0.406,
        "predicted_RBI": 0.2743,
        "predicted_SLG": 0.3446,
        "predicted_SO": 0.8017
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1361,
          "after": 0.1361,
          "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.2658,
          "after": 3.2658,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2646,
          "after": 0.262,
          "delta": -0.0026,
          "percent_delta": -0.0098,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2966,
          "after": 0.2947,
          "delta": -0.0019,
          "percent_delta": -0.0064,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8603,
          "after": 0.8557,
          "delta": -0.0046,
          "percent_delta": -0.0053,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.003,
          "after": 0.003,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0445,
          "after": 0.0441,
          "delta": -0.0004,
          "percent_delta": -0.009,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3258,
          "after": 0.3231,
          "delta": -0.0027,
          "percent_delta": -0.0083,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4102,
          "after": 0.406,
          "delta": -0.0042,
          "percent_delta": -0.0102,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2771,
          "after": 0.2743,
          "delta": -0.0028,
          "percent_delta": -0.0101,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3474,
          "after": 0.3446,
          "delta": -0.0028,
          "percent_delta": -0.0081,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.7967,
          "after": 0.8017,
          "delta": 0.005,
          "percent_delta": 0.0063,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.27), rates preserved: AVG=0.262 HR/AB=0.013",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1361,
          "after": 0.0,
          "delta": -0.1361,
          "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.2658,
          "after": 3.0,
          "delta": -0.2658,
          "percent_delta": -0.0814,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2947,
          "after": 0.0,
          "delta": -0.2947,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8557,
          "after": 1.0,
          "delta": 0.1443,
          "percent_delta": 0.1686,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.003,
          "after": 0.0,
          "delta": -0.003,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0441,
          "after": 0.0,
          "delta": -0.0441,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2743,
          "after": 0.0,
          "delta": -0.2743,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8017,
          "after": 1.0,
          "delta": 0.1983,
          "percent_delta": 0.2473,
          "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.8017,
          "after": 1.0,
          "delta": 0.1983,
          "percent_delta": 0.2473,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2947,
          "after": 0.0,
          "delta": -0.2947,
          "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": 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.406,
          "after": 0.0,
          "delta": -0.406,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 0.406,
          "after": 0.0,
          "delta": -0.406,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.262,
          "after": 0.333,
          "delta": 0.071,
          "percent_delta": 0.271,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3231,
          "after": 0.333,
          "delta": 0.0099,
          "percent_delta": 0.0306,
          "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.3446,
          "after": 0.333,
          "delta": -0.0116,
          "percent_delta": -0.0337,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.262,
          "after": 0.333,
          "delta": 0.071,
          "percent_delta": 0.271,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3446,
          "after": 0.333,
          "delta": -0.0116,
          "percent_delta": -0.0337,
          "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": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.262,
        "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.3231,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3446,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.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.262,
          "delta": -0.071,
          "percent_delta": -0.2132,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.3231,
          "delta": -0.0099,
          "percent_delta": -0.0297,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 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.3446,
          "delta": 0.0116,
          "percent_delta": 0.0349,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.3446,
          "delta": 0.0116,
          "percent_delta": 0.0349,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.333,
          "after": 0.262,
          "delta": -0.071,
          "percent_delta": -0.2132,
          "direction": "deboost",
          "projection_effect": "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.172,
        "after": 4.0,
        "delta": 0.828,
        "percent_delta": 0.261,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.286,
        "after": 0.262,
        "delta": -0.024,
        "percent_delta": -0.0839,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.297,
        "after": 0.0,
        "delta": -0.297,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.906,
        "after": 1.0,
        "delta": 0.094,
        "percent_delta": 0.1038,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.047,
        "after": 0.0,
        "delta": -0.047,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_OBP",
        "before": 0.347,
        "after": 0.3231,
        "delta": -0.0239,
        "percent_delta": -0.0689,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.406,
        "after": 0.0,
        "delta": -0.406,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.312,
        "after": 0.0,
        "delta": -0.312,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.379,
        "after": 0.3446,
        "delta": -0.0344,
        "percent_delta": -0.0908,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.766,
        "after": 1.0,
        "delta": 0.234,
        "percent_delta": 0.3055,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 3,
      "deboosted_metrics": 7,
      "better_metrics": 2,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.172,
        "after": 4.0,
        "delta": 0.828,
        "percent_delta": 0.261,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.406,
        "after": 0.0,
        "delta": -0.406,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "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.156-
predicted_3B0.000-
predicted_AB3.172-
predicted_AVG0.286-
predicted_BB0.297-
predicted_H0.906-
predicted_HR0.047-
predicted_OBP0.347-
predicted_R0.406-
predicted_RBI0.312-
predicted_SLG0.379-
predicted_SO0.766-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.136-0.020
predicted_3B0.0010.001
predicted_AB3.2660.094
predicted_AVG0.265-0.021
predicted_BB0.297-0.000
predicted_H0.860-0.046
predicted_HBP0.003-
predicted_HR0.044-0.003
predicted_OBP0.326-0.021
predicted_R0.4100.004
predicted_RBI0.277-0.035
predicted_SLG0.347-0.032
predicted_SO0.7970.031
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1360.000
predicted_3B0.0010.000
predicted_AB3.2660.000
predicted_AVG0.262-0.003
predicted_BB0.295-0.002
predicted_H0.856-0.005
predicted_HBP0.0030.000
predicted_HR0.044-0.000
predicted_OBP0.323-0.003
predicted_R0.406-0.004
predicted_RBI0.274-0.003
predicted_SLG0.345-0.003
predicted_SO0.8020.005
4. ab_floor_and_scaling

AB rounded to 3 (raw=3.27), rates preserved: AVG=0.262 HR/AB=0.013

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
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
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.136
predicted_3B0.000-0.001
predicted_AB3.000-0.266
predicted_AVG0.3330.071
predicted_BB0.000-0.295
predicted_H1.0000.144
predicted_HR0.000-0.044
predicted_OBP0.3330.010
predicted_R0.000-0.406
predicted_RBI0.000-0.274
predicted_SLG0.333-0.012
predicted_SO1.0000.198
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 64
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0002.0000.0000.0000.0000.0002.0001.0005.0000.11110.15790.11110.11110.00000.00000.05560.2778
last_100.2010-36.0007.0000.0000.0000.0000.0004.0004.0009.0000.19440.27500.19440.19440.00000.00000.11110.2500
season0.6064-203.00058.00010.0000.0003.00020.00026.00019.00049.0000.28570.34680.37930.28570.01480.09850.09360.2414
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1080
predicted_3B0.0020
predicted_AB3.3980
predicted_AVG0.2344
predicted_BB0.2960
predicted_H0.7960
predicted_HBP0.0030
predicted_HR0.0410
predicted_OBP0.2959
predicted_R0.4160
predicted_RBI0.2280
predicted_SLG0.3029
predicted_SO0.8400
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15600.10800.1361model_form_blend
predicted_3B0.00000.00200.0008model_form_blend
predicted_AB3.17203.39803.2658model_form_blend
predicted_AVG0.28600.23440.2646model_form_blend
predicted_BB0.29700.29600.2966model_form_blend
predicted_H0.90600.79600.8603model_form_blend
predicted_HBP-0.00300.0030form_only
predicted_HR0.04700.04100.0445model_form_blend
predicted_OBP0.34700.29590.3258model_form_blend
predicted_R0.40600.41600.4102model_form_blend
predicted_RBI0.31200.22800.2771model_form_blend
predicted_SLG0.37900.30290.3474model_form_blend
predicted_SO0.76600.84000.7967model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date228
Season rows before report date228
Report year2026
Profile rows used64
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H1
2B0
3B0
HR0
R0
RBI0
BB0
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.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
allPositionsPlayedLF
gameID20260819_LAA@HOU
game_typefull
mlbID685133
playerID685133
playerNameWade Meckler
posOF
startedTrue
startingPositionLF
teamLAA
teamID13
game_date2026-08-19
game_pk824155.0
sl_k_percent21.8
sl_bb_percent8.9
sl_woba0.328
sl_xwoba0.304
sl_xba0.253
sl_xslg0.354
sl_sweet_spot_percent35.5
sl_barrel_batted_rate3.2
sl_hard_hit_percent32.3
sl_exit_velocity_avg86.5
sl_launch_angle_avg6.6
sl_whiff_percent23.1
sl_swing_percent44.9
at_bat_number29.0
ab_pitcher656986.0
ab_pitcher_nameSousa, Bennett
ab_home_teamHOU
ab_away_teamLAA
ab_game_typeR
ab_standL
ab_p_throwsL
ab_inning4.0
ab_inning_topbotTop
ab_outs_when_up2.0
ab_on_2b_start694203.0
ab_balls_start0.0
ab_strikes_start0.0
ab_home_score_start1.0
ab_away_score_start2.0
ab_bat_score_start2.0
ab_fld_score_start1.0
ab_eventfield_out
ab_event_descriptionWade Meckler grounds out, second baseman Jose Altuve to first baseman Christian Walker.
ab_event_typeX
ab_bb_typeground_ball
ab_hit_location4.0
ab_pitch_type_lastSI
ab_pitch_name_lastSinker
ab_zone_last3.0
ab_launch_speed_last74.2
ab_launch_angle_last-32.0
ab_hit_distance_last5.0
ab_estimated_ba_last0.058
ab_estimated_woba_last0.052
ab_estimated_slg_last0.064
ab_woba_value0.0
ab_woba_denom1.0
ab_babip_value0.0
ab_iso_value0.0
ab_balls_end1.0
ab_strikes_end0.0
ab_home_score_end1.0
ab_away_score_end2.0
ab_bat_score_end2.0
ab_fld_score_end1.0
ab_pitch_count2.0
ab_release_speed_avg93.55
ab_release_spin_rate_avg2275.0
ab_effective_speed_avg93.75
ab_launch_speed_avg74.2
ab_launch_angle_avg-32.0
ab_delta_run_exp_avg-0.1399999999999999
ab_delta_home_win_exp_avg0.0174999999999999
ab_delta_pitcher_run_exp_avg0.1399999999999999
ab_bat_speed_avg65.7
ab_swing_length_avg5.8
ab_launch_speed_max74.2
ab_hit_distance_sc_max5.0
ab_release_speed_max93.6
ab_release_spin_rate_max2306.0
ab_release_speed_min93.5
ab_release_spin_rate_min2244.0
ab_delta_run_exp_sum-0.2799999999999999
ab_delta_home_win_exp_sum0.0349999999999999
ab_delta_pitcher_run_exp_sum0.2799999999999999
ab_result_is_hitFalse
ab_result_is_walkFalse
ab_result_is_strikeoutFalse
ab_result_is_hbpFalse
Moisés Ballesteros (694208) · BATTER · DH · Team LAA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 55
All-history rows before 20260820: 55
System season_avg: 0.2040
Data season_avg (2026 season-to-date): 0.1256
Diff (system - data): 0.0784
System opponent_avg: 0.0000
System season_avg diverges from 2026 season-to-date by 0.0784. 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.0830.0000.000Hitting_2B0.0000.0000.0000.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.0904.0003.000Hitting_AB3.6183.0000.3821.000
predicted_AVG0.1820.0000.333Hitting_AVG0.1260.000-0.1260.000
predicted_BB0.2920.0000.000Hitting_BB0.3641.000-0.364-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.5600.0001.000Hitting_H0.4550.000-0.4550.000
predicted_HR0.0700.0000.000Hitting_HR0.0000.0000.0000.000
predicted_OBP0.2420.0000.333Hitting_OBP0.2050.250-0.205-0.250
predicted_R0.2360.0000.000Hitting_R0.0910.000-0.0910.000
predicted_RBI0.2800.0000.000Hitting_RBI0.0000.0000.0000.000
predicted_SLG0.2460.0000.333Hitting_SLG0.1260.000-0.1260.000
predicted_SO0.6672.0001.000Hitting_SO0.8911.0001.1091.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics3
Deboosted Metrics7
Better Metrics2
Worse Metrics8
Biggest Boostpredicted_SO: 0.6670 -> 2.0000 (boost 1.3330, worse)
Biggest Deboostpredicted_H: 0.5600 -> 0.0000 (deboost -0.5600, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend21111predicted_AB: 3.0900 -> 3.1637 (boost 0.0737, better)predicted_AVG: 0.1820 -> 0.1732 (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_snapshot11010predicted_SLG: 0.2440 -> 0.2598 (boost 0.0158, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling72516predicted_H: 0.5430 -> 1.0000 (boost 0.4570, better)predicted_BB: 0.3051 -> 0.0000 (deboost -0.3051, worse)AB rounded to 3 (raw=3.16), rates preserved: AVG=0.172 HR/AB=0.021
5consistency_constraints10101-predicted_R: 0.2348 -> 0.0000 (deboost -0.2348, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context33030predicted_AVG: 0.1716 -> 0.3330 (boost 0.1614, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference32112predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final30303-predicted_AVG: 0.3330 -> 0.1716 (deboost -0.1614, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "694208",
  "player_name": "Moisés Ballesteros",
  "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.083,
        "predicted_3B": 0.0,
        "predicted_AB": 3.09,
        "predicted_AVG": 0.182,
        "predicted_BB": 0.292,
        "predicted_H": 0.56,
        "predicted_HR": 0.07,
        "predicted_OBP": 0.242,
        "predicted_R": 0.236,
        "predicted_RBI": 0.28,
        "predicted_SLG": 0.246,
        "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.0768,
        "predicted_3B": 0.0008,
        "predicted_AB": 3.1637,
        "predicted_AVG": 0.1732,
        "predicted_BB": 0.307,
        "predicted_H": 0.5459,
        "predicted_HBP": 0.003,
        "predicted_HR": 0.0675,
        "predicted_OBP": 0.2401,
        "predicted_R": 0.2372,
        "predicted_RBI": 0.2604,
        "predicted_SLG": 0.244,
        "predicted_SO": 0.7032
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.083,
          "after": 0.0768,
          "delta": -0.0062,
          "percent_delta": -0.0747,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0008,
          "delta": 0.0008,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.09,
          "after": 3.1637,
          "delta": 0.0737,
          "percent_delta": 0.0239,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.182,
          "after": 0.1732,
          "delta": -0.0088,
          "percent_delta": -0.0484,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.292,
          "after": 0.307,
          "delta": 0.015,
          "percent_delta": 0.0514,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.56,
          "after": 0.5459,
          "delta": -0.0141,
          "percent_delta": -0.0252,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.07,
          "after": 0.0675,
          "delta": -0.0025,
          "percent_delta": -0.0357,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.242,
          "after": 0.2401,
          "delta": -0.0019,
          "percent_delta": -0.0079,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.236,
          "after": 0.2372,
          "delta": 0.0012,
          "percent_delta": 0.0051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.28,
          "after": 0.2604,
          "delta": -0.0196,
          "percent_delta": -0.07,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.246,
          "after": 0.244,
          "delta": -0.002,
          "percent_delta": -0.0081,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.667,
          "after": 0.7032,
          "delta": 0.0362,
          "percent_delta": 0.0543,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.09,
          "after": 3.1637,
          "delta": 0.0737,
          "percent_delta": 0.0239,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.182,
          "after": 0.1732,
          "delta": -0.0088,
          "percent_delta": -0.0484,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 72
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0768,
        "predicted_3B": 0.0008,
        "predicted_AB": 3.1637,
        "predicted_AVG": 0.1716,
        "predicted_BB": 0.3051,
        "predicted_H": 0.543,
        "predicted_HBP": 0.003,
        "predicted_HR": 0.0668,
        "predicted_OBP": 0.2445,
        "predicted_R": 0.2348,
        "predicted_RBI": 0.2577,
        "predicted_SLG": 0.2598,
        "predicted_SO": 0.7076
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0768,
          "after": 0.0768,
          "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.1637,
          "after": 3.1637,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1732,
          "after": 0.1716,
          "delta": -0.0016,
          "percent_delta": -0.0092,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.307,
          "after": 0.3051,
          "delta": -0.0019,
          "percent_delta": -0.0062,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.5459,
          "after": 0.543,
          "delta": -0.0029,
          "percent_delta": -0.0053,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.003,
          "after": 0.003,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0675,
          "after": 0.0668,
          "delta": -0.0007,
          "percent_delta": -0.0104,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2401,
          "after": 0.2445,
          "delta": 0.0044,
          "percent_delta": 0.0183,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.2372,
          "after": 0.2348,
          "delta": -0.0024,
          "percent_delta": -0.0101,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2604,
          "after": 0.2577,
          "delta": -0.0027,
          "percent_delta": -0.0104,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.244,
          "after": 0.2598,
          "delta": 0.0158,
          "percent_delta": 0.0648,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7032,
          "after": 0.7076,
          "delta": 0.0044,
          "percent_delta": 0.0063,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.244,
          "after": 0.2598,
          "delta": 0.0158,
          "percent_delta": 0.0648,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.16), rates preserved: AVG=0.172 HR/AB=0.021",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0768,
          "after": 0.0,
          "delta": -0.0768,
          "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.1637,
          "after": 3.0,
          "delta": -0.1637,
          "percent_delta": -0.0517,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3051,
          "after": 0.0,
          "delta": -0.3051,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.543,
          "after": 1.0,
          "delta": 0.457,
          "percent_delta": 0.8416,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.003,
          "after": 0.0,
          "delta": -0.003,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0668,
          "after": 0.0,
          "delta": -0.0668,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2577,
          "after": 0.0,
          "delta": -0.2577,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7076,
          "after": 1.0,
          "delta": 0.2924,
          "percent_delta": 0.4132,
          "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.543,
          "after": 1.0,
          "delta": 0.457,
          "percent_delta": 0.8416,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3051,
          "after": 0.0,
          "delta": -0.3051,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.2348,
          "after": 0.0,
          "delta": -0.2348,
          "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.2348,
          "after": 0.0,
          "delta": -0.2348,
          "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.1716,
          "after": 0.333,
          "delta": 0.1614,
          "percent_delta": 0.9406,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2445,
          "after": 0.333,
          "delta": 0.0885,
          "percent_delta": 0.362,
          "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.2598,
          "after": 0.333,
          "delta": 0.0732,
          "percent_delta": 0.2818,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.1716,
          "after": 0.333,
          "delta": 0.1614,
          "percent_delta": 0.9406,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.1716,
        "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.2445,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2598,
        "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.1716,
          "delta": -0.1614,
          "percent_delta": -0.4846,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.2445,
          "delta": -0.0885,
          "percent_delta": -0.2658,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 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.2598,
          "delta": -0.0732,
          "percent_delta": -0.2199,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.333,
          "after": 0.1716,
          "delta": -0.1614,
          "percent_delta": -0.4846,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.083,
        "after": 0.0,
        "delta": -0.083,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.09,
        "after": 4.0,
        "delta": 0.91,
        "percent_delta": 0.2945,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.182,
        "after": 0.1716,
        "delta": -0.0104,
        "percent_delta": -0.0571,
        "direction": "deboost",
        "projection_effect": "worse",
        "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.56,
        "after": 0.0,
        "delta": -0.56,
        "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.242,
        "after": 0.2445,
        "delta": 0.0025,
        "percent_delta": 0.0103,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.236,
        "after": 0.0,
        "delta": -0.236,
        "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.246,
        "after": 0.2598,
        "delta": 0.0138,
        "percent_delta": 0.0561,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.667,
        "after": 2.0,
        "delta": 1.333,
        "percent_delta": 1.9985,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 3,
      "deboosted_metrics": 7,
      "better_metrics": 2,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.667,
        "after": 2.0,
        "delta": 1.333,
        "percent_delta": 1.9985,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.56,
        "after": 0.0,
        "delta": -0.56,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.083-
predicted_3B0.000-
predicted_AB3.090-
predicted_AVG0.182-
predicted_BB0.292-
predicted_H0.560-
predicted_HR0.070-
predicted_OBP0.242-
predicted_R0.236-
predicted_RBI0.280-
predicted_SLG0.246-
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.077-0.006
predicted_3B0.0010.001
predicted_AB3.1640.074
predicted_AVG0.173-0.009
predicted_BB0.3070.015
predicted_H0.546-0.014
predicted_HBP0.003-
predicted_HR0.068-0.003
predicted_OBP0.240-0.002
predicted_R0.2370.001
predicted_RBI0.260-0.020
predicted_SLG0.244-0.002
predicted_SO0.7030.036
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.0770.000
predicted_3B0.0010.000
predicted_AB3.1640.000
predicted_AVG0.172-0.002
predicted_BB0.305-0.002
predicted_H0.543-0.003
predicted_HBP0.0030.000
predicted_HR0.067-0.001
predicted_OBP0.2440.004
predicted_R0.235-0.002
predicted_RBI0.258-0.003
predicted_SLG0.2600.016
predicted_SO0.7080.004
4. ab_floor_and_scaling

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

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
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.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.077
predicted_3B0.000-0.001
predicted_AB3.000-0.164
predicted_AVG0.3330.161
predicted_BB0.000-0.305
predicted_H1.0000.457
predicted_HR0.000-0.067
predicted_OBP0.3330.089
predicted_R0.000-0.235
predicted_RBI0.000-0.258
predicted_SLG0.3330.073
predicted_SO1.0000.292
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
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO2.0001.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 72
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0001.0000.0000.0000.0000.0001.0002.0004.0000.05260.14290.05260.05260.00000.00000.10530.2105
last_100.2010-36.0003.0000.0000.0000.0000.0001.0004.0009.0000.08330.17500.08330.08330.00000.00000.11110.2500
season0.6072-206.00042.0006.0000.0006.00022.00017.00021.00048.0000.20390.27510.32040.20390.02910.10680.10190.2330
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0680
predicted_3B0.0020
predicted_AB3.2670
predicted_AVG0.1609
predicted_BB0.3280
predicted_H0.5260
predicted_HBP0.0030
predicted_HR0.0640
predicted_OBP0.2375
predicted_R0.2390
predicted_RBI0.2330
predicted_SLG0.2413
predicted_SO0.7540
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.08300.06800.0768model_form_blend
predicted_3B0.00000.00200.0008model_form_blend
predicted_AB3.09003.26703.1637model_form_blend
predicted_AVG0.18200.16090.1732model_form_blend
predicted_BB0.29200.32800.3070model_form_blend
predicted_H0.56000.52600.5459model_form_blend
predicted_HBP-0.00300.0030form_only
predicted_HR0.07000.06400.0675model_form_blend
predicted_OBP0.24200.23750.2401model_form_blend
predicted_R0.23600.23900.2372model_form_blend
predicted_RBI0.28000.23300.2604model_form_blend
predicted_SLG0.24600.24130.2440model_form_blend
predicted_SO0.66700.75400.7032model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% 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 used72
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest 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
allPositionsPlayedC
gameID20260819_LAA@HOU
game_typefull
mlbID694208
playerID694208
playerNameMoisés Ballesteros
posDH
startedTrue
startingPositionC
teamLAA
teamID13
game_date2026-08-19
game_pk824155.0
sl_k_percent20.9
sl_bb_percent9.6
sl_woba0.269
sl_xwoba0.302
sl_xba0.232
sl_xslg0.372
sl_sweet_spot_percent31.9
sl_barrel_batted_rate8.2
sl_hard_hit_percent46.3
sl_exit_velocity_avg90.5
sl_launch_angle_avg10.5
sl_whiff_percent26.9
sl_swing_percent48.8
at_bat_number60.0
ab_pitcher650556.0
ab_pitcher_nameAbreu, Bryan
ab_home_teamHOU
ab_away_teamLAA
ab_game_typeR
ab_standL
ab_p_throwsR
ab_inning8.0
ab_inning_topbotTop
ab_outs_when_up1.0
ab_balls_start0.0
ab_strikes_start0.0
ab_home_score_start3.0
ab_away_score_start2.0
ab_bat_score_start2.0
ab_fld_score_start3.0
ab_eventstrikeout
ab_event_descriptionMoisés Ballesteros strikes out swinging.
ab_event_typeS
ab_hit_location2.0
ab_pitch_type_lastFF
ab_pitch_name_last4-Seam Fastball
ab_zone_last12.0
ab_estimated_woba_last0.0
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_end3.0
ab_away_score_end2.0
ab_bat_score_end2.0
ab_fld_score_end3.0
ab_pitch_count3.0
ab_release_speed_avg93.5
ab_release_spin_rate_avg2637.0
ab_effective_speed_avg93.63333333333333
ab_delta_run_exp_avg-0.0873333333333333
ab_delta_home_win_exp_avg0.0136666666666666
ab_delta_pitcher_run_exp_avg0.0873333333333333
ab_bat_speed_avg67.15
ab_swing_length_avg5.65
ab_release_speed_max97.4
ab_release_spin_rate_max3015.0
ab_release_speed_min85.9
ab_release_spin_rate_min2437.0
ab_delta_run_exp_sum-0.262
ab_delta_home_win_exp_sum0.041
ab_delta_pitcher_run_exp_sum0.262
ab_result_is_hitFalse
ab_result_is_walkFalse
ab_result_is_strikeoutTrue
ab_result_is_hbpFalse
Vaughn Grissom (687093) · BATTER · 3B · Team LAA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 321
All-history rows before 20260820: 321
System season_avg: 0.2440
Data season_avg (2026 season-to-date): 0.2523
Diff (system - data): -0.0083
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.1980.0000.000Hitting_2B0.2020.000-0.2020.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.5934.0004.000Hitting_AB3.7793.0000.2211.000
predicted_AVG0.2440.0000.250Hitting_AVG0.2520.000-0.2520.000
predicted_BB0.2470.0000.000Hitting_BB0.2711.000-0.271-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.8770.0001.000Hitting_H0.9530.000-0.9530.000
predicted_HR0.0860.0000.000Hitting_HR0.1000.000-0.1000.000
predicted_OBP0.2930.0000.250Hitting_OBP0.3070.250-0.307-0.250
predicted_R0.3830.0000.000Hitting_R0.4211.000-0.421-1.000
predicted_RBI0.5680.0001.000Hitting_RBI0.6640.000-0.6640.000
predicted_SLG0.3710.0000.250Hitting_SLG0.3850.000-0.3850.000
predicted_SO0.7411.0001.000Hitting_SO0.7513.0000.249-2.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.5930 -> 4.0000 (boost 0.4070, better)
Biggest Deboostpredicted_H: 0.8770 -> 0.0000 (deboost -0.8770, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend51405predicted_SO: 0.7410 -> 0.8744 (boost 0.1334, worse)predicted_RBI: 0.5680 -> 0.4869 (deboost -0.0811, worse)Final model input calibrated 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_scaling74334predicted_RBI: 0.4819 -> 1.0000 (boost 0.5181, better)predicted_BB: 0.2315 -> 0.0000 (deboost -0.2315, worse)AB rounded to 4 (raw=3.63), rates preserved: AVG=0.229 HR/AB=0.020
5consistency_constraints10101-predicted_R: 0.3783 -> 0.0000 (deboost -0.3783, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context31212predicted_AVG: 0.2294 -> 0.2500 (boost 0.0206, better)predicted_SLG: 0.3392 -> 0.2500 (deboost -0.0892, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference20202-predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final32121predicted_SLG: 0.2500 -> 0.3392 (boost 0.0892, better)predicted_AVG: 0.2500 -> 0.2294 (deboost -0.0206, 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.198,
        "predicted_3B": 0.0,
        "predicted_AB": 3.593,
        "predicted_AVG": 0.244,
        "predicted_BB": 0.247,
        "predicted_H": 0.877,
        "predicted_HR": 0.086,
        "predicted_OBP": 0.293,
        "predicted_R": 0.383,
        "predicted_RBI": 0.568,
        "predicted_SLG": 0.371,
        "predicted_SO": 0.741
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1751,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.6325,
        "predicted_AVG": 0.2308,
        "predicted_BB": 0.233,
        "predicted_H": 0.8379,
        "predicted_HBP": 0.037,
        "predicted_HR": 0.075,
        "predicted_OBP": 0.2792,
        "predicted_R": 0.3822,
        "predicted_RBI": 0.4869,
        "predicted_SLG": 0.3413,
        "predicted_SO": 0.8744
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.198,
          "after": 0.1751,
          "delta": -0.0229,
          "percent_delta": -0.1157,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0004,
          "delta": 0.0004,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.593,
          "after": 3.6325,
          "delta": 0.0395,
          "percent_delta": 0.011,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.244,
          "after": 0.2308,
          "delta": -0.0132,
          "percent_delta": -0.0541,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.247,
          "after": 0.233,
          "delta": -0.014,
          "percent_delta": -0.0567,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.877,
          "after": 0.8379,
          "delta": -0.0391,
          "percent_delta": -0.0446,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.086,
          "after": 0.075,
          "delta": -0.011,
          "percent_delta": -0.1279,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.293,
          "after": 0.2792,
          "delta": -0.0138,
          "percent_delta": -0.0471,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.383,
          "after": 0.3822,
          "delta": -0.0008,
          "percent_delta": -0.0021,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.568,
          "after": 0.4869,
          "delta": -0.0811,
          "percent_delta": -0.1428,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.371,
          "after": 0.3413,
          "delta": -0.0297,
          "percent_delta": -0.0801,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.741,
          "after": 0.8744,
          "delta": 0.1334,
          "percent_delta": 0.18,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.741,
          "after": 0.8744,
          "delta": 0.1334,
          "percent_delta": 0.18,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.568,
          "after": 0.4869,
          "delta": -0.0811,
          "percent_delta": -0.1428,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 81
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1751,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.6325,
        "predicted_AVG": 0.2294,
        "predicted_BB": 0.2315,
        "predicted_H": 0.8334,
        "predicted_HBP": 0.037,
        "predicted_HR": 0.0742,
        "predicted_OBP": 0.2756,
        "predicted_R": 0.3783,
        "predicted_RBI": 0.4819,
        "predicted_SLG": 0.3392,
        "predicted_SO": 0.8799
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1751,
          "after": 0.1751,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6325,
          "after": 3.6325,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2308,
          "after": 0.2294,
          "delta": -0.0014,
          "percent_delta": -0.0061,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.233,
          "after": 0.2315,
          "delta": -0.0015,
          "percent_delta": -0.0064,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8379,
          "after": 0.8334,
          "delta": -0.0045,
          "percent_delta": -0.0054,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.037,
          "after": 0.037,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.075,
          "after": 0.0742,
          "delta": -0.0008,
          "percent_delta": -0.0107,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2792,
          "after": 0.2756,
          "delta": -0.0036,
          "percent_delta": -0.0129,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3822,
          "after": 0.3783,
          "delta": -0.0039,
          "percent_delta": -0.0102,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4869,
          "after": 0.4819,
          "delta": -0.005,
          "percent_delta": -0.0103,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3413,
          "after": 0.3392,
          "delta": -0.0021,
          "percent_delta": -0.0062,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.8744,
          "after": 0.8799,
          "delta": 0.0055,
          "percent_delta": 0.0063,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.63), rates preserved: AVG=0.229 HR/AB=0.020",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1751,
          "after": 0.0,
          "delta": -0.1751,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0,
          "delta": -0.0004,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6325,
          "after": 4.0,
          "delta": 0.3675,
          "percent_delta": 0.1012,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2315,
          "after": 0.0,
          "delta": -0.2315,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8334,
          "after": 1.0,
          "delta": 0.1666,
          "percent_delta": 0.1999,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.037,
          "after": 0.0,
          "delta": -0.037,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0742,
          "after": 0.0,
          "delta": -0.0742,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4819,
          "after": 1.0,
          "delta": 0.5181,
          "percent_delta": 1.0751,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8799,
          "after": 1.0,
          "delta": 0.1201,
          "percent_delta": 0.1365,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 4,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.4819,
          "after": 1.0,
          "delta": 0.5181,
          "percent_delta": 1.0751,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2315,
          "after": 0.0,
          "delta": -0.2315,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3783,
          "after": 0.0,
          "delta": -0.3783,
          "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.3783,
          "after": 0.0,
          "delta": -0.3783,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.25,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.25,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2294,
          "after": 0.25,
          "delta": 0.0206,
          "percent_delta": 0.0898,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2756,
          "after": 0.25,
          "delta": -0.0256,
          "percent_delta": -0.0929,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "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.3392,
          "after": 0.25,
          "delta": -0.0892,
          "percent_delta": -0.263,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.2294,
          "after": 0.25,
          "delta": 0.0206,
          "percent_delta": 0.0898,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3392,
          "after": 0.25,
          "delta": -0.0892,
          "percent_delta": -0.263,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.2294,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2756,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3392,
        "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.2294,
          "delta": -0.0206,
          "percent_delta": -0.0823,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.2756,
          "delta": 0.0256,
          "percent_delta": 0.1024,
          "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.3392,
          "delta": 0.0892,
          "percent_delta": 0.3567,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.3392,
          "delta": 0.0892,
          "percent_delta": 0.3567,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2294,
          "delta": -0.0206,
          "percent_delta": -0.0823,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.198,
        "after": 0.0,
        "delta": -0.198,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.593,
        "after": 4.0,
        "delta": 0.407,
        "percent_delta": 0.1133,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.244,
        "after": 0.2294,
        "delta": -0.0146,
        "percent_delta": -0.0598,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.247,
        "after": 0.0,
        "delta": -0.247,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.877,
        "after": 0.0,
        "delta": -0.877,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.086,
        "after": 0.0,
        "delta": -0.086,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.293,
        "after": 0.2756,
        "delta": -0.0174,
        "percent_delta": -0.0594,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.383,
        "after": 0.0,
        "delta": -0.383,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.568,
        "after": 0.0,
        "delta": -0.568,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.371,
        "after": 0.3392,
        "delta": -0.0318,
        "percent_delta": -0.0857,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.741,
        "after": 1.0,
        "delta": 0.259,
        "percent_delta": 0.3495,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 2,
      "deboosted_metrics": 9,
      "better_metrics": 1,
      "worse_metrics": 10,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.593,
        "after": 4.0,
        "delta": 0.407,
        "percent_delta": 0.1133,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.877,
        "after": 0.0,
        "delta": -0.877,
        "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_AB3.593-
predicted_AVG0.244-
predicted_BB0.247-
predicted_H0.877-
predicted_HR0.086-
predicted_OBP0.293-
predicted_R0.383-
predicted_RBI0.568-
predicted_SLG0.371-
predicted_SO0.741-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.175-0.023
predicted_3B0.0000.000
predicted_AB3.6320.039
predicted_AVG0.231-0.013
predicted_BB0.233-0.014
predicted_H0.838-0.039
predicted_HBP0.037-
predicted_HR0.075-0.011
predicted_OBP0.279-0.014
predicted_R0.382-0.001
predicted_RBI0.487-0.081
predicted_SLG0.341-0.030
predicted_SO0.8740.133
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1750.000
predicted_3B0.0000.000
predicted_AB3.6320.000
predicted_AVG0.229-0.001
predicted_BB0.232-0.002
predicted_H0.833-0.004
predicted_HBP0.0370.000
predicted_HR0.074-0.001
predicted_OBP0.276-0.004
predicted_R0.378-0.004
predicted_RBI0.482-0.005
predicted_SLG0.339-0.002
predicted_SO0.8800.006
4. ab_floor_and_scaling

AB rounded to 4 (raw=3.63), rates preserved: AVG=0.229 HR/AB=0.020

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.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
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
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.175
predicted_3B0.000-0.000
predicted_AB4.0000.368
predicted_AVG0.2500.021
predicted_BB0.000-0.232
predicted_H1.0000.167
predicted_HR0.000-0.074
predicted_OBP0.250-0.026
predicted_R0.000-0.378
predicted_RBI1.0000.518
predicted_SLG0.250-0.089
predicted_SO1.0000.120
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
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 81
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0003.0000.0000.0000.0000.0002.0001.0009.0000.15790.20000.15790.15790.00000.00000.05260.4737
last_100.2010-38.0006.0001.0000.0000.0001.0003.0001.00014.0000.15790.17950.18420.15790.00000.02630.02630.3684
season0.6081-291.00071.00016.0000.0007.00046.00031.00020.00060.0000.24400.30090.37110.24400.02400.15810.06870.2062
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1440
predicted_3B0.0010
predicted_AB3.6860
predicted_AVG0.2129
predicted_BB0.2140
predicted_H0.7850
predicted_HBP0.0370
predicted_HR0.0600
predicted_OBP0.2606
predicted_R0.3810
predicted_RBI0.3770
predicted_SLG0.3012
predicted_SO1.0550
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.19800.14400.1751model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.59303.68603.6325model_form_blend
predicted_AVG0.24400.21290.2308model_form_blend
predicted_BB0.24700.21400.2330model_form_blend
predicted_H0.87700.78500.8379model_form_blend
predicted_HBP-0.03700.0370form_only
predicted_HR0.08600.06000.0750model_form_blend
predicted_OBP0.29300.26060.2792model_form_blend
predicted_R0.38300.38100.3822model_form_blend
predicted_RBI0.56800.37700.4869model_form_blend
predicted_SLG0.37100.30120.3413model_form_blend
predicted_SO0.74101.05500.8744model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date321
Season rows before report date321
Report year2026
Profile rows used81
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H0
2B0
3B0
HR0
R0
RBI0
BB0
SO1
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_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_SO3
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
allPositionsPlayedDH
gameID20260819_LAA@HOU
game_typefull
mlbID687093
playerID687093
playerNameVaughn Grissom
pos2B
startedTrue
startingPositionDH
teamLAA
teamID13
game_date2026-08-19
game_pk824155.0
sl_k_percent18.6
sl_bb_percent6.8
sl_woba0.299
sl_xwoba0.309
sl_xba0.249
sl_xslg0.38
sl_sweet_spot_percent32.8
sl_barrel_batted_rate6.4
sl_hard_hit_percent38.3
sl_exit_velocity_avg88.2
sl_launch_angle_avg12.7
sl_whiff_percent22.6
sl_swing_percent48.9
at_bat_number61.0
ab_pitcher650556.0
ab_pitcher_nameAbreu, Bryan
ab_home_teamHOU
ab_away_teamLAA
ab_game_typeR
ab_standR
ab_p_throwsR
ab_inning8.0
ab_inning_topbotTop
ab_outs_when_up2.0
ab_balls_start0.0
ab_strikes_start0.0
ab_home_score_start3.0
ab_away_score_start2.0
ab_bat_score_start2.0
ab_fld_score_start3.0
ab_eventstrikeout
ab_event_descriptionVaughn Grissom called out on strikes.
ab_event_typeS
ab_hit_location2.0
ab_pitch_type_lastFF
ab_pitch_name_last4-Seam Fastball
ab_zone_last5.0
ab_estimated_woba_last0.0
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_end3.0
ab_away_score_end2.0
ab_bat_score_end2.0
ab_fld_score_end3.0
ab_pitch_count6.0
ab_release_speed_avg92.86666666666667
ab_release_spin_rate_avg2658.833333333333
ab_effective_speed_avg93.13333333333333
ab_delta_run_exp_avg-0.0431666666666666
ab_delta_home_win_exp_avg0.0045
ab_delta_pitcher_run_exp_avg0.0431666666666666
ab_bat_speed_avg33.5
ab_swing_length_avg6.4
ab_release_speed_max98.7
ab_release_spin_rate_max3071.0
ab_release_speed_min86.5
ab_release_spin_rate_min2430.0
ab_delta_run_exp_sum-0.259
ab_delta_home_win_exp_sum0.027
ab_delta_pitcher_run_exp_sum0.259
ab_result_is_hitFalse
ab_result_is_walkFalse
ab_result_is_strikeoutTrue
ab_result_is_hbpFalse
Josh Lowe (666139) · BATTER · RF · Team LAA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 253
All-history rows before 20260820: 253
System season_avg: 0.2090
Data season_avg (2026 season-to-date): 0.2035
Diff (system - data): 0.0055
System opponent_avg: 0.1920

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0770.0000.000Hitting_2B0.0710.000-0.0710.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.9493.0003.000Hitting_AB3.1462.000-0.1461.000
predicted_AVG0.2090.3330.333Hitting_AVG0.2041.0000.130-0.667
predicted_BB0.2180.0000.000Hitting_BB0.2451.000-0.245-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0121.000-0.012-1.000
predicted_H0.6151.0001.000Hitting_H0.6402.0000.360-1.000
predicted_HR0.1281.0000.000Hitting_HR0.1380.0000.8621.000
predicted_OBP0.2630.3330.333Hitting_OBP0.2631.0000.070-0.667
predicted_R0.2821.0000.000Hitting_R0.3161.0000.6840.000
predicted_RBI0.3331.0000.000Hitting_RBI0.3480.0000.6521.000
predicted_SLG0.3651.3330.333Hitting_SLG0.3581.0000.9750.333
predicted_SO0.9101.0001.000Hitting_SO0.9720.0000.0281.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics10
Boosted Metrics8
Deboosted Metrics2
Better Metrics7
Worse Metrics3
Biggest Boostpredicted_HR: 0.1280 -> 1.0000 (boost 0.8720, better)
Biggest Deboostpredicted_BB: 0.2180 -> 0.0000 (deboost -0.2180, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend44040predicted_AB: 2.9490 -> 3.0026 (boost 0.0536, 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_scaling62415predicted_H: 0.6454 -> 1.0000 (boost 0.3546, better)predicted_RBI: 0.3461 -> 0.0000 (deboost -0.3461, worse)AB rounded to 3 (raw=3.00), rates preserved: AVG=0.215 HR/AB=0.051
5consistency_constraints10101-predicted_R: 0.3119 -> 0.0000 (deboost -0.3119, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context32121predicted_AVG: 0.2149 -> 0.3330 (boost 0.1181, better)predicted_SLG: 0.3933 -> 0.3330 (deboost -0.0603, 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_final31212predicted_SLG: 0.3330 -> 0.3933 (boost 0.0603, better)predicted_AVG: 0.3330 -> 0.2149 (deboost -0.1181, worse)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": "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.077,
        "predicted_3B": 0.0,
        "predicted_AB": 2.949,
        "predicted_AVG": 0.209,
        "predicted_BB": 0.218,
        "predicted_H": 0.615,
        "predicted_HR": 0.128,
        "predicted_OBP": 0.263,
        "predicted_R": 0.282,
        "predicted_RBI": 0.333,
        "predicted_SLG": 0.365,
        "predicted_SO": 0.91
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0774,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.0026,
        "predicted_AVG": 0.2162,
        "predicted_BB": 0.2176,
        "predicted_H": 0.6489,
        "predicted_HBP": 0.01,
        "predicted_HR": 0.154,
        "predicted_OBP": 0.2697,
        "predicted_R": 0.3151,
        "predicted_RBI": 0.3497,
        "predicted_SLG": 0.3952,
        "predicted_SO": 0.9255
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.077,
          "after": 0.0774,
          "delta": 0.0004,
          "percent_delta": 0.0052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0004,
          "delta": 0.0004,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.949,
          "after": 3.0026,
          "delta": 0.0536,
          "percent_delta": 0.0182,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.209,
          "after": 0.2162,
          "delta": 0.0072,
          "percent_delta": 0.0344,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.218,
          "after": 0.2176,
          "delta": -0.0004,
          "percent_delta": -0.0018,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.615,
          "after": 0.6489,
          "delta": 0.0339,
          "percent_delta": 0.0551,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.128,
          "after": 0.154,
          "delta": 0.026,
          "percent_delta": 0.2031,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.263,
          "after": 0.2697,
          "delta": 0.0067,
          "percent_delta": 0.0255,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.282,
          "after": 0.3151,
          "delta": 0.0331,
          "percent_delta": 0.1174,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.333,
          "after": 0.3497,
          "delta": 0.0167,
          "percent_delta": 0.0502,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.365,
          "after": 0.3952,
          "delta": 0.0302,
          "percent_delta": 0.0827,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.91,
          "after": 0.9255,
          "delta": 0.0155,
          "percent_delta": 0.017,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.949,
          "after": 3.0026,
          "delta": 0.0536,
          "percent_delta": 0.0182,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 78
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0774,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.0026,
        "predicted_AVG": 0.2149,
        "predicted_BB": 0.2162,
        "predicted_H": 0.6454,
        "predicted_HBP": 0.01,
        "predicted_HR": 0.1525,
        "predicted_OBP": 0.2677,
        "predicted_R": 0.3119,
        "predicted_RBI": 0.3461,
        "predicted_SLG": 0.3933,
        "predicted_SO": 0.9313
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0774,
          "after": 0.0774,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0026,
          "after": 3.0026,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2162,
          "after": 0.2149,
          "delta": -0.0013,
          "percent_delta": -0.006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2176,
          "after": 0.2162,
          "delta": -0.0014,
          "percent_delta": -0.0064,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.6489,
          "after": 0.6454,
          "delta": -0.0035,
          "percent_delta": -0.0054,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.01,
          "after": 0.01,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.154,
          "after": 0.1525,
          "delta": -0.0015,
          "percent_delta": -0.0097,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2697,
          "after": 0.2677,
          "delta": -0.002,
          "percent_delta": -0.0074,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3151,
          "after": 0.3119,
          "delta": -0.0032,
          "percent_delta": -0.0102,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3497,
          "after": 0.3461,
          "delta": -0.0036,
          "percent_delta": -0.0103,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3952,
          "after": 0.3933,
          "delta": -0.0019,
          "percent_delta": -0.0048,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.9255,
          "after": 0.9313,
          "delta": 0.0058,
          "percent_delta": 0.0063,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.00), rates preserved: AVG=0.215 HR/AB=0.051",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0774,
          "after": 0.0,
          "delta": -0.0774,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0,
          "delta": -0.0004,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0026,
          "after": 3.0,
          "delta": -0.0026,
          "percent_delta": -0.0009,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2162,
          "after": 0.0,
          "delta": -0.2162,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6454,
          "after": 1.0,
          "delta": 0.3546,
          "percent_delta": 0.5494,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.01,
          "after": 0.0,
          "delta": -0.01,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1525,
          "after": 0.0,
          "delta": -0.1525,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3461,
          "after": 0.0,
          "delta": -0.3461,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9313,
          "after": 1.0,
          "delta": 0.0687,
          "percent_delta": 0.0738,
          "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.6454,
          "after": 1.0,
          "delta": 0.3546,
          "percent_delta": 0.5494,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3461,
          "after": 0.0,
          "delta": -0.3461,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3119,
          "after": 0.0,
          "delta": -0.3119,
          "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.3119,
          "after": 0.0,
          "delta": -0.3119,
          "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.2149,
          "after": 0.333,
          "delta": 0.1181,
          "percent_delta": 0.5496,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2677,
          "after": 0.333,
          "delta": 0.0653,
          "percent_delta": 0.2439,
          "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.3933,
          "after": 0.333,
          "delta": -0.0603,
          "percent_delta": -0.1533,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.2149,
          "after": 0.333,
          "delta": 0.1181,
          "percent_delta": 0.5496,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3933,
          "after": 0.333,
          "delta": -0.0603,
          "percent_delta": -0.1533,
          "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": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 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": 3.0,
        "predicted_AVG": 0.2149,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.2677,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3933,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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.2149,
          "delta": -0.1181,
          "percent_delta": -0.3545,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "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.2677,
          "delta": -0.0653,
          "percent_delta": -0.1961,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 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.3933,
          "delta": 0.0603,
          "percent_delta": 0.1811,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.3933,
          "delta": 0.0603,
          "percent_delta": 0.1811,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.333,
          "after": 0.2149,
          "delta": -0.1181,
          "percent_delta": -0.3545,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.077,
        "after": 0.0,
        "delta": -0.077,
        "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.949,
        "after": 3.0,
        "delta": 0.051,
        "percent_delta": 0.0173,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.209,
        "after": 0.2149,
        "delta": 0.0059,
        "percent_delta": 0.0282,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.218,
        "after": 0.0,
        "delta": -0.218,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.615,
        "after": 1.0,
        "delta": 0.385,
        "percent_delta": 0.626,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.128,
        "after": 1.0,
        "delta": 0.872,
        "percent_delta": 6.8125,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.263,
        "after": 0.2677,
        "delta": 0.0047,
        "percent_delta": 0.0179,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.282,
        "after": 1.0,
        "delta": 0.718,
        "percent_delta": 2.5461,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.333,
        "after": 1.0,
        "delta": 0.667,
        "percent_delta": 2.003,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.365,
        "after": 0.3933,
        "delta": 0.0283,
        "percent_delta": 0.0775,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.91,
        "after": 1.0,
        "delta": 0.09,
        "percent_delta": 0.0989,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 8,
      "deboosted_metrics": 2,
      "better_metrics": 7,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_HR",
        "before": 0.128,
        "after": 1.0,
        "delta": 0.872,
        "percent_delta": 6.8125,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.218,
        "after": 0.0,
        "delta": -0.218,
        "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.077-
predicted_3B0.000-
predicted_AB2.949-
predicted_AVG0.209-
predicted_BB0.218-
predicted_H0.615-
predicted_HR0.128-
predicted_OBP0.263-
predicted_R0.282-
predicted_RBI0.333-
predicted_SLG0.365-
predicted_SO0.910-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.0770.000
predicted_3B0.0000.000
predicted_AB3.0030.054
predicted_AVG0.2160.007
predicted_BB0.218-0.000
predicted_H0.6490.034
predicted_HBP0.010-
predicted_HR0.1540.026
predicted_OBP0.2700.007
predicted_R0.3150.033
predicted_RBI0.3500.017
predicted_SLG0.3950.030
predicted_SO0.9250.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.0770.000
predicted_3B0.0000.000
predicted_AB3.0030.000
predicted_AVG0.215-0.001
predicted_BB0.216-0.001
predicted_H0.645-0.004
predicted_HBP0.0100.000
predicted_HR0.152-0.002
predicted_OBP0.268-0.002
predicted_R0.312-0.003
predicted_RBI0.346-0.004
predicted_SLG0.393-0.002
predicted_SO0.9310.006
4. ab_floor_and_scaling

AB rounded to 3 (raw=3.00), rates preserved: AVG=0.215 HR/AB=0.051

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. 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
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.077
predicted_3B0.000-0.000
predicted_AB3.000-0.003
predicted_AVG0.3330.118
predicted_BB0.000-0.216
predicted_H1.0000.355
predicted_HR0.000-0.152
predicted_OBP0.3330.065
predicted_R0.000-0.312
predicted_RBI0.000-0.346
predicted_SLG0.333-0.060
predicted_SO1.0000.069
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.0000.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR1.0001.000
PA3.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: 78
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-16.0004.0000.0000.0002.0002.0003.0001.0004.0000.25000.29410.62500.25000.12500.12500.06250.2500
last_100.2010-29.0007.0001.0000.0002.0004.0003.0002.00012.0000.24140.29030.48280.24140.06900.13790.06900.4138
season0.6078-230.00048.0006.0000.00010.00026.00022.00017.00071.0000.20870.26510.36520.20870.04350.11300.07390.3087
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0780
predicted_3B0.0010
predicted_AB3.0770
predicted_AVG0.2261
predicted_BB0.2170
predicted_H0.6960
predicted_HBP0.0100
predicted_HR0.1900
predicted_OBP0.2791
predicted_R0.3610
predicted_RBI0.3730
predicted_SLG0.4372
predicted_SO0.9470
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.07700.07800.0774model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB2.94903.07703.0026model_form_blend
predicted_AVG0.20900.22610.2162model_form_blend
predicted_BB0.21800.21700.2176model_form_blend
predicted_H0.61500.69600.6489model_form_blend
predicted_HBP-0.01000.0100form_only
predicted_HR0.12800.19000.1540model_form_blend
predicted_OBP0.26300.27910.2697model_form_blend
predicted_R0.28200.36100.3151model_form_blend
predicted_RBI0.33300.37300.3497model_form_blend
predicted_SLG0.36500.43720.3952model_form_blend
predicted_SO0.91000.94700.9255model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date253
Season rows before report date253
Report year2026
Profile rows used78
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_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.209

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_AB2
Hitting_AVG1.0
Hitting_BB1
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB2
Hitting_battingOrder7
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedRF
gameID20260819_LAA@HOU
game_typefull
mlbID666139
playerID666139
playerNameJosh Lowe
posLF
startedTrue
startingPositionRF
teamLAA
teamID13
game_date2026-08-19
game_pk824155.0
sl_k_percent28.2
sl_bb_percent7.1
sl_woba0.278
sl_xwoba0.296
sl_xba0.223
sl_xslg0.4
sl_sweet_spot_percent30.2
sl_barrel_batted_rate8.6
sl_hard_hit_percent38.9
sl_exit_velocity_avg89.1
sl_launch_angle_avg19.0
sl_whiff_percent31.3
sl_swing_percent57.0
at_bat_number45.0
ab_pitcher805123.0
ab_pitcher_nameBlubaugh, AJ
ab_home_teamHOU
ab_away_teamLAA
ab_game_typeR
ab_standL
ab_p_throwsR
ab_inning6.0
ab_inning_topbotTop
ab_outs_when_up1.0
ab_balls_start0.0
ab_strikes_start0.0
ab_home_score_start3.0
ab_away_score_start2.0
ab_bat_score_start2.0
ab_fld_score_start3.0
ab_eventsingle
ab_event_descriptionJosh Lowe singles on a line drive to left fielder LaMonte Wade Jr.
ab_event_typeX
ab_bb_typeline_drive
ab_hit_location7.0
ab_pitch_type_lastFF
ab_pitch_name_last4-Seam Fastball
ab_zone_last9.0
ab_launch_speed_last93.5
ab_launch_angle_last9.0
ab_hit_distance_last175.0
ab_estimated_ba_last0.629
ab_estimated_woba_last0.568
ab_estimated_slg_last0.674
ab_woba_value0.9
ab_woba_denom1.0
ab_babip_value1.0
ab_iso_value0.0
ab_balls_end0.0
ab_strikes_end1.0
ab_home_score_end3.0
ab_away_score_end2.0
ab_bat_score_end2.0
ab_fld_score_end3.0
ab_pitch_count2.0
ab_release_speed_avg91.75
ab_release_spin_rate_avg2391.0
ab_effective_speed_avg91.6
ab_launch_speed_avg93.5
ab_launch_angle_avg9.0
ab_delta_run_exp_avg0.207
ab_delta_home_win_exp_avg-0.0204999999999999
ab_delta_pitcher_run_exp_avg-0.207
ab_bat_speed_avg71.75
ab_swing_length_avg7.800000000000001
ab_launch_speed_max93.5
ab_hit_distance_sc_max175.0
ab_release_speed_max96.9
ab_release_spin_rate_max2412.0
ab_release_speed_min86.6
ab_release_spin_rate_min2370.0
ab_delta_run_exp_sum0.414
ab_delta_home_win_exp_sum-0.0409999999999999
ab_delta_pitcher_run_exp_sum-0.414
ab_result_is_hitTrue
ab_result_is_walkFalse
ab_result_is_strikeoutFalse
ab_result_is_hbpFalse
Zach Neto (687263) · BATTER · SS · Team LAA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 544
All-history rows before 20260820: 544
System season_avg: 0.2240
Data season_avg (2026 season-to-date): 0.2299
Diff (system - data): -0.0059
System opponent_avg: 0.1670

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1951.0000.000Hitting_2B0.2100.0000.7901.000
predicted_3B0.0240.0000.000Hitting_3B0.0280.000-0.0280.000
predicted_AB4.5304.0005.000Hitting_AB4.0224.000-0.0220.000
predicted_AVG0.2250.2500.200Hitting_AVG0.2300.2500.0200.000
predicted_BB0.4230.0000.000Hitting_BB0.4500.000-0.4500.000
predicted_CS-0.0000.000BaseRunning_CS0.0810.000-0.0810.000
predicted_H1.0201.0001.000Hitting_H0.9251.0000.0750.000
predicted_HR0.1400.0000.000Hitting_HR0.1710.000-0.1710.000
predicted_OBP0.2990.2500.200Hitting_OBP0.3160.250-0.0660.000
predicted_R0.6181.0001.000Hitting_R0.6650.0000.3351.000
predicted_RBI0.4901.0001.000Hitting_RBI0.4740.0000.5261.000
predicted_SLG0.3680.5000.200Hitting_SLG0.4230.2500.0770.250
predicted_SO1.3980.0002.000Hitting_SO1.4170.000-1.4170.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.1950 -> 1.0000 (boost 0.8050, better)
Biggest Deboostpredicted_SO: 1.3980 -> 0.0000 (deboost -1.3980, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend50514-predicted_AB: 4.5300 -> 4.2439 (deboost -0.2861, worse)Final model input calibrated 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.2965 -> 0.2884 (deboost -0.0081, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling73443predicted_AB: 4.2439 -> 5.0000 (boost 0.7561, better)predicted_BB: 0.4047 -> 0.0000 (deboost -0.4047, worse)AB rounded to 5 (raw=4.53), rates preserved: AVG=0.207 HR/AB=0.027
5bvp_blend11001predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse)-Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.143)
6consistency_constraints11010predicted_R: 0.5213 -> 1.0000 (boost 0.4787, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context30303-predicted_SLG: 0.3627 -> 0.2000 (deboost -0.1627, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference31221predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_SO: 2.0000 -> 0.0000 (deboost -2.0000, better)Attached simulation box score without overwriting model prediction
9current_json_final33030predicted_SLG: 0.2000 -> 0.3627 (boost 0.1627, 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.195,
        "predicted_3B": 0.024,
        "predicted_AB": 4.53,
        "predicted_AVG": 0.225,
        "predicted_BB": 0.423,
        "predicted_H": 1.02,
        "predicted_HR": 0.14,
        "predicted_OBP": 0.299,
        "predicted_R": 0.618,
        "predicted_RBI": 0.49,
        "predicted_SLG": 0.368,
        "predicted_SO": 1.398
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2037,
        "predicted_3B": 0.0197,
        "predicted_AB": 4.2439,
        "predicted_AVG": 0.2213,
        "predicted_BB": 0.4073,
        "predicted_H": 0.9409,
        "predicted_HBP": 0.038,
        "predicted_HR": 0.1213,
        "predicted_OBP": 0.2965,
        "predicted_R": 0.5267,
        "predicted_RBI": 0.4626,
        "predicted_SLG": 0.3623,
        "predicted_SO": 1.2828
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.195,
          "after": 0.2037,
          "delta": 0.0087,
          "percent_delta": 0.0446,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.024,
          "after": 0.0197,
          "delta": -0.0043,
          "percent_delta": -0.1792,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.53,
          "after": 4.2439,
          "delta": -0.2861,
          "percent_delta": -0.0632,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.225,
          "after": 0.2213,
          "delta": -0.0037,
          "percent_delta": -0.0164,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.423,
          "after": 0.4073,
          "delta": -0.0157,
          "percent_delta": -0.0371,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.02,
          "after": 0.9409,
          "delta": -0.0791,
          "percent_delta": -0.0775,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.14,
          "after": 0.1213,
          "delta": -0.0187,
          "percent_delta": -0.1336,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.299,
          "after": 0.2965,
          "delta": -0.0025,
          "percent_delta": -0.0084,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.618,
          "after": 0.5267,
          "delta": -0.0913,
          "percent_delta": -0.1477,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.49,
          "after": 0.4626,
          "delta": -0.0274,
          "percent_delta": -0.0559,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.368,
          "after": 0.3623,
          "delta": -0.0057,
          "percent_delta": -0.0155,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.398,
          "after": 1.2828,
          "delta": -0.1152,
          "percent_delta": -0.0824,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.53,
          "after": 4.2439,
          "delta": -0.2861,
          "percent_delta": -0.0632,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 123
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2037,
        "predicted_3B": 0.0197,
        "predicted_AB": 4.2439,
        "predicted_AVG": 0.2205,
        "predicted_BB": 0.4047,
        "predicted_H": 0.9358,
        "predicted_HBP": 0.038,
        "predicted_HR": 0.1201,
        "predicted_OBP": 0.2884,
        "predicted_R": 0.5213,
        "predicted_RBI": 0.4579,
        "predicted_SLG": 0.3627,
        "predicted_SO": 1.2909
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2037,
          "after": 0.2037,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0197,
          "after": 0.0197,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.2439,
          "after": 4.2439,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2213,
          "after": 0.2205,
          "delta": -0.0008,
          "percent_delta": -0.0036,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4073,
          "after": 0.4047,
          "delta": -0.0026,
          "percent_delta": -0.0064,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9409,
          "after": 0.9358,
          "delta": -0.0051,
          "percent_delta": -0.0054,
          "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.1213,
          "after": 0.1201,
          "delta": -0.0012,
          "percent_delta": -0.0099,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2965,
          "after": 0.2884,
          "delta": -0.0081,
          "percent_delta": -0.0273,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5267,
          "after": 0.5213,
          "delta": -0.0054,
          "percent_delta": -0.0103,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4626,
          "after": 0.4579,
          "delta": -0.0047,
          "percent_delta": -0.0102,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3623,
          "after": 0.3627,
          "delta": 0.0004,
          "percent_delta": 0.0011,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.2828,
          "after": 1.2909,
          "delta": 0.0081,
          "percent_delta": 0.0063,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.2965,
          "after": 0.2884,
          "delta": -0.0081,
          "percent_delta": -0.0273,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 5 (raw=4.53), rates preserved: AVG=0.207 HR/AB=0.027",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2037,
          "after": 0.0,
          "delta": -0.2037,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0197,
          "after": 0.0,
          "delta": -0.0197,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.2439,
          "after": 5.0,
          "delta": 0.7561,
          "percent_delta": 0.1782,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4047,
          "after": 0.0,
          "delta": -0.4047,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9358,
          "after": 1.0,
          "delta": 0.0642,
          "percent_delta": 0.0686,
          "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.1201,
          "after": 0.0,
          "delta": -0.1201,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4579,
          "after": 1.0,
          "delta": 0.5421,
          "percent_delta": 1.1839,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2909,
          "after": 1.0,
          "delta": -0.2909,
          "percent_delta": -0.2253,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 3,
        "deboosted_metrics": 4,
        "better_metrics": 4,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.2439,
          "after": 5.0,
          "delta": 0.7561,
          "percent_delta": 0.1782,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4047,
          "after": 0.0,
          "delta": -0.4047,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.143)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.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": 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": 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.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": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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.5213,
          "after": 1.0,
          "delta": 0.4787,
          "percent_delta": 0.9183,
          "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.5213,
          "after": 1.0,
          "delta": 0.4787,
          "percent_delta": 0.9183,
          "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": 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.2205,
          "after": 0.2,
          "delta": -0.0205,
          "percent_delta": -0.093,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2884,
          "after": 0.2,
          "delta": -0.0884,
          "percent_delta": -0.3065,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 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.3627,
          "after": 0.2,
          "delta": -0.1627,
          "percent_delta": -0.4486,
          "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.3627,
          "after": 0.2,
          "delta": -0.1627,
          "percent_delta": -0.4486,
          "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": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 4.0,
          "delta": -1.0,
          "percent_delta": -0.2,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "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": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.2205,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2884,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3627,
        "predicted_SO": 0.0,
        "predicted_SS": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.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.2205,
          "delta": 0.0205,
          "percent_delta": 0.1025,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.2884,
          "delta": 0.0884,
          "percent_delta": 0.4419,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2,
          "after": 0.3627,
          "delta": 0.1627,
          "percent_delta": 0.8134,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.2,
          "after": 0.3627,
          "delta": 0.1627,
          "percent_delta": 0.8134,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.195,
        "after": 1.0,
        "delta": 0.805,
        "percent_delta": 4.1282,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.024,
        "after": 0.0,
        "delta": -0.024,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.53,
        "after": 4.0,
        "delta": -0.53,
        "percent_delta": -0.117,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.225,
        "after": 0.2205,
        "delta": -0.0045,
        "percent_delta": -0.02,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.423,
        "after": 0.0,
        "delta": -0.423,
        "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.14,
        "after": 0.0,
        "delta": -0.14,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.299,
        "after": 0.2884,
        "delta": -0.0106,
        "percent_delta": -0.0355,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.618,
        "after": 1.0,
        "delta": 0.382,
        "percent_delta": 0.6181,
        "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.368,
        "after": 0.3627,
        "delta": -0.0053,
        "percent_delta": -0.0144,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.398,
        "after": 0.0,
        "delta": -1.398,
        "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_2B",
        "before": 0.195,
        "after": 1.0,
        "delta": 0.805,
        "percent_delta": 4.1282,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.398,
        "after": 0.0,
        "delta": -1.398,
        "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.195-
predicted_3B0.024-
predicted_AB4.530-
predicted_AVG0.225-
predicted_BB0.423-
predicted_H1.020-
predicted_HR0.140-
predicted_OBP0.299-
predicted_R0.618-
predicted_RBI0.490-
predicted_SLG0.368-
predicted_SO1.398-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.2040.009
predicted_3B0.020-0.004
predicted_AB4.244-0.286
predicted_AVG0.221-0.004
predicted_BB0.407-0.016
predicted_H0.941-0.079
predicted_HBP0.038-
predicted_HR0.121-0.019
predicted_OBP0.296-0.003
predicted_R0.527-0.091
predicted_RBI0.463-0.027
predicted_SLG0.362-0.006
predicted_SO1.283-0.115
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.2040.000
predicted_3B0.0200.000
predicted_AB4.2440.000
predicted_AVG0.221-0.001
predicted_BB0.405-0.003
predicted_H0.936-0.005
predicted_HBP0.0380.000
predicted_HR0.120-0.001
predicted_OBP0.288-0.008
predicted_R0.521-0.005
predicted_RBI0.458-0.005
predicted_SLG0.3630.000
predicted_SO1.2910.008
4. ab_floor_and_scaling

AB rounded to 5 (raw=4.53), rates preserved: AVG=0.207 HR/AB=0.027

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

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
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
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-
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.204
predicted_3B0.000-0.020
predicted_AB5.0000.756
predicted_AVG0.200-0.020
predicted_BB0.000-0.405
predicted_H1.0000.064
predicted_HR0.000-0.120
predicted_OBP0.200-0.088
predicted_R1.0000.479
predicted_RBI1.0000.542
predicted_SLG0.200-0.163
predicted_SO2.0000.709
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-1.000
BB0.0000.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0000.000
RBI1.0000.000
SB0.0000.000
SF0.0000.000
SO0.000-2.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 123
Reference playing time: 4.530
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0004.0001.0000.0000.0002.0000.0002.0003.0000.22220.30000.27780.22220.00000.11110.11110.1667
last_100.2010-39.0007.0003.0000.0000.0004.0002.0003.00010.0000.17950.23810.25640.17950.00000.10260.07690.2564
season0.60123-487.000109.00024.0003.00020.00054.00076.00052.000172.0000.22380.30840.40860.22380.04110.11090.10680.3532
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2150
predicted_3B0.0140
predicted_AB3.8720
predicted_AVG0.2164
predicted_BB0.3870
predicted_H0.8380
predicted_HBP0.0380
predicted_HR0.0970
predicted_OBP0.2933
predicted_R0.4080
predicted_RBI0.4270
predicted_SLG0.3549
predicted_SO1.1330
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.19500.21500.2037model_form_blend
predicted_3B0.02400.01400.0197model_form_blend
predicted_AB4.53003.87204.2439model_form_blend
predicted_AVG0.22500.21640.2213model_form_blend
predicted_BB0.42300.38700.4073model_form_blend
predicted_H1.02000.83800.9409model_form_blend
predicted_HBP-0.03800.0380form_only
predicted_HR0.14000.09700.1213model_form_blend
predicted_OBP0.29900.29330.2965model_form_blend
predicted_R0.61800.40800.5267model_form_blend
predicted_RBI0.49000.42700.4626model_form_blend
predicted_SLG0.36800.35490.3623model_form_blend
predicted_SO1.39801.13301.2828model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date544
Season rows before report date544
Report year2026
Profile rows used123
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

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

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_SO0
Hitting_TB1
Hitting_battingOrder4
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedSS
gameID20260819_LAA@HOU
game_typefull
mlbID687263
playerID687263
playerNameZach Neto
posSS
startedTrue
startingPositionSS
teamLAA
teamID13
game_date2026-08-19
game_pk824155.0
sl_k_percent31.4
sl_bb_percent9.5
sl_woba0.315
sl_xwoba0.295
sl_xba0.198
sl_xslg0.383
sl_sweet_spot_percent34.2
sl_barrel_batted_rate11.4
sl_hard_hit_percent39.7
sl_exit_velocity_avg89.2
sl_launch_angle_avg22.7
sl_whiff_percent33.7
sl_swing_percent51.6
at_bat_number59.0
ab_pitcher650556.0
ab_pitcher_nameAbreu, Bryan
ab_home_teamHOU
ab_away_teamLAA
ab_game_typeR
ab_standR
ab_p_throwsR
ab_inning8.0
ab_inning_topbotTop
ab_outs_when_up0.0
ab_balls_start0.0
ab_strikes_start0.0
ab_home_score_start3.0
ab_away_score_start2.0
ab_bat_score_start2.0
ab_fld_score_start3.0
ab_eventfield_out
ab_event_descriptionZach Neto grounds out, shortstop Nick Allen to first baseman Christian Walker.
ab_event_typeX
ab_bb_typeground_ball
ab_hit_location6.0
ab_pitch_type_lastSL
ab_pitch_name_lastSlider
ab_zone_last14.0
ab_launch_speed_last96.4
ab_launch_angle_last-12.0
ab_hit_distance_last10.0
ab_estimated_ba_last0.174
ab_estimated_woba_last0.157
ab_estimated_slg_last0.199
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_end2.0
ab_bat_score_end2.0
ab_fld_score_end3.0
ab_pitch_count5.0
ab_release_speed_avg91.18
ab_release_spin_rate_avg2691.4
ab_effective_speed_avg91.16
ab_launch_speed_avg97.55
ab_launch_angle_avg31.0
ab_delta_run_exp_avg-0.052
ab_delta_home_win_exp_avg0.0108
ab_delta_pitcher_run_exp_avg0.052
ab_bat_speed_avg61.3
ab_swing_length_avg7.333333333333333
ab_launch_speed_max98.7
ab_hit_distance_sc_max94.0
ab_release_speed_max96.5
ab_release_spin_rate_max2925.0
ab_release_speed_min87.3
ab_release_spin_rate_min2347.0
ab_delta_run_exp_sum-0.26
ab_delta_home_win_exp_sum0.054
ab_delta_pitcher_run_exp_sum0.26
ab_result_is_hitFalse
ab_result_is_walkFalse
ab_result_is_strikeoutFalse
ab_result_is_hbpFalse
Nolan Schanuel (694384) · BATTER · 1B · Team LAA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 439
All-history rows before 20260820: 439
System season_avg: 0.2780
Data season_avg (2026 season-to-date): 0.2807
Diff (system - data): -0.0027
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.2101.0000.000Hitting_2B0.2070.0000.7931.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.7504.0004.000Hitting_AB3.7974.0000.2030.000
predicted_AVG0.2760.5000.250Hitting_AVG0.2810.0000.2190.500
predicted_BB0.4000.0000.000Hitting_BB0.4280.000-0.4280.000
predicted_CS-0.0000.000BaseRunning_CS0.0090.000-0.0090.000
predicted_H1.0402.0001.000Hitting_H1.0660.0000.9342.000
predicted_HR0.0300.0000.000Hitting_HR0.0710.000-0.0710.000
predicted_OBP0.3820.5000.250Hitting_OBP0.3580.0000.1420.500
predicted_R0.4001.0000.000Hitting_R0.4330.0000.5671.000
predicted_RBI0.6201.0001.000Hitting_RBI0.4900.0000.5101.000
predicted_SLG0.3720.7500.250Hitting_SLG0.3910.0000.3590.750
predicted_SO0.5520.0001.000Hitting_SO0.5671.000-0.567-1.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.0400 -> 2.0000 (boost 0.9600, better)
Biggest Deboostpredicted_SO: 0.5520 -> 0.0000 (deboost -0.5520, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend43131predicted_AVG: 0.2760 -> 0.2940 (boost 0.0180, better)predicted_AB: 3.7500 -> 3.6896 (deboost -0.0604, worse)Final model input calibrated 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.3872 -> 0.3652 (deboost -0.0220, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling63324predicted_SO: 0.5129 -> 1.0000 (boost 0.4871, worse)predicted_BB: 0.4206 -> 0.0000 (deboost -0.4206, worse)AB rounded to 4 (raw=3.75), rates preserved: AVG=0.288 HR/AB=0.010
5consistency_constraints10101-predicted_R: 0.4147 -> 0.0000 (deboost -0.4147, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context30303-predicted_SLG: 0.3763 -> 0.2500 (deboost -0.1263, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference43140predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)Attached simulation box score without overwriting model prediction
8current_json_final33030predicted_SLG: 0.2500 -> 0.3763 (boost 0.1263, better)-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.21,
        "predicted_3B": 0.0,
        "predicted_AB": 3.75,
        "predicted_AVG": 0.276,
        "predicted_BB": 0.4,
        "predicted_H": 1.04,
        "predicted_HR": 0.03,
        "predicted_OBP": 0.382,
        "predicted_R": 0.4,
        "predicted_RBI": 0.62,
        "predicted_SLG": 0.372,
        "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.1988,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.6896,
        "predicted_AVG": 0.294,
        "predicted_BB": 0.4233,
        "predicted_H": 1.0862,
        "predicted_HBP": 0.033,
        "predicted_HR": 0.0365,
        "predicted_OBP": 0.3872,
        "predicted_R": 0.419,
        "predicted_RBI": 0.6411,
        "predicted_SLG": 0.3868,
        "predicted_SO": 0.5097
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.21,
          "after": 0.1988,
          "delta": -0.0112,
          "percent_delta": -0.0533,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0004,
          "delta": 0.0004,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.75,
          "after": 3.6896,
          "delta": -0.0604,
          "percent_delta": -0.0161,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.276,
          "after": 0.294,
          "delta": 0.018,
          "percent_delta": 0.0652,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4,
          "after": 0.4233,
          "delta": 0.0233,
          "percent_delta": 0.0582,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.04,
          "after": 1.0862,
          "delta": 0.0462,
          "percent_delta": 0.0444,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.03,
          "after": 0.0365,
          "delta": 0.0065,
          "percent_delta": 0.2167,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.382,
          "after": 0.3872,
          "delta": 0.0052,
          "percent_delta": 0.0136,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4,
          "after": 0.419,
          "delta": 0.019,
          "percent_delta": 0.0475,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.62,
          "after": 0.6411,
          "delta": 0.0211,
          "percent_delta": 0.034,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.372,
          "after": 0.3868,
          "delta": 0.0148,
          "percent_delta": 0.0398,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.552,
          "after": 0.5097,
          "delta": -0.0423,
          "percent_delta": -0.0766,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.276,
          "after": 0.294,
          "delta": 0.018,
          "percent_delta": 0.0652,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.75,
          "after": 3.6896,
          "delta": -0.0604,
          "percent_delta": -0.0161,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 105
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1988,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.6896,
        "predicted_AVG": 0.2928,
        "predicted_BB": 0.4206,
        "predicted_H": 1.0803,
        "predicted_HBP": 0.033,
        "predicted_HR": 0.0361,
        "predicted_OBP": 0.3652,
        "predicted_R": 0.4147,
        "predicted_RBI": 0.6346,
        "predicted_SLG": 0.3763,
        "predicted_SO": 0.5129
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1988,
          "after": 0.1988,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6896,
          "after": 3.6896,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.294,
          "after": 0.2928,
          "delta": -0.0012,
          "percent_delta": -0.0041,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4233,
          "after": 0.4206,
          "delta": -0.0027,
          "percent_delta": -0.0064,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0862,
          "after": 1.0803,
          "delta": -0.0059,
          "percent_delta": -0.0054,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.033,
          "after": 0.033,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0365,
          "after": 0.0361,
          "delta": -0.0004,
          "percent_delta": -0.011,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3872,
          "after": 0.3652,
          "delta": -0.022,
          "percent_delta": -0.0568,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.419,
          "after": 0.4147,
          "delta": -0.0043,
          "percent_delta": -0.0103,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6411,
          "after": 0.6346,
          "delta": -0.0065,
          "percent_delta": -0.0101,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3868,
          "after": 0.3763,
          "delta": -0.0105,
          "percent_delta": -0.0271,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5097,
          "after": 0.5129,
          "delta": 0.0032,
          "percent_delta": 0.0063,
          "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.3872,
          "after": 0.3652,
          "delta": -0.022,
          "percent_delta": -0.0568,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.75), rates preserved: AVG=0.288 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": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1988,
          "after": 0.0,
          "delta": -0.1988,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0,
          "delta": -0.0004,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6896,
          "after": 4.0,
          "delta": 0.3104,
          "percent_delta": 0.0841,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4206,
          "after": 0.0,
          "delta": -0.4206,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0803,
          "after": 1.0,
          "delta": -0.0803,
          "percent_delta": -0.0743,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.033,
          "after": 0.0,
          "delta": -0.033,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0361,
          "after": 0.0,
          "delta": -0.0361,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6346,
          "after": 1.0,
          "delta": 0.3654,
          "percent_delta": 0.5758,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5129,
          "after": 1.0,
          "delta": 0.4871,
          "percent_delta": 0.9497,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.5129,
          "after": 1.0,
          "delta": 0.4871,
          "percent_delta": 0.9497,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4206,
          "after": 0.0,
          "delta": -0.4206,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4147,
          "after": 0.0,
          "delta": -0.4147,
          "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.4147,
          "after": 0.0,
          "delta": -0.4147,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.25,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.25,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2928,
          "after": 0.25,
          "delta": -0.0428,
          "percent_delta": -0.1462,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3652,
          "after": 0.25,
          "delta": -0.1152,
          "percent_delta": -0.3154,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "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.3763,
          "after": 0.25,
          "delta": -0.1263,
          "percent_delta": -0.3356,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.3763,
          "after": 0.25,
          "delta": -0.1263,
          "percent_delta": -0.3356,
          "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": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2928,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_FB": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3652,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3763,
        "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.2928,
          "delta": 0.0428,
          "percent_delta": 0.1712,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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.3652,
          "delta": 0.1152,
          "percent_delta": 0.4607,
          "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.3763,
          "delta": 0.1263,
          "percent_delta": 0.5051,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.3763,
          "delta": 0.1263,
          "percent_delta": 0.5051,
          "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.21,
        "after": 1.0,
        "delta": 0.79,
        "percent_delta": 3.7619,
        "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.75,
        "after": 4.0,
        "delta": 0.25,
        "percent_delta": 0.0667,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.276,
        "after": 0.2928,
        "delta": 0.0168,
        "percent_delta": 0.0609,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.4,
        "after": 0.0,
        "delta": -0.4,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.04,
        "after": 2.0,
        "delta": 0.96,
        "percent_delta": 0.9231,
        "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.382,
        "after": 0.3652,
        "delta": -0.0168,
        "percent_delta": -0.044,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.4,
        "after": 1.0,
        "delta": 0.6,
        "percent_delta": 1.5,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.62,
        "after": 1.0,
        "delta": 0.38,
        "percent_delta": 0.6129,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.372,
        "after": 0.3763,
        "delta": 0.0043,
        "percent_delta": 0.0116,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "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": 9,
      "boosted_metrics": 6,
      "deboosted_metrics": 3,
      "better_metrics": 7,
      "worse_metrics": 2,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 1.04,
        "after": 2.0,
        "delta": 0.96,
        "percent_delta": 0.9231,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.552,
        "after": 0.0,
        "delta": -0.552,
        "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.210-
predicted_3B0.000-
predicted_AB3.750-
predicted_AVG0.276-
predicted_BB0.400-
predicted_H1.040-
predicted_HR0.030-
predicted_OBP0.382-
predicted_R0.400-
predicted_RBI0.620-
predicted_SLG0.372-
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.199-0.011
predicted_3B0.0000.000
predicted_AB3.690-0.060
predicted_AVG0.2940.018
predicted_BB0.4230.023
predicted_H1.0860.046
predicted_HBP0.033-
predicted_HR0.0360.006
predicted_OBP0.3870.005
predicted_R0.4190.019
predicted_RBI0.6410.021
predicted_SLG0.3870.015
predicted_SO0.510-0.042
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1990.000
predicted_3B0.0000.000
predicted_AB3.6900.000
predicted_AVG0.293-0.001
predicted_BB0.421-0.003
predicted_H1.080-0.006
predicted_HBP0.0330.000
predicted_HR0.036-0.000
predicted_OBP0.365-0.022
predicted_R0.415-0.004
predicted_RBI0.635-0.006
predicted_SLG0.376-0.010
predicted_SO0.5130.003
4. ab_floor_and_scaling

AB rounded to 4 (raw=3.75), rates preserved: AVG=0.288 HR/AB=0.010

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.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
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
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.000
predicted_AB4.0000.310
predicted_AVG0.250-0.043
predicted_BB0.000-0.421
predicted_H1.000-0.080
predicted_HR0.000-0.036
predicted_OBP0.250-0.115
predicted_R0.000-0.415
predicted_RBI1.0000.365
predicted_SLG0.250-0.126
predicted_SO1.0000.487
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 105
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0008.0001.0000.0000.0006.0003.0002.0001.0000.44440.50000.50000.44440.00000.33330.11110.0556
last_100.2010-33.00011.0001.0000.0000.0008.0004.0007.0003.0000.33330.43900.36360.33330.00000.24240.21210.0909
season0.60105-388.000108.00022.0000.0007.00048.00042.00042.00058.0000.27840.35370.38920.27830.01800.12370.10820.1495
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1840
predicted_3B0.0010
predicted_AB3.6100
predicted_AVG0.3178
predicted_BB0.4540
predicted_H1.1470
predicted_HBP0.0330
predicted_HR0.0450
predicted_OBP0.3940
predicted_R0.4440
predicted_RBI0.6690
predicted_SLG0.4064
predicted_SO0.4540
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.21000.18400.1988model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.75003.61003.6896model_form_blend
predicted_AVG0.27600.31780.2940model_form_blend
predicted_BB0.40000.45400.4233model_form_blend
predicted_H1.04001.14701.0862model_form_blend
predicted_HBP-0.03300.0330form_only
predicted_HR0.03000.04500.0365model_form_blend
predicted_OBP0.38200.39400.3872model_form_blend
predicted_R0.40000.44400.4190model_form_blend
predicted_RBI0.62000.66900.6411model_form_blend
predicted_SLG0.37200.40640.3868model_form_blend
predicted_SO0.55200.45400.5097model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date439
Season rows before report date439
Report year2026
Profile rows used105
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_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
SO0
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_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_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
gameID20260819_LAA@HOU
game_typefull
mlbID694384
playerID694384
playerNameNolan Schanuel
pos1B
startedTrue
startingPosition1B
teamLAA
teamID13
game_date2026-08-19
game_pk824155.0
sl_k_percent13.1
sl_bb_percent9.5
sl_woba0.331
sl_xwoba0.336
sl_xba0.287
sl_xslg0.39
sl_sweet_spot_percent36.6
sl_barrel_batted_rate2.4
sl_hard_hit_percent33.3
sl_exit_velocity_avg87.5
sl_launch_angle_avg12.1
sl_whiff_percent16.4
sl_swing_percent44.4
at_bat_number55.0
ab_pitcher595345.0
ab_pitcher_nameOkert, Steven
ab_home_teamHOU
ab_away_teamLAA
ab_game_typeR
ab_standL
ab_p_throwsL
ab_inning7.0
ab_inning_topbotTop
ab_outs_when_up2.0
ab_on_1b_start672724.0
ab_balls_start0.0
ab_strikes_start0.0
ab_home_score_start3.0
ab_away_score_start2.0
ab_bat_score_start2.0
ab_fld_score_start3.0
ab_eventfield_out
ab_event_descriptionNolan Schanuel flies out to shortstop Nick Allen.
ab_event_typeX
ab_bb_typefly_ball
ab_hit_location6.0
ab_pitch_type_lastSI
ab_pitch_name_lastSinker
ab_zone_last5.0
ab_launch_speed_last65.0
ab_launch_angle_last29.0
ab_hit_distance_last199.0
ab_estimated_ba_last0.914
ab_estimated_woba_last0.846
ab_estimated_slg_last0.995
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_end2.0
ab_bat_score_end2.0
ab_fld_score_end3.0
ab_pitch_count2.0
ab_release_speed_avg89.15
ab_release_spin_rate_avg2306.5
ab_effective_speed_avg88.8
ab_launch_speed_avg65.0
ab_launch_angle_avg29.0
ab_delta_run_exp_avg-0.1374999999999999
ab_delta_home_win_exp_avg0.023
ab_delta_pitcher_run_exp_avg0.1374999999999999
ab_bat_speed_avg67.1
ab_swing_length_avg7.0
ab_launch_speed_max65.0
ab_hit_distance_sc_max199.0
ab_release_speed_max89.5
ab_release_spin_rate_max2353.0
ab_release_speed_min88.8
ab_release_spin_rate_min2260.0
ab_delta_run_exp_sum-0.2749999999999999
ab_delta_home_win_exp_sum0.046
ab_delta_pitcher_run_exp_sum0.2749999999999999
ab_result_is_hitFalse
ab_result_is_walkFalse
ab_result_is_strikeoutFalse
ab_result_is_hbpFalse
Mike Trout (545361) · BATTER · CF · Team LAA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 480
All-history rows before 20260820: 480
System season_avg: 0.2400
Data season_avg (2026 season-to-date): 0.2454
Diff (system - data): -0.0054
System opponent_avg: 0.2720

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1570.0000.000Hitting_2B0.1710.000-0.1710.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.1504.0004.000Hitting_AB3.6503.0000.3501.000
predicted_AVG0.2400.2500.250Hitting_AVG0.2450.3330.005-0.083
predicted_BB0.7690.0001.000Hitting_BB0.8120.000-0.8120.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H1.0001.0001.000Hitting_H0.8961.0000.1040.000
predicted_HR0.1600.0000.000Hitting_HR0.1960.000-0.1960.000
predicted_OBP0.3620.2500.400Hitting_OBP0.3900.500-0.140-0.250
predicted_R0.6390.0001.000Hitting_R0.6670.000-0.6670.000
predicted_RBI0.4100.0000.000Hitting_RBI0.4560.000-0.4560.000
predicted_SLG0.3980.2500.250Hitting_SLG0.4530.333-0.203-0.083
predicted_SO1.1391.0001.000Hitting_SO1.1271.000-0.1270.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics0
Deboosted Metrics10
Better Metrics1
Worse Metrics9
Biggest Boost-
Biggest Deboostpredicted_BB: 0.7690 -> 0.0000 (deboost -0.7690, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend60606-predicted_AB: 4.1500 -> 3.9548 (deboost -0.1952, worse)Final model input calibrated 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.3554 -> 0.3470 (deboost -0.0084, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling72534predicted_BB: 0.6781 -> 1.0000 (boost 0.3219, better)predicted_RBI: 0.3762 -> 0.0000 (deboost -0.3762, worse)AB rounded to 4 (raw=4.15), rates preserved: AVG=0.224 HR/AB=0.035
5bvp_blend00000--Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.286)
6consistency_constraints11010predicted_R: 0.5524 -> 1.0000 (boost 0.4476, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context32121predicted_OBP: 0.3470 -> 0.4000 (boost 0.0530, better)predicted_SLG: 0.3862 -> 0.2500 (deboost -0.1362, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference20202-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final31212predicted_SLG: 0.2500 -> 0.3862 (boost 0.1362, better)predicted_OBP: 0.4000 -> 0.3470 (deboost -0.0530, 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": "CF",
  "team": "LAA",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.157,
        "predicted_3B": 0.0,
        "predicted_AB": 4.15,
        "predicted_AVG": 0.24,
        "predicted_BB": 0.769,
        "predicted_H": 1.0,
        "predicted_HR": 0.16,
        "predicted_OBP": 0.362,
        "predicted_R": 0.639,
        "predicted_RBI": 0.41,
        "predicted_SLG": 0.398,
        "predicted_SO": 1.139
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1566,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.9548,
        "predicted_AVG": 0.2355,
        "predicted_BB": 0.6824,
        "predicted_H": 0.9346,
        "predicted_HBP": 0.113,
        "predicted_HR": 0.1483,
        "predicted_OBP": 0.3554,
        "predicted_R": 0.5581,
        "predicted_RBI": 0.3801,
        "predicted_SLG": 0.3902,
        "predicted_SO": 1.1338
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.157,
          "after": 0.1566,
          "delta": -0.0004,
          "percent_delta": -0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0004,
          "delta": 0.0004,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.15,
          "after": 3.9548,
          "delta": -0.1952,
          "percent_delta": -0.047,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.24,
          "after": 0.2355,
          "delta": -0.0045,
          "percent_delta": -0.0188,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.769,
          "after": 0.6824,
          "delta": -0.0866,
          "percent_delta": -0.1126,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9346,
          "delta": -0.0654,
          "percent_delta": -0.0654,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.16,
          "after": 0.1483,
          "delta": -0.0117,
          "percent_delta": -0.0731,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.362,
          "after": 0.3554,
          "delta": -0.0066,
          "percent_delta": -0.0182,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.639,
          "after": 0.5581,
          "delta": -0.0809,
          "percent_delta": -0.1266,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.41,
          "after": 0.3801,
          "delta": -0.0299,
          "percent_delta": -0.0729,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.398,
          "after": 0.3902,
          "delta": -0.0078,
          "percent_delta": -0.0196,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.139,
          "after": 1.1338,
          "delta": -0.0052,
          "percent_delta": -0.0046,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 0,
        "deboosted_metrics": 6,
        "better_metrics": 0,
        "worse_metrics": 6,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.15,
          "after": 3.9548,
          "delta": -0.1952,
          "percent_delta": -0.047,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 108
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1566,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.9548,
        "predicted_AVG": 0.235,
        "predicted_BB": 0.6781,
        "predicted_H": 0.9296,
        "predicted_HBP": 0.113,
        "predicted_HR": 0.1468,
        "predicted_OBP": 0.347,
        "predicted_R": 0.5524,
        "predicted_RBI": 0.3762,
        "predicted_SLG": 0.3862,
        "predicted_SO": 1.1409
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1566,
          "after": 0.1566,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.9548,
          "after": 3.9548,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2355,
          "after": 0.235,
          "delta": -0.0005,
          "percent_delta": -0.0021,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.6824,
          "after": 0.6781,
          "delta": -0.0043,
          "percent_delta": -0.0063,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9346,
          "after": 0.9296,
          "delta": -0.005,
          "percent_delta": -0.0053,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.113,
          "after": 0.113,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1483,
          "after": 0.1468,
          "delta": -0.0015,
          "percent_delta": -0.0101,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3554,
          "after": 0.347,
          "delta": -0.0084,
          "percent_delta": -0.0236,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5581,
          "after": 0.5524,
          "delta": -0.0057,
          "percent_delta": -0.0102,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3801,
          "after": 0.3762,
          "delta": -0.0039,
          "percent_delta": -0.0103,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3902,
          "after": 0.3862,
          "delta": -0.004,
          "percent_delta": -0.0103,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.1338,
          "after": 1.1409,
          "delta": 0.0071,
          "percent_delta": 0.0063,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.3554,
          "after": 0.347,
          "delta": -0.0084,
          "percent_delta": -0.0236,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.15), rates preserved: AVG=0.224 HR/AB=0.035",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1566,
          "after": 0.0,
          "delta": -0.1566,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0,
          "delta": -0.0004,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.9548,
          "after": 4.0,
          "delta": 0.0452,
          "percent_delta": 0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.6781,
          "after": 1.0,
          "delta": 0.3219,
          "percent_delta": 0.4747,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9296,
          "after": 1.0,
          "delta": 0.0704,
          "percent_delta": 0.0757,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.113,
          "after": 0.0,
          "delta": -0.113,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1468,
          "after": 0.0,
          "delta": -0.1468,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3762,
          "after": 0.0,
          "delta": -0.3762,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1409,
          "after": 1.0,
          "delta": -0.1409,
          "percent_delta": -0.1235,
          "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.6781,
          "after": 1.0,
          "delta": 0.3219,
          "percent_delta": 0.4747,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3762,
          "after": 0.0,
          "delta": -0.3762,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.286)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9243,
        "bvp": 0.0757
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 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.5524,
          "after": 1.0,
          "delta": 0.4476,
          "percent_delta": 0.8103,
          "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.5524,
          "after": 1.0,
          "delta": 0.4476,
          "percent_delta": 0.8103,
          "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.235,
          "after": 0.25,
          "delta": 0.015,
          "percent_delta": 0.0638,
          "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.347,
          "after": 0.4,
          "delta": 0.053,
          "percent_delta": 0.1527,
          "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.3862,
          "after": 0.25,
          "delta": -0.1362,
          "percent_delta": -0.3527,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.347,
          "after": 0.4,
          "delta": 0.053,
          "percent_delta": 0.1527,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3862,
          "after": 0.25,
          "delta": -0.1362,
          "percent_delta": -0.3527,
          "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": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 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_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.235,
        "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.347,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3862,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.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.235,
          "delta": -0.015,
          "percent_delta": -0.0598,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.347,
          "delta": -0.053,
          "percent_delta": -0.1325,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 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.3862,
          "delta": 0.1362,
          "percent_delta": 0.5449,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.3862,
          "delta": 0.1362,
          "percent_delta": 0.5449,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.4,
          "after": 0.347,
          "delta": -0.053,
          "percent_delta": -0.1325,
          "direction": "deboost",
          "projection_effect": "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.15,
        "after": 4.0,
        "delta": -0.15,
        "percent_delta": -0.0361,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.24,
        "after": 0.235,
        "delta": -0.005,
        "percent_delta": -0.0208,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.769,
        "after": 0.0,
        "delta": -0.769,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.16,
        "after": 0.0,
        "delta": -0.16,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.362,
        "after": 0.347,
        "delta": -0.015,
        "percent_delta": -0.0414,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.639,
        "after": 0.0,
        "delta": -0.639,
        "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.398,
        "after": 0.3862,
        "delta": -0.0118,
        "percent_delta": -0.0296,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.139,
        "after": 1.0,
        "delta": -0.139,
        "percent_delta": -0.122,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 0,
      "deboosted_metrics": 10,
      "better_metrics": 1,
      "worse_metrics": 9,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.769,
        "after": 0.0,
        "delta": -0.769,
        "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.157-
predicted_3B0.000-
predicted_AB4.150-
predicted_AVG0.240-
predicted_BB0.769-
predicted_H1.000-
predicted_HR0.160-
predicted_OBP0.362-
predicted_R0.639-
predicted_RBI0.410-
predicted_SLG0.398-
predicted_SO1.139-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.157-0.000
predicted_3B0.0000.000
predicted_AB3.955-0.195
predicted_AVG0.235-0.005
predicted_BB0.682-0.087
predicted_H0.935-0.065
predicted_HBP0.113-
predicted_HR0.148-0.012
predicted_OBP0.355-0.007
predicted_R0.558-0.081
predicted_RBI0.380-0.030
predicted_SLG0.390-0.008
predicted_SO1.134-0.005
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1570.000
predicted_3B0.0000.000
predicted_AB3.9550.000
predicted_AVG0.235-0.001
predicted_BB0.678-0.004
predicted_H0.930-0.005
predicted_HBP0.1130.000
predicted_HR0.147-0.001
predicted_OBP0.347-0.008
predicted_R0.552-0.006
predicted_RBI0.376-0.004
predicted_SLG0.386-0.004
predicted_SO1.1410.007
4. ab_floor_and_scaling

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

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB1.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.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
AB4.0000.000
BB1.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
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.157
predicted_3B0.000-0.000
predicted_AB4.0000.045
predicted_AVG0.2500.015
predicted_BB1.0000.322
predicted_H1.0000.070
predicted_HR0.000-0.147
predicted_OBP0.4000.053
predicted_R1.0000.448
predicted_RBI0.000-0.376
predicted_SLG0.250-0.136
predicted_SO1.000-0.141
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
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: 108
Reference playing time: 4.150
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0003.0001.0000.0000.0000.0000.0001.0006.0000.15790.23810.21050.15790.00000.00000.05260.3158
last_100.2010-38.00010.0001.0000.0001.0004.0003.0004.00011.0000.26320.36360.36840.26320.02630.10530.10530.2895
season0.60108-391.00094.00017.0000.00020.00045.00069.00083.000123.0000.24040.38170.43730.24040.05120.11510.21230.3146
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1560
predicted_3B0.0010
predicted_AB3.6990
predicted_AVG0.2296
predicted_BB0.5690
predicted_H0.8490
predicted_HBP0.1130
predicted_HR0.1330
predicted_OBP0.3468
predicted_R0.4520
predicted_RBI0.3410
predicted_SLG0.3799
predicted_SO1.1270
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15700.15600.1566model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB4.15003.69903.9548model_form_blend
predicted_AVG0.24000.22960.2355model_form_blend
predicted_BB0.76900.56900.6824model_form_blend
predicted_H1.00000.84900.9346model_form_blend
predicted_HBP-0.11300.1130form_only
predicted_HR0.16000.13300.1483model_form_blend
predicted_OBP0.36200.34680.3554model_form_blend
predicted_R0.63900.45200.5581model_form_blend
predicted_RBI0.41000.34100.3801model_form_blend
predicted_SLG0.39800.37990.3902model_form_blend
predicted_SO1.13901.12701.1338model_form_blend

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.333
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP1
Hitting_HR0
Hitting_IBB0
Hitting_R0
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
allPositionsPlayedCF
gameID20260819_LAA@HOU
game_typefull
mlbID545361
playerID545361
playerNameMike Trout
posCF
startedTrue
startingPositionCF
teamLAA
teamID13
game_date2026-08-19
game_pk824155.0
sl_k_percent25.5
sl_bb_percent17.2
sl_woba0.358
sl_xwoba0.382
sl_xba0.254
sl_xslg0.495
sl_sweet_spot_percent35.3
sl_barrel_batted_rate15.7
sl_hard_hit_percent46.1
sl_exit_velocity_avg90.0
sl_launch_angle_avg18.2
sl_whiff_percent23.8
sl_swing_percent40.0
at_bat_number54.0
ab_pitcher595345.0
ab_pitcher_nameOkert, Steven
ab_home_teamHOU
ab_away_teamLAA
ab_game_typeR
ab_standR
ab_p_throwsL
ab_inning7.0
ab_inning_topbotTop
ab_outs_when_up1.0
ab_on_1b_start672724.0
ab_balls_start0.0
ab_strikes_start0.0
ab_home_score_start3.0
ab_away_score_start2.0
ab_bat_score_start2.0
ab_fld_score_start3.0
ab_eventstrikeout
ab_event_descriptionMike Trout called out on strikes.
ab_event_typeS
ab_hit_location2.0
ab_pitch_type_lastFF
ab_pitch_name_last4-Seam Fastball
ab_zone_last12.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_end2.0
ab_bat_score_end2.0
ab_fld_score_end3.0
ab_pitch_count5.0
ab_release_speed_avg89.58
ab_release_spin_rate_avg2285.4
ab_effective_speed_avg89.08
ab_delta_run_exp_avg-0.051
ab_delta_home_win_exp_avg0.0114
ab_delta_pitcher_run_exp_avg0.051
ab_bat_speed_avg75.6
ab_swing_length_avg7.6
ab_release_speed_max90.2
ab_release_spin_rate_max2309.0
ab_release_speed_min89.0
ab_release_spin_rate_min2262.0
ab_delta_run_exp_sum-0.255
ab_delta_home_win_exp_sum0.057
ab_delta_pitcher_run_exp_sum0.255
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 20260820: 117
All-history rows before 20260820: 117
System season_avg: 0.2350
Data season_avg (2026 season-to-date): 0.2692
Diff (system - data): -0.0342
System opponent_avg: 0.2350
System season_avg diverges from 2026 season-to-date by -0.0342. 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.1530.0000.000Hitting_2B0.1880.000-0.1880.000
predicted_3B0.0260.0000.000Hitting_3B0.0340.000-0.0340.000
predicted_AB2.5003.0003.000Hitting_AB2.6670.0000.3333.000
predicted_AVG0.4370.0000.333Hitting_AVG0.269--0.269-
predicted_BB0.2040.0000.000Hitting_BB0.2740.000-0.2740.000
predicted_CS-0.0000.000BaseRunning_CS0.0260.000-0.0260.000
predicted_H0.3600.0001.000Hitting_H0.7180.000-0.7180.000
predicted_HR0.0400.0000.000Hitting_HR0.0260.000-0.0260.000
predicted_OBP0.4370.0000.333Hitting_OBP0.341--0.341-
predicted_R0.3570.0000.000Hitting_R0.4870.000-0.4870.000
predicted_RBI0.0900.0000.000Hitting_RBI0.2390.000-0.2390.000
predicted_SB-0.0000.000BaseRunning_SB0.0431.000-0.043-1.000
predicted_SLG0.3850.0000.333Hitting_SLG0.394--0.394-
predicted_SO0.7911.0001.000Hitting_SO0.7520.0000.2481.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.5000 -> 3.0000 (boost 0.5000, better)
Biggest Deboostpredicted_H: 0.3600 -> 0.0000 (deboost -0.3600, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend53232predicted_H: 0.3600 -> 0.5117 (boost 0.1517, better)predicted_AVG: 0.4370 -> 0.3746 (deboost -0.0624, worse)Final model input calibrated 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.3746 -> 0.1965 (deboost -0.1781, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling63324predicted_H: 0.5089 -> 1.0000 (boost 0.4911, better)predicted_BB: 0.1874 -> 0.0000 (deboost -0.1874, worse)AB rounded to 3 (raw=2.59), rates preserved: AVG=0.196 HR/AB=0.014
5consistency_constraints10101-predicted_R: 0.3431 -> 0.0000 (deboost -0.3431, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context33030predicted_AVG: 0.1965 -> 0.3330 (boost 0.1365, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference10101-predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final30303-predicted_AVG: 0.3330 -> 0.1965 (deboost -0.1365, worse)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.153,
        "predicted_3B": 0.026,
        "predicted_AB": 2.5,
        "predicted_AVG": 0.437,
        "predicted_BB": 0.204,
        "predicted_H": 0.36,
        "predicted_HR": 0.04,
        "predicted_OBP": 0.437,
        "predicted_R": 0.357,
        "predicted_RBI": 0.09,
        "predicted_SLG": 0.385,
        "predicted_SO": 0.791
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1545,
        "predicted_3B": 0.0218,
        "predicted_AB": 2.5903,
        "predicted_AVG": 0.3746,
        "predicted_BB": 0.1886,
        "predicted_H": 0.5117,
        "predicted_HBP": 0.018,
        "predicted_HR": 0.0377,
        "predicted_OBP": 0.393,
        "predicted_R": 0.3466,
        "predicted_RBI": 0.1641,
        "predicted_SLG": 0.3837,
        "predicted_SO": 0.7601
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.153,
          "after": 0.1545,
          "delta": 0.0015,
          "percent_delta": 0.0098,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.026,
          "after": 0.0218,
          "delta": -0.0042,
          "percent_delta": -0.1615,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.5,
          "after": 2.5903,
          "delta": 0.0903,
          "percent_delta": 0.0361,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.437,
          "after": 0.3746,
          "delta": -0.0624,
          "percent_delta": -0.1428,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.204,
          "after": 0.1886,
          "delta": -0.0154,
          "percent_delta": -0.0755,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.36,
          "after": 0.5117,
          "delta": 0.1517,
          "percent_delta": 0.4214,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.04,
          "after": 0.0377,
          "delta": -0.0023,
          "percent_delta": -0.0575,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.437,
          "after": 0.393,
          "delta": -0.044,
          "percent_delta": -0.1007,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.357,
          "after": 0.3466,
          "delta": -0.0104,
          "percent_delta": -0.0291,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.09,
          "after": 0.1641,
          "delta": 0.0741,
          "percent_delta": 0.8233,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.385,
          "after": 0.3837,
          "delta": -0.0013,
          "percent_delta": -0.0034,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.791,
          "after": 0.7601,
          "delta": -0.0309,
          "percent_delta": -0.0391,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.36,
          "after": 0.5117,
          "delta": 0.1517,
          "percent_delta": 0.4214,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.437,
          "after": 0.3746,
          "delta": -0.0624,
          "percent_delta": -0.1428,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 41
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1545,
        "predicted_3B": 0.0218,
        "predicted_AB": 2.5903,
        "predicted_AVG": 0.1965,
        "predicted_BB": 0.1874,
        "predicted_H": 0.5089,
        "predicted_HBP": 0.018,
        "predicted_HR": 0.0373,
        "predicted_OBP": 0.2507,
        "predicted_R": 0.3431,
        "predicted_RBI": 0.1624,
        "predicted_SLG": 0.3162,
        "predicted_SO": 0.7649
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1545,
          "after": 0.1545,
          "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": 2.5903,
          "after": 2.5903,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3746,
          "after": 0.1965,
          "delta": -0.1781,
          "percent_delta": -0.4754,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1886,
          "after": 0.1874,
          "delta": -0.0012,
          "percent_delta": -0.0064,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.5117,
          "after": 0.5089,
          "delta": -0.0028,
          "percent_delta": -0.0055,
          "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.0377,
          "after": 0.0373,
          "delta": -0.0004,
          "percent_delta": -0.0106,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.393,
          "after": 0.2507,
          "delta": -0.1423,
          "percent_delta": -0.3621,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3466,
          "after": 0.3431,
          "delta": -0.0035,
          "percent_delta": -0.0101,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1641,
          "after": 0.1624,
          "delta": -0.0017,
          "percent_delta": -0.0104,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3837,
          "after": 0.3162,
          "delta": -0.0675,
          "percent_delta": -0.1759,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7601,
          "after": 0.7649,
          "delta": 0.0048,
          "percent_delta": 0.0063,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.3746,
          "after": 0.1965,
          "delta": -0.1781,
          "percent_delta": -0.4754,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.59), rates preserved: AVG=0.196 HR/AB=0.014",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1545,
          "after": 0.0,
          "delta": -0.1545,
          "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": 2.5903,
          "after": 3.0,
          "delta": 0.4097,
          "percent_delta": 0.1582,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1874,
          "after": 0.0,
          "delta": -0.1874,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.5089,
          "after": 1.0,
          "delta": 0.4911,
          "percent_delta": 0.965,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.018,
          "after": 0.0,
          "delta": -0.018,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0373,
          "after": 0.0,
          "delta": -0.0373,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1624,
          "after": 0.0,
          "delta": -0.1624,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7649,
          "after": 1.0,
          "delta": 0.2351,
          "percent_delta": 0.3074,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.5089,
          "after": 1.0,
          "delta": 0.4911,
          "percent_delta": 0.965,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.1874,
          "after": 0.0,
          "delta": -0.1874,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3431,
          "after": 0.0,
          "delta": -0.3431,
          "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.3431,
          "after": 0.0,
          "delta": -0.3431,
          "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.1965,
          "after": 0.333,
          "delta": 0.1365,
          "percent_delta": 0.6947,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2507,
          "after": 0.333,
          "delta": 0.0823,
          "percent_delta": 0.3283,
          "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.3162,
          "after": 0.333,
          "delta": 0.0168,
          "percent_delta": 0.0531,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.1965,
          "after": 0.333,
          "delta": 0.1365,
          "percent_delta": 0.6947,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.1965,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2507,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3162,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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.1965,
          "delta": -0.1365,
          "percent_delta": -0.41,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.2507,
          "delta": -0.0823,
          "percent_delta": -0.2472,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 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.3162,
          "delta": -0.0168,
          "percent_delta": -0.0505,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.1965,
          "delta": -0.1365,
          "percent_delta": -0.41,
          "direction": "deboost",
          "projection_effect": "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.026,
        "after": 0.0,
        "delta": -0.026,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.5,
        "after": 3.0,
        "delta": 0.5,
        "percent_delta": 0.2,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.437,
        "after": 0.1965,
        "delta": -0.2405,
        "percent_delta": -0.5503,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.204,
        "after": 0.0,
        "delta": -0.204,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.36,
        "after": 0.0,
        "delta": -0.36,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.04,
        "after": 0.0,
        "delta": -0.04,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_OBP",
        "before": 0.437,
        "after": 0.2507,
        "delta": -0.1863,
        "percent_delta": -0.4263,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.357,
        "after": 0.0,
        "delta": -0.357,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.09,
        "after": 0.0,
        "delta": -0.09,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.385,
        "after": 0.3162,
        "delta": -0.0688,
        "percent_delta": -0.1787,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.791,
        "after": 1.0,
        "delta": 0.209,
        "percent_delta": 0.2642,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 2,
      "deboosted_metrics": 8,
      "better_metrics": 1,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 2.5,
        "after": 3.0,
        "delta": 0.5,
        "percent_delta": 0.2,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.36,
        "after": 0.0,
        "delta": -0.36,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.153-
predicted_3B0.026-
predicted_AB2.500-
predicted_AVG0.437-
predicted_BB0.204-
predicted_H0.360-
predicted_HR0.040-
predicted_OBP0.437-
predicted_R0.357-
predicted_RBI0.090-
predicted_SLG0.385-
predicted_SO0.791-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1540.002
predicted_3B0.022-0.004
predicted_AB2.5900.090
predicted_AVG0.375-0.062
predicted_BB0.189-0.015
predicted_H0.5120.152
predicted_HBP0.018-
predicted_HR0.038-0.002
predicted_OBP0.393-0.044
predicted_R0.347-0.010
predicted_RBI0.1640.074
predicted_SLG0.384-0.001
predicted_SO0.760-0.031
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1540.000
predicted_3B0.0220.000
predicted_AB2.5900.000
predicted_AVG0.197-0.178
predicted_BB0.187-0.001
predicted_H0.509-0.003
predicted_HBP0.0180.000
predicted_HR0.037-0.000
predicted_OBP0.251-0.142
predicted_R0.343-0.004
predicted_RBI0.162-0.002
predicted_SLG0.316-0.068
predicted_SO0.7650.005
4. ab_floor_and_scaling

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

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
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.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.154
predicted_3B0.000-0.022
predicted_AB3.0000.410
predicted_AVG0.3330.137
predicted_BB0.000-0.187
predicted_H1.0000.491
predicted_HR0.000-0.037
predicted_OBP0.3330.082
predicted_R0.000-0.343
predicted_RBI0.000-0.162
predicted_SLG0.3330.017
predicted_SO1.0000.235
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.0000.000
CS0.0000.000
H0.000-1.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: 41
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-13.0006.0001.0000.0000.0002.0001.0000.0002.0000.46150.46150.53850.46150.00000.15380.00000.1538
last_100.2010-24.0006.0001.0000.0000.0002.0002.0001.0006.0000.25000.28000.29170.25000.00000.08330.04170.2500
season0.6041-98.00023.0006.0001.0001.0008.00014.0008.00031.0000.23470.29910.34690.23470.01020.08160.08160.3163
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1570
predicted_3B0.0150
predicted_AB2.7340
predicted_AVG0.2754
predicted_BB0.1640
predicted_H0.7530
predicted_HBP0.0180
predicted_HR0.0340
predicted_OBP0.3229
predicted_R0.3300
predicted_RBI0.2820
predicted_SLG0.3816
predicted_SO0.7110
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15300.15700.1545model_form_blend
predicted_3B0.02600.01500.0218model_form_blend
predicted_AB2.50002.73402.5903model_form_blend
predicted_AVG0.43700.27540.3746model_form_blend
predicted_BB0.20400.16400.1886model_form_blend
predicted_H0.36000.75300.5117model_form_blend
predicted_HBP-0.01800.0180form_only
predicted_HR0.04000.03400.0377model_form_blend
predicted_OBP0.43700.32290.3930model_form_blend
predicted_R0.35700.33000.3466model_form_blend
predicted_RBI0.09000.28200.1641model_form_blend
predicted_SLG0.38500.38160.3837model_form_blend
predicted_SO0.79100.71100.7601model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date117
Season rows before report date117
Report year2026
Profile rows used41
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

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

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_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_battingOrder7
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
allPositionsPlayedPR
gameID20260819_LAA@HOU
game_typeph
mlbID624428
noteRan for d'Arnaud in the 9th.
playerID624428
playerNameAdam Frazier
pos2B
startedFalse
startingPositionPR
teamLAA
teamID13
game_date2026-08-19
sl_k_percent28.2
sl_bb_percent8.2
sl_woba0.292
sl_xwoba0.242
sl_xba0.194
sl_xslg0.257
sl_sweet_spot_percent30.4
sl_barrel_batted_rate1.4
sl_hard_hit_percent15.9
sl_exit_velocity_avg84.9
sl_launch_angle_avg14.1
sl_whiff_percent26.0
sl_swing_percent53.0
Tyler Heineman (623168) · BATTER · C · Team LAA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 69
All-history rows before 20260820: 69
System season_avg: 0.1800
Data season_avg (2026 season-to-date): 0.2404
Diff (system - data): -0.0604
System opponent_avg: 0.1000
System season_avg diverges from 2026 season-to-date by -0.0604. 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.0400.0000.000Hitting_2B0.0580.000-0.0580.000
predicted_3B0.0200.0000.000Hitting_3B0.0580.000-0.0580.000
predicted_AB2.6603.0003.000Hitting_AB2.6523.0000.3480.000
predicted_AVG0.2040.0000.333Hitting_AVG0.2400.000-0.2400.000
predicted_BB0.1000.0000.000Hitting_BB0.1740.000-0.1740.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.4200.0001.000Hitting_H0.6380.000-0.6380.000
predicted_HR0.0500.0000.000Hitting_HR0.0000.0000.0000.000
predicted_OBP0.2290.0000.333Hitting_OBP0.2980.000-0.2980.000
predicted_R0.2200.0000.000Hitting_R0.2610.000-0.2610.000
predicted_RBI0.1700.0000.000Hitting_RBI0.1160.000-0.1160.000
predicted_SLG0.2290.0000.333Hitting_SLG0.3060.000-0.3060.000
predicted_SO0.4800.0001.000Hitting_SO0.2321.000-0.232-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics2
Deboosted Metrics8
Better Metrics3
Worse Metrics7
Biggest Boostpredicted_AB: 2.6600 -> 3.0000 (boost 0.3400, better)
Biggest Deboostpredicted_SO: 0.4800 -> 0.0000 (deboost -0.4800, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend22020predicted_SLG: 0.2290 -> 0.2378 (boost 0.0088, 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.2378 -> 0.2457 (boost 0.0079, better)predicted_OBP: 0.2371 -> 0.2005 (deboost -0.0366, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling63324predicted_SO: 0.4558 -> 1.0000 (boost 0.5442, worse)predicted_RBI: 0.1572 -> 0.0000 (deboost -0.1572, worse)AB rounded to 3 (raw=2.69), rates preserved: AVG=0.173 HR/AB=0.015
5consistency_constraints10101-predicted_R: 0.2474 -> 0.0000 (deboost -0.2474, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context33030predicted_AVG: 0.1729 -> 0.3330 (boost 0.1601, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference20211-predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final30303-predicted_AVG: 0.3330 -> 0.1729 (deboost -0.1601, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "623168",
  "player_name": "Tyler Heineman",
  "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.04,
        "predicted_3B": 0.02,
        "predicted_AB": 2.66,
        "predicted_AVG": 0.204,
        "predicted_BB": 0.1,
        "predicted_H": 0.42,
        "predicted_HR": 0.05,
        "predicted_OBP": 0.229,
        "predicted_R": 0.22,
        "predicted_RBI": 0.17,
        "predicted_SLG": 0.229,
        "predicted_SO": 0.48
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0412,
        "predicted_3B": 0.0168,
        "predicted_AB": 2.6919,
        "predicted_AVG": 0.2012,
        "predicted_BB": 0.0936,
        "predicted_H": 0.4679,
        "predicted_HBP": 0.105,
        "predicted_HR": 0.0408,
        "predicted_OBP": 0.2371,
        "predicted_R": 0.2499,
        "predicted_RBI": 0.1588,
        "predicted_SLG": 0.2378,
        "predicted_SO": 0.4529
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.04,
          "after": 0.0412,
          "delta": 0.0012,
          "percent_delta": 0.03,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.02,
          "after": 0.0168,
          "delta": -0.0032,
          "percent_delta": -0.16,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.66,
          "after": 2.6919,
          "delta": 0.0319,
          "percent_delta": 0.012,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.204,
          "after": 0.2012,
          "delta": -0.0028,
          "percent_delta": -0.0137,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.1,
          "after": 0.0936,
          "delta": -0.0064,
          "percent_delta": -0.064,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.42,
          "after": 0.4679,
          "delta": 0.0479,
          "percent_delta": 0.114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.05,
          "after": 0.0408,
          "delta": -0.0092,
          "percent_delta": -0.184,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.229,
          "after": 0.2371,
          "delta": 0.0081,
          "percent_delta": 0.0354,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.22,
          "after": 0.2499,
          "delta": 0.0299,
          "percent_delta": 0.1359,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.17,
          "after": 0.1588,
          "delta": -0.0112,
          "percent_delta": -0.0659,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.229,
          "after": 0.2378,
          "delta": 0.0088,
          "percent_delta": 0.0384,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.48,
          "after": 0.4529,
          "delta": -0.0271,
          "percent_delta": -0.0565,
          "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.229,
          "after": 0.2378,
          "delta": 0.0088,
          "percent_delta": 0.0384,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 50
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0412,
        "predicted_3B": 0.0168,
        "predicted_AB": 2.6919,
        "predicted_AVG": 0.1729,
        "predicted_BB": 0.093,
        "predicted_H": 0.4654,
        "predicted_HBP": 0.105,
        "predicted_HR": 0.0404,
        "predicted_OBP": 0.2005,
        "predicted_R": 0.2474,
        "predicted_RBI": 0.1572,
        "predicted_SLG": 0.2457,
        "predicted_SO": 0.4558
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0412,
          "after": 0.0412,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0168,
          "after": 0.0168,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.6919,
          "after": 2.6919,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2012,
          "after": 0.1729,
          "delta": -0.0283,
          "percent_delta": -0.1407,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0936,
          "after": 0.093,
          "delta": -0.0006,
          "percent_delta": -0.0064,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.4679,
          "after": 0.4654,
          "delta": -0.0025,
          "percent_delta": -0.0053,
          "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.0408,
          "after": 0.0404,
          "delta": -0.0004,
          "percent_delta": -0.0098,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2371,
          "after": 0.2005,
          "delta": -0.0366,
          "percent_delta": -0.1544,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.2499,
          "after": 0.2474,
          "delta": -0.0025,
          "percent_delta": -0.01,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1588,
          "after": 0.1572,
          "delta": -0.0016,
          "percent_delta": -0.0101,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2378,
          "after": 0.2457,
          "delta": 0.0079,
          "percent_delta": 0.0332,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.4529,
          "after": 0.4558,
          "delta": 0.0029,
          "percent_delta": 0.0064,
          "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.2378,
          "after": 0.2457,
          "delta": 0.0079,
          "percent_delta": 0.0332,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.2371,
          "after": 0.2005,
          "delta": -0.0366,
          "percent_delta": -0.1544,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.69), rates preserved: AVG=0.173 HR/AB=0.015",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0412,
          "after": 0.0,
          "delta": -0.0412,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0168,
          "after": 0.0,
          "delta": -0.0168,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.6919,
          "after": 3.0,
          "delta": 0.3081,
          "percent_delta": 0.1145,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.093,
          "after": 0.0,
          "delta": -0.093,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.4654,
          "after": 1.0,
          "delta": 0.5346,
          "percent_delta": 1.1487,
          "direction": "boost",
          "projection_effect": "better",
          "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.0404,
          "after": 0.0,
          "delta": -0.0404,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1572,
          "after": 0.0,
          "delta": -0.1572,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.4558,
          "after": 1.0,
          "delta": 0.5442,
          "percent_delta": 1.1939,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.4558,
          "after": 1.0,
          "delta": 0.5442,
          "percent_delta": 1.1939,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.1572,
          "after": 0.0,
          "delta": -0.1572,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.2474,
          "after": 0.0,
          "delta": -0.2474,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 0.2474,
          "after": 0.0,
          "delta": -0.2474,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.333,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.333,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.333,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1729,
          "after": 0.333,
          "delta": 0.1601,
          "percent_delta": 0.926,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2005,
          "after": 0.333,
          "delta": 0.1325,
          "percent_delta": 0.6608,
          "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.2457,
          "after": 0.333,
          "delta": 0.0873,
          "percent_delta": 0.3553,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.1729,
          "after": 0.333,
          "delta": 0.1601,
          "percent_delta": 0.926,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.1729,
        "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.2005,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2457,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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.1729,
          "delta": -0.1601,
          "percent_delta": -0.4808,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.2005,
          "delta": -0.1325,
          "percent_delta": -0.3979,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 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.2457,
          "delta": -0.0873,
          "percent_delta": -0.2622,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.333,
          "after": 0.1729,
          "delta": -0.1601,
          "percent_delta": -0.4808,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.04,
        "after": 0.0,
        "delta": -0.04,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_3B",
        "before": 0.02,
        "after": 0.0,
        "delta": -0.02,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.66,
        "after": 3.0,
        "delta": 0.34,
        "percent_delta": 0.1278,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.204,
        "after": 0.1729,
        "delta": -0.0311,
        "percent_delta": -0.1525,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.1,
        "after": 0.0,
        "delta": -0.1,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.42,
        "after": 0.0,
        "delta": -0.42,
        "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.229,
        "after": 0.2005,
        "delta": -0.0285,
        "percent_delta": -0.1245,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.22,
        "after": 0.0,
        "delta": -0.22,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "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.229,
        "after": 0.2457,
        "delta": 0.0167,
        "percent_delta": 0.0729,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.48,
        "after": 0.0,
        "delta": -0.48,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 2,
      "deboosted_metrics": 8,
      "better_metrics": 3,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 2.66,
        "after": 3.0,
        "delta": 0.34,
        "percent_delta": 0.1278,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.48,
        "after": 0.0,
        "delta": -0.48,
        "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.040-
predicted_3B0.020-
predicted_AB2.660-
predicted_AVG0.204-
predicted_BB0.100-
predicted_H0.420-
predicted_HR0.050-
predicted_OBP0.229-
predicted_R0.220-
predicted_RBI0.170-
predicted_SLG0.229-
predicted_SO0.480-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.0410.001
predicted_3B0.017-0.003
predicted_AB2.6920.032
predicted_AVG0.201-0.003
predicted_BB0.094-0.006
predicted_H0.4680.048
predicted_HBP0.105-
predicted_HR0.041-0.009
predicted_OBP0.2370.008
predicted_R0.2500.030
predicted_RBI0.159-0.011
predicted_SLG0.2380.009
predicted_SO0.453-0.027
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.0410.000
predicted_3B0.0170.000
predicted_AB2.6920.000
predicted_AVG0.173-0.028
predicted_BB0.093-0.001
predicted_H0.465-0.003
predicted_HBP0.1050.000
predicted_HR0.040-0.000
predicted_OBP0.201-0.037
predicted_R0.247-0.003
predicted_RBI0.157-0.002
predicted_SLG0.2460.008
predicted_SO0.4560.003
4. ab_floor_and_scaling

AB rounded to 3 (raw=2.69), rates preserved: AVG=0.173 HR/AB=0.015

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. 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
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.041
predicted_3B0.000-0.017
predicted_AB3.0000.308
predicted_AVG0.3330.160
predicted_BB0.000-0.093
predicted_H1.0000.535
predicted_HR0.000-0.040
predicted_OBP0.3330.133
predicted_R0.000-0.247
predicted_RBI0.000-0.157
predicted_SLG0.3330.087
predicted_SO1.0000.544
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.0000.000
CS0.0000.000
H0.000-1.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: 50
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-11.0002.0000.0000.0000.0000.0002.0000.0001.0000.18180.25000.18180.18180.00000.00000.00000.0909
last_100.2010-24.0005.0000.0000.0000.0000.0002.0000.0001.0000.20830.24000.20830.20830.00000.00000.00000.0417
season0.6050-133.00024.0002.0001.0001.0008.00011.0005.00024.0000.18050.23240.23310.18040.00750.06020.03760.1804
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0430
predicted_3B0.0120
predicted_AB2.7400
predicted_AVG0.1971
predicted_BB0.0840
predicted_H0.5400
predicted_HBP0.1050
predicted_HR0.0270
predicted_OBP0.2493
predicted_R0.2950
predicted_RBI0.1420
predicted_SLG0.2511
predicted_SO0.4120
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.04000.04300.0412model_form_blend
predicted_3B0.02000.01200.0168model_form_blend
predicted_AB2.66002.74002.6919model_form_blend
predicted_AVG0.20400.19710.2012model_form_blend
predicted_BB0.10000.08400.0936model_form_blend
predicted_H0.42000.54000.4679model_form_blend
predicted_HBP-0.10500.1050form_only
predicted_HR0.05000.02700.0408model_form_blend
predicted_OBP0.22900.24930.2371model_form_blend
predicted_R0.22000.29500.2499model_form_blend
predicted_RBI0.17000.14200.1588model_form_blend
predicted_SLG0.22900.25110.2378model_form_blend
predicted_SO0.48000.41200.4529model_form_blend

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest 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_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
gameID20260818_LAA@HOU
game_typefull
mlbID623168
playerID623168
playerNameTyler Heineman
posC
startedTrue
startingPositionC
teamLAA
teamID13
game_date2026-08-18
game_pk824154.0
sl_k_percent16.0
sl_bb_percent3.3
sl_woba0.214
sl_xwoba0.249
sl_xba0.226
sl_xslg0.273
sl_sweet_spot_percent24.8
sl_barrel_batted_rate0.9
sl_hard_hit_percent12.8
sl_exit_velocity_avg81.5
sl_launch_angle_avg11.6
sl_whiff_percent18.8
sl_swing_percent55.3
at_bat_number48.0
ab_pitcher805123.0
ab_pitcher_nameBlubaugh, AJ
ab_home_teamHOU
ab_away_teamLAA
ab_game_typeR
ab_standL
ab_p_throwsR
ab_inning7.0
ab_inning_topbotTop
ab_outs_when_up0.0
ab_balls_start0.0
ab_strikes_start0.0
ab_home_score_start0.0
ab_away_score_start3.0
ab_bat_score_start3.0
ab_fld_score_start0.0
ab_eventfield_out
ab_event_descriptionTyler Heineman flies out to right fielder Cam Smith.
ab_event_typeX
ab_bb_typefly_ball
ab_hit_location9.0
ab_pitch_type_lastST
ab_pitch_name_lastSweeper
ab_zone_last6.0
ab_launch_speed_last84.4
ab_launch_angle_last39.0
ab_hit_distance_last289.0
ab_estimated_ba_last0.009
ab_estimated_woba_last0.008
ab_estimated_slg_last0.014
ab_woba_value0.0
ab_woba_denom1.0
ab_babip_value0.0
ab_iso_value0.0
ab_balls_end2.0
ab_strikes_end1.0
ab_home_score_end0.0
ab_away_score_end3.0
ab_bat_score_end3.0
ab_fld_score_end0.0
ab_pitch_count4.0
ab_release_speed_avg89.375
ab_release_spin_rate_avg2457.5
ab_effective_speed_avg89.55
ab_launch_speed_avg84.4
ab_launch_angle_avg39.0
ab_delta_run_exp_avg-0.06475
ab_delta_home_win_exp_avg0.00225
ab_delta_pitcher_run_exp_avg0.06475
ab_bat_speed_avg69.15
ab_swing_length_avg7.449999999999999
ab_launch_speed_max84.4
ab_hit_distance_sc_max289.0
ab_release_speed_max94.9
ab_release_spin_rate_max2631.0
ab_release_speed_min84.0
ab_release_spin_rate_min2276.0
ab_delta_run_exp_sum-0.259
ab_delta_home_win_exp_sum0.009
ab_delta_pitcher_run_exp_sum0.259
ab_result_is_hitFalse
ab_result_is_walkFalse
ab_result_is_strikeoutFalse
ab_result_is_hbpFalse
Grayson Rodriguez (680570) · PITCHER · Starter · Team LAA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 13
All-history rows before 20260820: 13

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB2.1542.000-1.154-1.000
predicted_ER4.0004.0004.000Pitching_ER3.6153.0000.3851.000
predicted_H6.0006.0006.000Pitching_H5.0773.0000.9233.000
predicted_IP4.2004.2004.200Pitching_InningsPitched4.3774.000-0.1770.200
predicted_SO4.0004.0004.000Pitching_SO4.2315.000-0.231-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectneutral
Changed Metrics2
Boosted Metrics1
Deboosted Metrics1
Better Metrics1
Worse Metrics1
Biggest Boostpredicted_SO: 3.0000 -> 4.0000 (boost 1.0000, better)
Biggest Deboostpredicted_IP: 4.6667 -> 4.2000 (deboost -0.4667, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final21111predicted_SO: 3.0000 -> 4.0000 (boost 1.0000, better)predicted_IP: 4.6667 -> 4.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": "680570",
  "player_name": "Grayson Rodriguez",
  "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": 1.0,
        "predicted_ER": 4.0,
        "predicted_H": 6.0,
        "predicted_HR": 0.0,
        "predicted_IP": 4.6667,
        "predicted_SO": 3.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 4.0,
        "predicted_H": 6.0,
        "predicted_HR": 0.0,
        "predicted_IP": 4.2,
        "predicted_R": 4.0,
        "predicted_SO": 4.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 4.0,
          "after": 4.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": 4.6667,
          "after": 4.2,
          "delta": -0.4667,
          "percent_delta": -0.1,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 4.6667,
          "after": 4.2,
          "delta": -0.4667,
          "percent_delta": -0.1,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 4.0,
        "after": 4.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 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": 4.6667,
        "after": 4.2,
        "delta": -0.4667,
        "percent_delta": -0.1,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 3.0,
        "after": 4.0,
        "delta": 1.0,
        "percent_delta": 0.3333,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 2,
      "boosted_metrics": 1,
      "deboosted_metrics": 1,
      "better_metrics": 1,
      "worse_metrics": 1,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 3.0,
        "after": 4.0,
        "delta": 1.0,
        "percent_delta": 0.3333,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 4.6667,
        "after": 4.2,
        "delta": -0.4667,
        "percent_delta": -0.1,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "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_ER4.000-
predicted_H6.000-
predicted_HR0.000-
predicted_IP4.667-
predicted_SO3.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.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45524.00015.00021.00011.00028.0005.0005.62501.33330.62500.87500.45831.16670.2083
last_100.351044.20035.00050.00020.00041.0008.0007.05221.56720.78361.11940.44780.91790.1791
season0.201359.00047.00066.00028.00055.00010.0007.16951.59320.79661.11860.47460.93220.1695
Weighted Prediction From Real Data
MetricValue
predicted_BB1.9810
predicted_ER3.0020
predicted_ERA5.8968
predicted_H4.5780
predicted_HR0.8170
predicted_IP4.2000
predicted_SO4.6320
predicted_WHIP1.4313
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00001.98101.5225model_form_blend
predicted_ER4.00003.00203.4684model_form_blend
predicted_ERA-5.89685.8968form_only
predicted_H6.00004.57805.2426model_form_blend
predicted_HR0.00000.81700.4352model_form_blend
predicted_IP4.20004.20004.2000model_form_blend
predicted_SO3.00004.63203.8693model_form_blend
predicted_WHIP-1.43131.4313form_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.2
H6
R4
ER4
BB1
SO4
HR0
BF21
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_BB2
Pitching_Balk0
Pitching_Batters Faced17
Pitching_ER3
Pitching_ERA7.17
Pitching_Flyouts0
Pitching_Groundouts6
Pitching_H3
Pitching_HBP0
Pitching_HR1
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched4.0
Pitching_Pitches89
Pitching_R3
Pitching_SO5
Pitching_Strikes53
Pitching_Wild Pitch0
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260814_KC@LAA
game_typefull
mlbID680570
playerID680570
playerNameGrayson Rodriguez
posP
startedTrue
startingPositionP
teamLAA
teamID13
game_date2026-08-14
game_pk823993.0
sl_k_percent20.3
sl_bb_percent10.3
sl_woba0.374
sl_xwoba0.379
sl_sweet_spot_percent40.4
sl_barrel_batted_rate10.9
sl_hard_hit_percent48.6
sl_whiff_percent24.1
sl_swing_percent48.3
sv_pitch_count89.0
sv_outs_recorded_est12.0
sv_release_speed89.96741573033708
sv_release_spin_rate2097.5280898876404
sv_effective_speed90.97865168539326
sv_launch_speed83.13333333333333
sv_launch_angle22.296296296296298
sv_woba_value5.2
sv_woba_denom17.0
sv_delta_run_exp-0.1229999999999998
sv_delta_home_win_exp-0.099
sl_avg_best_speed80.113467826
sl_avg_hyper_speed95.459503333
Samy Natera Jr. (696519) · PITCHER · Middle Reliever · Team LAA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 23
All-history rows before 20260820: 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.4350.000-0.4350.000
predicted_ER0.0000.0000.000Pitching_ER0.2610.000-0.2610.000
predicted_H0.0000.0000.000Pitching_H0.5650.000-0.5650.000
predicted_IP1.1001.1001.100Pitching_InningsPitched1.0221.0000.0780.100
predicted_SO1.0001.0001.000Pitching_SO1.8262.000-0.826-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": "696519",
  "player_name": "Samy Natera Jr.",
  "position": "Middle Reliever",
  "team": "LAA",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.3333,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.1,
        "predicted_R": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.3333,
          "after": 1.1,
          "delta": -0.2333,
          "percent_delta": -0.175,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 1.3333,
          "after": 1.1,
          "delta": -0.2333,
          "percent_delta": -0.175,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.3333,
        "after": 1.1,
        "delta": -0.2333,
        "percent_delta": -0.175,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 0,
      "deboosted_metrics": 1,
      "better_metrics": 0,
      "worse_metrics": 1,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 1.3333,
        "after": 1.1,
        "delta": -0.2333,
        "percent_delta": -0.175,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 22
Reference playing time: 1.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4556.2001.0004.0001.00012.0000.0001.35000.75000.15000.60000.15001.80000.0000
last_100.351011.2001.0005.0002.00020.0000.0000.77140.60000.08570.42860.17141.71430.0000
season0.202227.0006.00013.0009.00042.0001.0002.00000.81480.22220.48150.33331.55560.0370
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3690
predicted_ER0.4190
predicted_ERA2.8254
predicted_H0.9800
predicted_HR0.0990
predicted_IP1.1000
predicted_SO1.8040
predicted_WHIP1.0117
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.36900.1650model_form_blend
predicted_ER0.00000.41900.1874model_form_blend
predicted_ERA-2.82542.8254form_only
predicted_H0.00000.98000.4382model_form_blend
predicted_HR0.00000.09900.0443model_form_blend
predicted_IP1.10001.10001.1000model_form_blend
predicted_SO1.00001.80401.3595model_form_blend
predicted_WHIP-1.01171.0117form_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.1
H0
R0
ER0
BB0
SO1
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_BB0
Pitching_Balk0
Pitching_Batters Faced3
Pitching_ER0
Pitching_ERA2.00
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches11
Pitching_R0
Pitching_SO2
Pitching_Strikes8
Pitching_Wild Pitch0
Pitching_decisionS
Pitching_pitchingOrder5
allPositionsPlayedP
gameID20260811_TEX@LAA
game_typefull
mlbID696519
playerID696519
playerNameSamy Natera Jr.
posP
startedFalse
startingPositionP
teamLAA
teamID13
game_date2026-08-11
game_pk823997.0
sl_k_percent40.4
sl_bb_percent9.6
sl_woba0.214
sl_xwoba0.219
sl_sweet_spot_percent27.5
sl_barrel_batted_rate5.9
sl_hard_hit_percent31.4
sl_whiff_percent37.3
sl_swing_percent47.6
sv_pitch_count11.0
sv_outs_recorded_est3.0
sv_release_speed94.33636363636364
sv_release_spin_rate2273.454545454545
sv_effective_speed94.5909090909091
sv_launch_speed83.85
sv_launch_angle36.0
sv_woba_value0.0
sv_woba_denom3.0
sv_delta_run_exp-0.782
sv_delta_home_win_exp0.1649999999999999
sl_avg_best_speed77.762272308
sl_avg_hyper_speed92.940865882
Ben Joyce (690829) · PITCHER · Middle Reliever · Team LAA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 6
All-history rows before 20260820: 6

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.1670.000-0.1670.000
predicted_ER0.0000.0000.000Pitching_ER0.0000.0000.0000.000
predicted_H1.0001.0001.000Pitching_H0.1670.0000.8331.000
predicted_IP2.0002.0002.000Pitching_InningsPitched1.0001.0001.0001.000
predicted_SO1.0001.0001.000Pitching_SO1.3332.000-0.333-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 -> 2.0000 (boost 1.0000, better)
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final11010predicted_IP: 1.0000 -> 2.0000 (boost 1.0000, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "690829",
  "player_name": "Ben Joyce",
  "position": "Middle Reliever",
  "team": "LAA",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 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": 2.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": 2.0,
          "delta": 1.0,
          "percent_delta": 1.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": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 2.0,
        "delta": 1.0,
        "percent_delta": 1.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.0,
        "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": 2.0,
        "delta": 1.0,
        "percent_delta": 1.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": null,
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_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: 6
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.0000.0001.0000.0007.0000.0000.00000.20000.00000.20000.00001.40000.0000
last_100.3566.0000.0001.0001.0008.0000.0000.00000.33330.00000.16670.16671.33330.0000
season0.2066.0000.0001.0001.0008.0000.0000.00000.33330.00000.16670.16671.33330.0000
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2990
predicted_ER0.4030
predicted_ERA3.6288
predicted_H0.8220
predicted_HR0.1190
predicted_IP1.0000
predicted_SO1.0390
predicted_WHIP1.1208
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.29900.0925model_form_blend
predicted_ER0.00000.40300.1247model_form_blend
predicted_ERA-3.62883.6288form_only
predicted_H1.00000.82200.9449model_form_blend
predicted_HR0.00000.11900.0368model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00001.03901.0121model_form_blend
predicted_WHIP-1.12081.1208form_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 date6
Season rows before report date6
Report year2026
Profile rows used6
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP2.0
H1
R0
ER0
BB0
SO1
HR0
BF7
Pitches10

Latest Real Data Snapshot (before report date)

Latest 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_ERA0.00
Pitching_Flyouts1
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches11
Pitching_R0
Pitching_SO2
Pitching_Strikes8
Pitching_Wild Pitch0
Pitching_decisionS
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260818_LAA@HOU
game_typefull
mlbID690829
playerID690829
playerNameBen Joyce
posP
startedFalse
startingPositionP
teamLAA
teamID13
game_date2026-08-18
game_pk824154.0
sl_k_percent42.1
sl_bb_percent5.3
sl_woba0.084
sl_xwoba0.122
sl_sweet_spot_percent30.0
sl_barrel_batted_rate0.0
sl_hard_hit_percent20.0
sl_whiff_percent36.8
sl_swing_percent46.3
sv_pitch_count11.0
sv_outs_recorded_est3.0
sv_release_speed100.39090909090908
sv_release_spin_rate2301.0
sv_effective_speed101.1181818181818
sv_launch_speed79.4
sv_launch_angle54.25
sv_woba_value0.0
sv_woba_denom3.0
sv_delta_run_exp-0.78
sv_delta_home_win_exp-0.095
sl_avg_best_speed63.615964
sl_avg_hyper_speed91.522512
José Fermin (820862) · PITCHER · Middle Reliever · Team LAA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 39
All-history rows before 20260820: 39

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.5130.000-0.5130.000
predicted_ER0.0000.0000.000Pitching_ER0.3851.000-0.385-1.000
predicted_H1.0001.0001.000Pitching_H0.8722.0000.128-1.000
predicted_IP0.0000.0000.000Pitching_InningsPitched0.9130.100-0.913-0.100
predicted_SO0.0000.0000.000Pitching_SO1.2560.000-1.2560.000

Boost/Deboost Impact Trace

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

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 39
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.1002.0007.0001.0004.0001.0004.15381.84620.46151.61540.23080.92310.2308
last_100.351010.0005.00013.0003.00015.0003.0004.50001.60000.50001.30000.30001.50000.3000
season0.203941.20015.00034.00020.00049.0006.0003.24001.29600.36000.81600.48001.17600.1440
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2460
predicted_ER0.3540
predicted_ERA4.2455
predicted_H0.9050
predicted_HR0.1530
predicted_IP0.2000
predicted_SO0.8200
predicted_WHIP1.5332
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.24600.1210model_form_blend
predicted_ER0.00000.35400.1741model_form_blend
predicted_ERA-4.24554.2455form_only
predicted_H1.00000.90500.9533model_form_blend
predicted_HR0.00000.15300.0752model_form_blend
predicted_IP0.10000.20000.1000model_form_blend
predicted_SO1.00000.82000.9115model_form_blend
predicted_WHIP-1.53321.5332form_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 date39
Season rows before report date39
Report year2026
Profile rows used39
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP0.0
H1
R0
ER0
BB0
SO0
HR0
BF1
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_ER1
Pitching_ERA3.24
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H2
Pitching_HBP0
Pitching_HR1
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.1
Pitching_Pitches10
Pitching_R1
Pitching_SO0
Pitching_Strikes8
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20260818_LAA@HOU
game_typefull
mlbID820862
playerID820862
playerNameJosé Fermin
posP
startedFalse
startingPositionP
teamLAA
teamID13
game_date2026-08-18
game_pk824154.0
sl_k_percent27.1
sl_bb_percent11.0
sl_woba0.311
sl_xwoba0.322
sl_sweet_spot_percent28.7
sl_barrel_batted_rate9.3
sl_hard_hit_percent42.6
sl_whiff_percent30.9
sl_swing_percent49.1
sv_pitch_count10.0
sv_outs_recorded_est1.0
sv_release_speed91.65
sv_release_spin_rate2484.2
sv_effective_speed90.99
sv_launch_speed85.68333333333334
sv_launch_angle36.833333333333336
sv_woba_value2.9
sv_woba_denom3.0
sv_delta_run_exp1.213
sv_delta_home_win_exp0.091
sl_avg_best_speed81.649797963
sl_avg_hyper_speed94.468370841

Home Team: HOU

Home Pitcher Deep Analysis

FieldValue
PitcherPeter Lambert
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.3075
ESPN Rank14
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0315
Avg Velo89.3513
Avg Spin2218.0155
HB Inches0
IVB Inches0
Release Extension0
Pre IP5.2000
Pre ER3
Pre H5
Pre BB0
Pre SO6
Season ERA3.1096
Season WHIP1.1545
Role Avg IP5.6510
Recent Avg IP5.3330
Last Start IP5
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "HOU",
    "games": 135,
    "wins": 67,
    "losses": 68,
    "win_pct": 0.4963,
    "runs_scored": 611.0,
    "runs_allowed": 642.0,
    "run_differential": -31.0,
    "run_differential_per_game": -0.2296,
    "avg_runs_scored": 4.5259,
    "avg_runs_allowed": 4.7556,
    "offense_index": 1.0073,
    "defense_index": 0.9449,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 3.4,
      "avg_runs_allowed": 4.3,
      "run_differential": -9.0
    },
    "available": true,
    "quality_score": -0.0662
  },
  "opponent": {
    "team": "LAA",
    "games": 134,
    "wins": 55,
    "losses": 79,
    "win_pct": 0.4104,
    "runs_scored": 546.0,
    "runs_allowed": 630.0,
    "run_differential": -84.0,
    "run_differential_per_game": -0.6269,
    "avg_runs_scored": 4.0746,
    "avg_runs_allowed": 4.7015,
    "offense_index": 0.9068,
    "defense_index": 0.9557,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 3.1,
      "avg_runs_allowed": 3.4,
      "run_differential": -3.0
    },
    "available": true,
    "quality_score": -0.1529
  },
  "edges": {
    "quality_edge": 0.0867,
    "offense_edge": 0.0073,
    "opponent_offense_edge": -0.0932,
    "defense_strength": -0.0551,
    "opponent_defense_weakness": 0.0443,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 1.0055,
    "run_prevention": 0.9863,
    "strikeout": 1.0101
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "663567",
    "profile": {
      "available": true,
      "pitcher_id": "663567",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 472.0,
        "k_percent": 23.7,
        "bb_percent": 9.3,
        "woba": 0.282,
        "xwoba": 0.284,
        "sweet_spot_percent": 30.1,
        "barrel_batted_rate": 6.5,
        "hard_hit_percent": 36.3,
        "avg_best_speed": 78.5243,
        "avg_hyper_speed": 93.5957,
        "whiff_percent": 25.6,
        "swing_percent": 48.4
      },
      "league_medians": {
        "pa": 124.0,
        "k_percent": 22.1,
        "bb_percent": 9.0,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.6,
        "avg_best_speed": 77.5616,
        "avg_hyper_speed": 93.8797,
        "whiff_percent": 25.3,
        "swing_percent": 47.5
      },
      "components": {
        "contact_quality": 0.516,
        "command_and_miss": 0.1029,
        "regression_edge": -0.0571,
        "xwoba_edge": 0.8,
        "barrel_edge": 0.1333,
        "hard_hit_edge": 0.1857,
        "whiff_edge": 0.0429,
        "bb_edge": -0.075,
        "pitch_design_score": -0.0315
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "663567",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 92,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 92,
          "pitch_usage": 0.0,
          "release_speed": 89.3513060152988,
          "release_spin_rate": 2218.0155307207833,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 92,
            "pitch_usage": 0.0,
            "release_speed": 89.3513060152988,
            "release_spin_rate": 2218.0155307207833,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.3513,
          "release_spin_rate": 2218.0155,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.0315,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.2247,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "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.3075,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9739,
      "strikeout_factor": 1.0109,
      "walk_factor": 1.006,
      "homer_factor": 0.9579,
      "woba_minus_xwoba": -0.002,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "663567",
        "espn_id": 39898,
        "player_name": "Peter Lambert",
        "team": "HOU",
        "role": "pitcher",
        "espn_rank": 14,
        "espn_total_ranked": 819,
        "metrics": {
          "espn_rank": 14,
          "gp_value": 21.0,
          "gp_rank": 340,
          "gs_value": 21.0,
          "gs_rank": 75,
          "qs_value": 8.0,
          "qs_rank": 65,
          "era_value": 3.1095,
          "era_rank": null,
          "w_value": 8.0,
          "w_rank": 43,
          "l_value": 6.0,
          "l_rank": 92,
          "sv_value": 0.0,
          "sv_rank": 239,
          "hld_value": 0.0,
          "hld_rank": 323,
          "ip_value": 118.2,
          "ip_rank": 75,
          "h_value": 91.0,
          "h_rank": 105,
          "er_value": 41.0,
          "er_rank": 123,
          "hr_value": 12.0,
          "hr_rank": 111,
          "bb_value": 46.0,
          "bb_rank": 31,
          "k_value": 117.0,
          "k_rank": 50,
          "k_per_9_value": 8.873595,
          "k_per_9_rank": 18.0,
          "whip_value": 1.1544,
          "whip_rank": null,
          "war_value": 3.47,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 2.0,
        "factor": 0.9739,
        "adjusted": 2
      },
      "predicted_H": {
        "original": 5.0,
        "factor": 0.9739,
        "adjusted": 5
      },
      "predicted_BB": {
        "original": 2.0,
        "factor": 1.006,
        "adjusted": 2
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9579,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 5.0,
        "factor": 1.0109,
        "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": 18,
    "H": 45,
    "BB": 21,
    "SO": 59,
    "HR": 6,
    "ERA": 2.9634146341463414,
    "WHIP": 1.2073170731707317,
    "K9": 9.713414634146343,
    "HR9": 0.9878048780487805,
    "games_pitched": 10,
    "quality_starts": 3,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 1,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-14T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "663567",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 92,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 92,
    "pitch_usage": 0.0,
    "release_speed": 89.3513060152988,
    "release_spin_rate": 2218.0155307207833,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 92,
      "pitch_usage": 0.0,
      "release_speed": 89.3513060152988,
      "release_spin_rate": 2218.0155307207833,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.3513,
    "release_spin_rate": 2218.0155,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0315,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.2247,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 21.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8077,
    "prior_weight": 0.1923
  },
  "role": "pitcher",
  "player_id": "663567",
  "report_date": "20260820",
  "season_year": 2026,
  "rows_used": 21,
  "reference_playing_time": 5.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 26.2,
        "ER": 10.0,
        "R": 11.0,
        "H": 25.0,
        "BB": 10.0,
        "SO": 26.0,
        "HR": 1.0,
        "BF": 115.0,
        "Pitches": 455.0
      },
      "per_game": {
        "IP": 5.1,
        "ER": 2.0,
        "R": 2.2,
        "H": 5.0,
        "BB": 2.0,
        "SO": 5.2,
        "HR": 0.2,
        "BF": 23.0,
        "Pitches": 91.0
      },
      "rates": {
        "ERA": 3.375,
        "WHIP": 1.3125,
        "ER_per_IP": 0.375,
        "H_per_IP": 0.9375,
        "BB_per_IP": 0.375,
        "SO_per_IP": 0.975,
        "HR_per_IP": 0.0375
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 54.2,
        "ER": 18.0,
        "R": 19.0,
        "H": 45.0,
        "BB": 21.0,
        "SO": 59.0,
        "HR": 6.0,
        "BF": 232.0,
        "Pitches": 948.0
      },
      "per_game": {
        "IP": 5.1,
        "ER": 1.8,
        "R": 1.9,
        "H": 4.5,
        "BB": 2.1,
        "SO": 5.9,
        "HR": 0.6,
        "BF": 23.2,
        "Pitches": 94.8
      },
      "rates": {
        "ERA": 2.9634,
        "WHIP": 1.2073,
        "ER_per_IP": 0.32927,
        "H_per_IP": 0.82317,
        "BB_per_IP": 0.38415,
        "SO_per_IP": 1.07927,
        "HR_per_IP": 0.10976
      }
    },
    "season": {
      "games": 21,
      "totals": {
        "IP": 118.2,
        "ER": 41.0,
        "R": 42.0,
        "H": 91.0,
        "BB": 46.0,
        "SO": 117.0,
        "HR": 12.0,
        "BF": 494.0,
        "Pitches": 1985.0
      },
      "per_game": {
        "IP": 5.2,
        "ER": 1.9524,
        "R": 2.0,
        "H": 4.3333,
        "BB": 2.1905,
        "SO": 5.5714,
        "HR": 0.5714,
        "BF": 23.5238,
        "Pitches": 94.5238
      },
      "rates": {
        "ERA": 3.1096,
        "WHIP": 1.1545,
        "ER_per_IP": 0.34551,
        "H_per_IP": 0.76685,
        "BB_per_IP": 0.38764,
        "SO_per_IP": 0.98596,
        "HR_per_IP": 0.10112
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 5.1,
    "predicted_ER": 2.079,
    "predicted_H": 4.821,
    "predicted_BB": 2.06,
    "predicted_SO": 5.463,
    "predicted_HR": 0.487,
    "predicted_ERA": 3.4324,
    "predicted_WHIP": 1.2621
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4312,
  "form_weight": 0.5688,
  "form_reliability": 0.8077,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 21.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8077,
    "prior_weight": 0.1923
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 5.2,
      "form": 5.1,
      "final": 5.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 3.0,
      "form": 2.079,
      "final": 2.4762,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 5.0,
      "form": 4.821,
      "final": 4.8982,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 2.06,
      "final": 1.1716,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 6.0,
      "form": 5.463,
      "final": 5.6946,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.487,
      "final": 0.7082,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.4324,
      "final": 3.4324,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2621,
      "final": 1.2621,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherBryan Abreu
RoleMiddle Reliever
Projection Source-
Savant Quality Score0.0709
ESPN Rank244
Movement AvailableTrue
Primary Pitch-
Movement Score0.0592
Avg Velo90.9709
Avg Spin2504.1312
HB Inches0
IVB Inches0
Release Extension0
Pre IP1.1000
Pre ER0
Pre H0
Pre BB0
Pre SO0
Season ERA4.3043
Season WHIP1.3696
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "HOU",
    "games": 135,
    "wins": 67,
    "losses": 68,
    "win_pct": 0.4963,
    "runs_scored": 611.0,
    "runs_allowed": 642.0,
    "run_differential": -31.0,
    "run_differential_per_game": -0.2296,
    "avg_runs_scored": 4.5259,
    "avg_runs_allowed": 4.7556,
    "offense_index": 1.0073,
    "defense_index": 0.9449,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 3.4,
      "avg_runs_allowed": 4.3,
      "run_differential": -9.0
    },
    "available": true,
    "quality_score": -0.0662
  },
  "opponent": {
    "team": "LAA",
    "games": 134,
    "wins": 55,
    "losses": 79,
    "win_pct": 0.4104,
    "runs_scored": 546.0,
    "runs_allowed": 630.0,
    "run_differential": -84.0,
    "run_differential_per_game": -0.6269,
    "avg_runs_scored": 4.0746,
    "avg_runs_allowed": 4.7015,
    "offense_index": 0.9068,
    "defense_index": 0.9557,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 3.1,
      "avg_runs_allowed": 3.4,
      "run_differential": -3.0
    },
    "available": true,
    "quality_score": -0.1529
  },
  "edges": {
    "quality_edge": 0.0867,
    "offense_edge": 0.0073,
    "opponent_offense_edge": -0.0932,
    "defense_strength": -0.0551,
    "opponent_defense_weakness": 0.0443,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 1.0055,
    "run_prevention": 0.9863,
    "strikeout": 1.0101
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "650556",
    "profile": {
      "available": true,
      "pitcher_id": "650556",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 195.0,
        "k_percent": 29.4,
        "bb_percent": 16.4,
        "woba": 0.329,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 5.8,
        "hard_hit_percent": 41.9,
        "avg_best_speed": 81.6953,
        "avg_hyper_speed": 94.3642,
        "whiff_percent": 32.9,
        "swing_percent": 41.1
      },
      "league_medians": {
        "pa": 124.0,
        "k_percent": 22.1,
        "bb_percent": 9.0,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.6,
        "avg_best_speed": 77.5616,
        "avg_hyper_speed": 93.8797,
        "whiff_percent": 25.3,
        "swing_percent": 47.5
      },
      "components": {
        "contact_quality": -0.1604,
        "command_and_miss": 0.4793,
        "regression_edge": 0.5143,
        "xwoba_edge": 0.0286,
        "barrel_edge": 0.2889,
        "hard_hit_edge": -0.6143,
        "whiff_edge": 1.0857,
        "bb_edge": -1.85,
        "pitch_design_score": 0.0592
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "650556",
        "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.97092095701862,
          "release_spin_rate": 2504.131207232104,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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.97092095701862,
            "release_spin_rate": 2504.131207232104,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.9709,
          "release_spin_rate": 2504.1312,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.0592,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.4231,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "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.0709,
      "sample_weight": 0.78,
      "run_prevention_factor": 0.994,
      "strikeout_factor": 1.0664,
      "walk_factor": 1.1154,
      "homer_factor": 1.0005,
      "woba_minus_xwoba": 0.018,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "650556",
        "espn_id": 41208,
        "player_name": "Bryan Abreu",
        "team": "HOU",
        "role": "pitcher",
        "espn_rank": 244,
        "espn_total_ranked": 819,
        "metrics": {
          "espn_rank": 244,
          "gp_value": 49.0,
          "gp_rank": 69,
          "gs_value": 0.0,
          "gs_rank": 344,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 4.3043,
          "era_rank": null,
          "w_value": 4.0,
          "w_rank": 161,
          "l_value": 3.0,
          "l_rank": 209,
          "sv_value": 7.0,
          "sv_rank": 31,
          "hld_value": 9.0,
          "hld_rank": 85,
          "ip_value": 46.0,
          "ip_rank": 286,
          "h_value": 32.0,
          "h_rank": 358,
          "er_value": 22.0,
          "er_rank": 250,
          "hr_value": 7.0,
          "hr_rank": 205,
          "bb_value": 33.0,
          "bb_rank": 105,
          "k_value": 59.0,
          "k_rank": 192,
          "k_per_9_value": 11.543478,
          "k_per_9_rank": 18.0,
          "whip_value": 1.413,
          "whip_rank": null,
          "war_value": 0.48,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9953,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9953,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.09,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0004,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0518,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 10.1,
    "ER": 2,
    "H": 3,
    "BB": 5,
    "SO": 13,
    "HR": 0,
    "ERA": 1.7419354838709677,
    "WHIP": 0.7741935483870968,
    "K9": 11.32258064516129,
    "HR9": 0.0,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": true,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-19T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "650556",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 19,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 19,
    "pitch_usage": 0.0,
    "release_speed": 90.97092095701862,
    "release_spin_rate": 2504.131207232104,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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.97092095701862,
      "release_spin_rate": 2504.131207232104,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.9709,
    "release_spin_rate": 2504.1312,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.0592,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.4231,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 9.223,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6485,
    "prior_weight": 0.3515
  },
  "role": "pitcher",
  "player_id": "650556",
  "report_date": "20260820",
  "season_year": 2026,
  "rows_used": 48,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.1,
        "ER": 2.0,
        "R": 2.0,
        "H": 3.0,
        "BB": 4.0,
        "SO": 6.0,
        "HR": 0.0,
        "BF": 24.0,
        "Pitches": 101.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.4,
        "H": 0.6,
        "BB": 0.8,
        "SO": 1.2,
        "HR": 0.0,
        "BF": 4.8,
        "Pitches": 20.2
      },
      "rates": {
        "ERA": 3.375,
        "WHIP": 1.3125,
        "ER_per_IP": 0.375,
        "H_per_IP": 0.5625,
        "BB_per_IP": 0.75,
        "SO_per_IP": 1.125,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.1,
        "ER": 2.0,
        "R": 2.0,
        "H": 3.0,
        "BB": 5.0,
        "SO": 13.0,
        "HR": 0.0,
        "BF": 40.0,
        "Pitches": 176.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.3,
        "BB": 0.5,
        "SO": 1.3,
        "HR": 0.0,
        "BF": 4.0,
        "Pitches": 17.6
      },
      "rates": {
        "ERA": 1.7419,
        "WHIP": 0.7742,
        "ER_per_IP": 0.19355,
        "H_per_IP": 0.29032,
        "BB_per_IP": 0.48387,
        "SO_per_IP": 1.25806,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 48,
      "totals": {
        "IP": 46.0,
        "ER": 22.0,
        "R": 23.0,
        "H": 30.0,
        "BB": 33.0,
        "SO": 59.0,
        "HR": 7.0,
        "BF": 199.0,
        "Pitches": 835.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4583,
        "R": 0.4792,
        "H": 0.625,
        "BB": 0.6875,
        "SO": 1.2292,
        "HR": 0.1458,
        "BF": 4.1458,
        "Pitches": 17.3958
      },
      "rates": {
        "ERA": 4.3043,
        "WHIP": 1.3696,
        "ER_per_IP": 0.47826,
        "H_per_IP": 0.65217,
        "BB_per_IP": 0.71739,
        "SO_per_IP": 1.28261,
        "HR_per_IP": 0.15217
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.391,
    "predicted_H": 0.656,
    "predicted_BB": 0.55,
    "predicted_SO": 1.116,
    "predicted_HR": 0.071,
    "predicted_ERA": 3.5209,
    "predicted_WHIP": 1.2067
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4985,
  "form_weight": 0.5015,
  "form_reliability": 0.6485,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 9.223,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6485,
    "prior_weight": 0.3515
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.391,
      "final": 0.1961,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.656,
      "final": 0.329,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.55,
      "final": 0.2758,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 1.116,
      "final": 0.5597,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.071,
      "final": 0.0356,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.5209,
      "final": 3.5209,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2067,
      "final": 1.2067,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherJosh Hader
RoleMiddle Reliever
Projection Source-
Savant Quality Score0.5144
ESPN Rank64
Movement AvailableTrue
Primary Pitch-
Movement Score0.0512
Avg Velo90.8280
Avg Spin2354.2453
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO0
Season ERA0.5806
Season WHIP0.6774
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "HOU",
    "games": 135,
    "wins": 67,
    "losses": 68,
    "win_pct": 0.4963,
    "runs_scored": 611.0,
    "runs_allowed": 642.0,
    "run_differential": -31.0,
    "run_differential_per_game": -0.2296,
    "avg_runs_scored": 4.5259,
    "avg_runs_allowed": 4.7556,
    "offense_index": 1.0073,
    "defense_index": 0.9449,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 3.4,
      "avg_runs_allowed": 4.3,
      "run_differential": -9.0
    },
    "available": true,
    "quality_score": -0.0662
  },
  "opponent": {
    "team": "LAA",
    "games": 134,
    "wins": 55,
    "losses": 79,
    "win_pct": 0.4104,
    "runs_scored": 546.0,
    "runs_allowed": 630.0,
    "run_differential": -84.0,
    "run_differential_per_game": -0.6269,
    "avg_runs_scored": 4.0746,
    "avg_runs_allowed": 4.7015,
    "offense_index": 0.9068,
    "defense_index": 0.9557,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 3.1,
      "avg_runs_allowed": 3.4,
      "run_differential": -3.0
    },
    "available": true,
    "quality_score": -0.1529
  },
  "edges": {
    "quality_edge": 0.0867,
    "offense_edge": 0.0073,
    "opponent_offense_edge": -0.0932,
    "defense_strength": -0.0551,
    "opponent_defense_weakness": 0.0443,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 1.0055,
    "run_prevention": 0.9863,
    "strikeout": 1.0101
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "623352",
    "profile": {
      "available": true,
      "pitcher_id": "623352",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 113.0,
        "k_percent": 35.0,
        "bb_percent": 9.4,
        "woba": 0.181,
        "xwoba": 0.225,
        "sweet_spot_percent": 27.7,
        "barrel_batted_rate": 7.7,
        "hard_hit_percent": 33.8,
        "avg_best_speed": 73.8346,
        "avg_hyper_speed": 92.7746,
        "whiff_percent": 36.5,
        "swing_percent": 53.1
      },
      "league_medians": {
        "pa": 124.0,
        "k_percent": 22.1,
        "bb_percent": 9.0,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.6,
        "avg_best_speed": 77.5616,
        "avg_hyper_speed": 93.8797,
        "whiff_percent": 25.3,
        "swing_percent": 47.5
      },
      "components": {
        "contact_quality": 1.6136,
        "command_and_miss": 1.3693,
        "regression_edge": -1.2571,
        "xwoba_edge": 2.4857,
        "barrel_edge": -0.1333,
        "hard_hit_edge": 0.5429,
        "whiff_edge": 1.6,
        "bb_edge": -0.1,
        "pitch_design_score": 0.0512
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "623352",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 16,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 16,
          "pitch_usage": 0.0,
          "release_speed": 90.82802529566575,
          "release_spin_rate": 2354.245343911936,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 16,
            "pitch_usage": 0.0,
            "release_speed": 90.82802529566575,
            "release_spin_rate": 2354.245343911936,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.828,
          "release_spin_rate": 2354.2453,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.0512,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.366,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "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.5144,
      "sample_weight": 0.452,
      "run_prevention_factor": 0.9563,
      "strikeout_factor": 1.0622,
      "walk_factor": 1.0036,
      "homer_factor": 0.9613,
      "woba_minus_xwoba": -0.044,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": true,
        "player_id": "623352",
        "espn_id": 32760,
        "player_name": "Josh Hader",
        "team": "HOU",
        "role": "pitcher",
        "espn_rank": 64,
        "espn_total_ranked": 819,
        "metrics": {
          "espn_rank": 64,
          "gp_value": 32.0,
          "gp_rank": 186,
          "gs_value": 0.0,
          "gs_rank": 344,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 0.8709,
          "era_rank": null,
          "w_value": 4.0,
          "w_rank": 161,
          "l_value": 1.0,
          "l_rank": 392,
          "sv_value": 18.0,
          "sv_rank": 15,
          "hld_value": 0.0,
          "hld_rank": 323,
          "ip_value": 31.0,
          "ip_rank": 398,
          "h_value": 13.0,
          "h_rank": 558,
          "er_value": 3.0,
          "er_rank": 673,
          "hr_value": 1.0,
          "hr_rank": 578,
          "bb_value": 11.0,
          "bb_rank": 426,
          "k_value": 41.0,
          "k_rank": 309,
          "k_per_9_value": 11.903226,
          "k_per_9_rank": 20.0,
          "whip_value": 0.7741,
          "whip_rank": null,
          "war_value": 2.08,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9802,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9802,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0016,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9825,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0281,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 11.0,
    "ER": 0,
    "H": 3,
    "BB": 3,
    "SO": 8,
    "HR": 0,
    "ERA": 0.0,
    "WHIP": 0.5454545454545454,
    "K9": 6.545454545454546,
    "HR9": 0.0,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": true,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-19T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "623352",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 16,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 16,
    "pitch_usage": 0.0,
    "release_speed": 90.82802529566575,
    "release_spin_rate": 2354.245343911936,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 16,
      "pitch_usage": 0.0,
      "release_speed": 90.82802529566575,
      "release_spin_rate": 2354.245343911936,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.828,
    "release_spin_rate": 2354.2453,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.0512,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.366,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 6.216,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5542,
    "prior_weight": 0.4458
  },
  "role": "pitcher",
  "player_id": "623352",
  "report_date": "20260820",
  "season_year": 2026,
  "rows_used": 31,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 6.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 3.0,
        "BB": 1.0,
        "SO": 5.0,
        "HR": 0.0,
        "BF": 22.0,
        "Pitches": 85.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.6,
        "BB": 0.2,
        "SO": 1.0,
        "HR": 0.0,
        "BF": 4.4,
        "Pitches": 17.0
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.6667,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.5,
        "BB_per_IP": 0.16667,
        "SO_per_IP": 0.83333,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 11.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 3.0,
        "BB": 3.0,
        "SO": 8.0,
        "HR": 0.0,
        "BF": 39.0,
        "Pitches": 150.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.3,
        "BB": 0.3,
        "SO": 0.8,
        "HR": 0.0,
        "BF": 3.9,
        "Pitches": 15.0
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.5455,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.27273,
        "BB_per_IP": 0.27273,
        "SO_per_IP": 0.72727,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 31,
      "totals": {
        "IP": 31.0,
        "ER": 2.0,
        "R": 2.0,
        "H": 10.0,
        "BB": 11.0,
        "SO": 41.0,
        "HR": 1.0,
        "BF": 114.0,
        "Pitches": 466.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0645,
        "R": 0.0645,
        "H": 0.3226,
        "BB": 0.3548,
        "SO": 1.3226,
        "HR": 0.0323,
        "BF": 3.6774,
        "Pitches": 15.0323
      },
      "rates": {
        "ERA": 0.5806,
        "WHIP": 0.6774,
        "ER_per_IP": 0.06452,
        "H_per_IP": 0.32258,
        "BB_per_IP": 0.35484,
        "SO_per_IP": 1.32258,
        "HR_per_IP": 0.03226
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.249,
    "predicted_H": 0.701,
    "predicted_BB": 0.321,
    "predicted_SO": 0.997,
    "predicted_HR": 0.075,
    "predicted_ERA": 2.0712,
    "predicted_WHIP": 0.9436
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5384,
  "form_weight": 0.4616,
  "form_reliability": 0.5542,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 6.216,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5542,
    "prior_weight": 0.4458
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.249,
      "final": 0.115,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.701,
      "final": 0.3236,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.321,
      "final": 0.1482,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 0.997,
      "final": 0.4603,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.075,
      "final": 0.0346,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.0712,
      "final": 2.0712,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.9436,
      "final": 0.9436,
      "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
PitcherSteven Okert
RoleMiddle Reliever
Projection Source-
Savant Quality Score0.6656
ESPN Rank54
Movement AvailableTrue
Primary Pitch-
Movement Score-0.2800
Avg Velo84.2320
Avg Spin2358.7241
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H1
Pre BB0
Pre SO1
Season ERA2.0106
Season WHIP0.8457
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "HOU",
    "games": 135,
    "wins": 67,
    "losses": 68,
    "win_pct": 0.4963,
    "runs_scored": 611.0,
    "runs_allowed": 642.0,
    "run_differential": -31.0,
    "run_differential_per_game": -0.2296,
    "avg_runs_scored": 4.5259,
    "avg_runs_allowed": 4.7556,
    "offense_index": 1.0073,
    "defense_index": 0.9449,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 3.4,
      "avg_runs_allowed": 4.3,
      "run_differential": -9.0
    },
    "available": true,
    "quality_score": -0.0662
  },
  "opponent": {
    "team": "LAA",
    "games": 134,
    "wins": 55,
    "losses": 79,
    "win_pct": 0.4104,
    "runs_scored": 546.0,
    "runs_allowed": 630.0,
    "run_differential": -84.0,
    "run_differential_per_game": -0.6269,
    "avg_runs_scored": 4.0746,
    "avg_runs_allowed": 4.7015,
    "offense_index": 0.9068,
    "defense_index": 0.9557,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 3.1,
      "avg_runs_allowed": 3.4,
      "run_differential": -3.0
    },
    "available": true,
    "quality_score": -0.1529
  },
  "edges": {
    "quality_edge": 0.0867,
    "offense_edge": 0.0073,
    "opponent_offense_edge": -0.0932,
    "defense_strength": -0.0551,
    "opponent_defense_weakness": 0.0443,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 1.0055,
    "run_prevention": 0.9863,
    "strikeout": 1.0101
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "595345",
    "profile": {
      "available": true,
      "pitcher_id": "595345",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 231.0,
        "k_percent": 26.7,
        "bb_percent": 5.4,
        "woba": 0.242,
        "xwoba": 0.262,
        "sweet_spot_percent": 32.1,
        "barrel_batted_rate": 4.5,
        "hard_hit_percent": 33.3,
        "avg_best_speed": 76.2809,
        "avg_hyper_speed": 92.9953,
        "whiff_percent": 30.7,
        "swing_percent": 49.6
      },
      "league_medians": {
        "pa": 124.0,
        "k_percent": 22.1,
        "bb_percent": 9.0,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.6,
        "avg_best_speed": 77.5616,
        "avg_hyper_speed": 93.8797,
        "whiff_percent": 25.3,
        "swing_percent": 47.5
      },
      "components": {
        "contact_quality": 1.0821,
        "command_and_miss": 0.7457,
        "regression_edge": -0.5714,
        "xwoba_edge": 1.4286,
        "barrel_edge": 0.5778,
        "hard_hit_edge": 0.6143,
        "whiff_edge": 0.7714,
        "bb_edge": 0.9,
        "pitch_design_score": -0.28
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "595345",
        "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": 84.23203925709048,
          "release_spin_rate": 2358.7241489703274,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 84.23203925709048,
            "release_spin_rate": 2358.7241489703274,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.232,
          "release_spin_rate": 2358.7241,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "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.6656,
      "sample_weight": 0.924,
      "run_prevention_factor": 0.9434,
      "strikeout_factor": 1.0528,
      "walk_factor": 0.9335,
      "homer_factor": 0.895,
      "woba_minus_xwoba": -0.02,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "595345",
        "espn_id": 33716,
        "player_name": "Steven Okert",
        "team": "HOU",
        "role": "pitcher",
        "espn_rank": 54,
        "espn_total_ranked": 819,
        "metrics": {
          "espn_rank": 54,
          "gp_value": 62.0,
          "gp_rank": 5,
          "gs_value": 1.0,
          "gs_rank": 288,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 2.0106,
          "era_rank": null,
          "w_value": 6.0,
          "w_rank": 88,
          "l_value": 1.0,
          "l_rank": 392,
          "sv_value": 0.0,
          "sv_rank": 239,
          "hld_value": 18.0,
          "hld_rank": 17,
          "ip_value": 62.2,
          "ip_rank": 181,
          "h_value": 40.0,
          "h_rank": 279,
          "er_value": 14.0,
          "er_rank": 392,
          "hr_value": 6.0,
          "hr_rank": 244,
          "bb_value": 13.0,
          "bb_rank": 379,
          "k_value": 64.0,
          "k_rank": 171,
          "k_per_9_value": 9.191489,
          "k_per_9_rank": 25.0,
          "whip_value": 0.8457,
          "whip_rank": null,
          "war_value": 2.26,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9477,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9477,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9386,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.903,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0488,
        "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": 9,
    "BB": 1,
    "SO": 10,
    "HR": 1,
    "ERA": 1.8,
    "WHIP": 1.0,
    "K9": 9.0,
    "HR9": 0.9,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": true,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-19T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "595345",
  "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": 84.23203925709048,
    "release_spin_rate": 2358.7241489703274,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 84.23203925709048,
      "release_spin_rate": 2358.7241489703274,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.232,
    "release_spin_rate": 2358.7241,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.28,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -2.0,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 12.565,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7153,
    "prior_weight": 0.2847
  },
  "role": "pitcher",
  "player_id": "595345",
  "report_date": "20260820",
  "season_year": 2026,
  "rows_used": 62,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.1,
        "ER": 0.0,
        "R": 0.0,
        "H": 2.0,
        "BB": 1.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.2,
        "SO": 1.0,
        "HR": 0.0,
        "BF": 3.6,
        "Pitches": 14.2
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.5625,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.375,
        "BB_per_IP": 0.1875,
        "SO_per_IP": 0.9375,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.0,
        "ER": 2.0,
        "R": 2.0,
        "H": 9.0,
        "BB": 1.0,
        "SO": 10.0,
        "HR": 1.0,
        "BF": 40.0,
        "Pitches": 162.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.9,
        "BB": 0.1,
        "SO": 1.0,
        "HR": 0.1,
        "BF": 4.0,
        "Pitches": 16.2
      },
      "rates": {
        "ERA": 1.8,
        "WHIP": 1.0,
        "ER_per_IP": 0.2,
        "H_per_IP": 0.9,
        "BB_per_IP": 0.1,
        "SO_per_IP": 1.0,
        "HR_per_IP": 0.1
      }
    },
    "season": {
      "games": 62,
      "totals": {
        "IP": 62.2,
        "ER": 14.0,
        "R": 15.0,
        "H": 40.0,
        "BB": 13.0,
        "SO": 64.0,
        "HR": 6.0,
        "BF": 240.0,
        "Pitches": 966.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2258,
        "R": 0.2419,
        "H": 0.6452,
        "BB": 0.2097,
        "SO": 1.0323,
        "HR": 0.0968,
        "BF": 3.871,
        "Pitches": 15.5806
      },
      "rates": {
        "ERA": 2.0106,
        "WHIP": 0.8457,
        "ER_per_IP": 0.2234,
        "H_per_IP": 0.6383,
        "BB_per_IP": 0.20745,
        "SO_per_IP": 1.02128,
        "HR_per_IP": 0.09574
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.224,
    "predicted_H": 0.714,
    "predicted_BB": 0.219,
    "predicted_SO": 0.97,
    "predicted_HR": 0.081,
    "predicted_ERA": 2.0199,
    "predicted_WHIP": 0.9333
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4703,
  "form_weight": 0.5297,
  "form_reliability": 0.7153,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 12.565,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7153,
    "prior_weight": 0.2847
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.224,
      "final": 0.1187,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.714,
      "final": 0.8485,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.219,
      "final": 0.116,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.97,
      "final": 0.9841,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.081,
      "final": 0.0429,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.0199,
      "final": 2.0199,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.9333,
      "final": 0.9333,
      "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."
}
LaMonte Wade Jr. (664774) · BATTER · 1B · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 101
All-history rows before 20260820: 101
System season_avg: 0.2260
Data season_avg (2026 season-to-date): 0.2237
Diff (system - data): 0.0023
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.1250.0000.000Hitting_2B0.1580.000-0.1580.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.6254.0003.000Hitting_AB2.9213.0001.0791.000
predicted_AVG0.2260.5000.333Hitting_AVG0.2240.3330.2760.167
predicted_BB0.4690.0000.000Hitting_BB0.5840.000-0.5840.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.5942.0001.000Hitting_H0.6531.0001.3471.000
predicted_HR0.0620.0000.000Hitting_HR0.0890.000-0.0890.000
predicted_OBP0.3430.5000.333Hitting_OBP0.3530.3330.1470.167
predicted_R0.3121.0000.000Hitting_R0.3960.0000.6041.000
predicted_RBI0.4690.0000.000Hitting_RBI0.5740.000-0.5740.000
predicted_SLG0.3450.5000.333Hitting_SLG0.3690.3330.1310.167
predicted_SO0.6560.0001.000Hitting_SO0.7621.000-0.762-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.5940 -> 2.0000 (boost 1.4060, better)
Biggest Deboostpredicted_SO: 0.6560 -> 0.0000 (deboost -0.6560, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend43131predicted_H: 0.5940 -> 0.6440 (boost 0.0500, better)predicted_BB: 0.4690 -> 0.4159 (deboost -0.0531, worse)Final model input calibrated 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_scaling73425predicted_H: 0.6470 -> 1.0000 (boost 0.3530, better)predicted_RBI: 0.4325 -> 0.0000 (deboost -0.4325, worse)AB rounded to 3 (raw=2.66), rates preserved: AVG=0.243 HR/AB=0.022
5consistency_constraints10101-predicted_R: 0.2838 -> 0.0000 (deboost -0.2838, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context31212predicted_AVG: 0.2431 -> 0.3330 (boost 0.0899, better)predicted_SLG: 0.3549 -> 0.3330 (deboost -0.0219, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference43140predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)Attached simulation box score without overwriting model prediction
8current_json_final32121predicted_SLG: 0.3330 -> 0.3549 (boost 0.0219, better)predicted_AVG: 0.3330 -> 0.2431 (deboost -0.0899, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "664774",
  "player_name": "LaMonte Wade Jr.",
  "position": "1B",
  "team": "HOU",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.125,
        "predicted_3B": 0.0,
        "predicted_AB": 2.625,
        "predicted_AVG": 0.226,
        "predicted_BB": 0.469,
        "predicted_H": 0.594,
        "predicted_HR": 0.062,
        "predicted_OBP": 0.343,
        "predicted_R": 0.312,
        "predicted_RBI": 0.469,
        "predicted_SLG": 0.345,
        "predicted_SO": 0.656
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1193,
        "predicted_3B": 0.0011,
        "predicted_AB": 2.6621,
        "predicted_AVG": 0.2414,
        "predicted_BB": 0.4159,
        "predicted_H": 0.644,
        "predicted_HBP": 0.005,
        "predicted_HR": 0.0582,
        "predicted_OBP": 0.3448,
        "predicted_R": 0.2814,
        "predicted_RBI": 0.4289,
        "predicted_SLG": 0.3529,
        "predicted_SO": 0.6499
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.125,
          "after": 0.1193,
          "delta": -0.0057,
          "percent_delta": -0.0456,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0011,
          "delta": 0.0011,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.625,
          "after": 2.6621,
          "delta": 0.0371,
          "percent_delta": 0.0141,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.226,
          "after": 0.2414,
          "delta": 0.0154,
          "percent_delta": 0.0681,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.469,
          "after": 0.4159,
          "delta": -0.0531,
          "percent_delta": -0.1132,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.594,
          "after": 0.644,
          "delta": 0.05,
          "percent_delta": 0.0842,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.062,
          "after": 0.0582,
          "delta": -0.0038,
          "percent_delta": -0.0613,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.343,
          "after": 0.3448,
          "delta": 0.0018,
          "percent_delta": 0.0052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.312,
          "after": 0.2814,
          "delta": -0.0306,
          "percent_delta": -0.0981,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.469,
          "after": 0.4289,
          "delta": -0.0401,
          "percent_delta": -0.0855,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.345,
          "after": 0.3529,
          "delta": 0.0079,
          "percent_delta": 0.0229,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.656,
          "after": 0.6499,
          "delta": -0.0061,
          "percent_delta": -0.0093,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.594,
          "after": 0.644,
          "delta": 0.05,
          "percent_delta": 0.0842,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.469,
          "after": 0.4159,
          "delta": -0.0531,
          "percent_delta": -0.1132,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 32
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1193,
        "predicted_3B": 0.0011,
        "predicted_AB": 2.6621,
        "predicted_AVG": 0.2431,
        "predicted_BB": 0.4171,
        "predicted_H": 0.647,
        "predicted_HBP": 0.005,
        "predicted_HR": 0.0588,
        "predicted_OBP": 0.3456,
        "predicted_R": 0.2838,
        "predicted_RBI": 0.4325,
        "predicted_SLG": 0.3549,
        "predicted_SO": 0.648
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1193,
          "after": 0.1193,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0011,
          "after": 0.0011,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.6621,
          "after": 2.6621,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2414,
          "after": 0.2431,
          "delta": 0.0017,
          "percent_delta": 0.007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4159,
          "after": 0.4171,
          "delta": 0.0012,
          "percent_delta": 0.0029,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.644,
          "after": 0.647,
          "delta": 0.003,
          "percent_delta": 0.0047,
          "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.0582,
          "after": 0.0588,
          "delta": 0.0006,
          "percent_delta": 0.0103,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3448,
          "after": 0.3456,
          "delta": 0.0008,
          "percent_delta": 0.0023,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.2814,
          "after": 0.2838,
          "delta": 0.0024,
          "percent_delta": 0.0085,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4289,
          "after": 0.4325,
          "delta": 0.0036,
          "percent_delta": 0.0084,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3529,
          "after": 0.3549,
          "delta": 0.002,
          "percent_delta": 0.0057,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.6499,
          "after": 0.648,
          "delta": -0.0019,
          "percent_delta": -0.0029,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.66), rates preserved: AVG=0.243 HR/AB=0.022",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1193,
          "after": 0.0,
          "delta": -0.1193,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0011,
          "after": 0.0,
          "delta": -0.0011,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.6621,
          "after": 3.0,
          "delta": 0.3379,
          "percent_delta": 0.1269,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4171,
          "after": 0.0,
          "delta": -0.4171,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.647,
          "after": 1.0,
          "delta": 0.353,
          "percent_delta": 0.5456,
          "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.0588,
          "after": 0.0,
          "delta": -0.0588,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4325,
          "after": 0.0,
          "delta": -0.4325,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.648,
          "after": 1.0,
          "delta": 0.352,
          "percent_delta": 0.5432,
          "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.647,
          "after": 1.0,
          "delta": 0.353,
          "percent_delta": 0.5456,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4325,
          "after": 0.0,
          "delta": -0.4325,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.2838,
          "after": 0.0,
          "delta": -0.2838,
          "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.2838,
          "after": 0.0,
          "delta": -0.2838,
          "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.2431,
          "after": 0.333,
          "delta": 0.0899,
          "percent_delta": 0.3698,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3456,
          "after": 0.333,
          "delta": -0.0126,
          "percent_delta": -0.0365,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.3549,
          "after": 0.333,
          "delta": -0.0219,
          "percent_delta": -0.0617,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.2431,
          "after": 0.333,
          "delta": 0.0899,
          "percent_delta": 0.3698,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3549,
          "after": 0.333,
          "delta": -0.0219,
          "percent_delta": -0.0617,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.2431,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_FB": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3456,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3549,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.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.2431,
          "delta": -0.0899,
          "percent_delta": -0.2701,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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.3456,
          "delta": 0.0126,
          "percent_delta": 0.0378,
          "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.3549,
          "delta": 0.0219,
          "percent_delta": 0.0658,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.333,
          "after": 0.3549,
          "delta": 0.0219,
          "percent_delta": 0.0658,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.333,
          "after": 0.2431,
          "delta": -0.0899,
          "percent_delta": -0.2701,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.125,
        "after": 0.0,
        "delta": -0.125,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.625,
        "after": 4.0,
        "delta": 1.375,
        "percent_delta": 0.5238,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.226,
        "after": 0.2431,
        "delta": 0.0171,
        "percent_delta": 0.0757,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.469,
        "after": 0.0,
        "delta": -0.469,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.594,
        "after": 2.0,
        "delta": 1.406,
        "percent_delta": 2.367,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.062,
        "after": 0.0,
        "delta": -0.062,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.343,
        "after": 0.3456,
        "delta": 0.0026,
        "percent_delta": 0.0076,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.312,
        "after": 1.0,
        "delta": 0.688,
        "percent_delta": 2.2051,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.469,
        "after": 0.0,
        "delta": -0.469,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.345,
        "after": 0.3549,
        "delta": 0.0099,
        "percent_delta": 0.0287,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.656,
        "after": 0.0,
        "delta": -0.656,
        "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.594,
        "after": 2.0,
        "delta": 1.406,
        "percent_delta": 2.367,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.656,
        "after": 0.0,
        "delta": -0.656,
        "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.125-
predicted_3B0.000-
predicted_AB2.625-
predicted_AVG0.226-
predicted_BB0.469-
predicted_H0.594-
predicted_HR0.062-
predicted_OBP0.343-
predicted_R0.312-
predicted_RBI0.469-
predicted_SLG0.345-
predicted_SO0.656-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.119-0.006
predicted_3B0.0010.001
predicted_AB2.6620.037
predicted_AVG0.2410.015
predicted_BB0.416-0.053
predicted_H0.6440.050
predicted_HBP0.005-
predicted_HR0.058-0.004
predicted_OBP0.3450.002
predicted_R0.281-0.031
predicted_RBI0.429-0.040
predicted_SLG0.3530.008
predicted_SO0.650-0.006
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1190.000
predicted_3B0.0010.000
predicted_AB2.6620.000
predicted_AVG0.2430.002
predicted_BB0.4170.001
predicted_H0.6470.003
predicted_HBP0.0050.000
predicted_HR0.0590.001
predicted_OBP0.3460.001
predicted_R0.2840.002
predicted_RBI0.4320.004
predicted_SLG0.3550.002
predicted_SO0.648-0.002
4. ab_floor_and_scaling

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

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. 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
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.119
predicted_3B0.000-0.001
predicted_AB3.0000.338
predicted_AVG0.3330.090
predicted_BB0.000-0.417
predicted_H1.0000.353
predicted_HR0.000-0.059
predicted_OBP0.333-0.013
predicted_R0.000-0.284
predicted_RBI0.000-0.432
predicted_SLG0.333-0.022
predicted_SO1.0000.352
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
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: 32
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-10.0003.0000.0000.0000.0000.0000.0001.0003.0000.30000.36360.30000.30000.00000.00000.10000.3000
last_100.2010-21.0008.0001.0000.0000.0003.0000.0001.0003.0000.38100.40910.42860.38100.00000.14290.04760.1429
season0.6032-84.00019.0004.0000.0002.00015.00010.00015.00021.0000.22620.34340.34520.22620.02380.17860.17860.2500
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1100
predicted_3B0.0030
predicted_AB2.7220
predicted_AVG0.2664
predicted_BB0.3300
predicted_H0.7250
predicted_HBP0.0050
predicted_HR0.0520
predicted_OBP0.3477
predicted_R0.2320
predicted_RBI0.3640
predicted_SLG0.3657
predicted_SO0.6400
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.12500.11000.1193model_form_blend
predicted_3B0.00000.00300.0011model_form_blend
predicted_AB2.62502.72202.6621model_form_blend
predicted_AVG0.22600.26640.2414model_form_blend
predicted_BB0.46900.33000.4159model_form_blend
predicted_H0.59400.72500.6440model_form_blend
predicted_HBP-0.00500.0050form_only
predicted_HR0.06200.05200.0582model_form_blend
predicted_OBP0.34300.34770.3448model_form_blend
predicted_R0.31200.23200.2814model_form_blend
predicted_RBI0.46900.36400.4289model_form_blend
predicted_SLG0.34500.36570.3529model_form_blend
predicted_SO0.65600.64000.6499model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% 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 used32
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest 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_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
gameID20260819_LAA@HOU
game_typefull
mlbID664774
playerID664774
playerNameLaMonte Wade Jr.
posLF
startedTrue
startingPositionLF
teamHOU
teamID11
game_date2026-08-19
game_pk824155.0
sl_k_percent21.0
sl_bb_percent16.0
sl_woba0.319
sl_xwoba0.291
sl_xba0.205
sl_xslg0.294
sl_sweet_spot_percent28.6
sl_barrel_batted_rate3.2
sl_hard_hit_percent34.9
sl_exit_velocity_avg86.6
sl_launch_angle_avg12.7
sl_whiff_percent21.0
sl_swing_percent38.4
at_bat_number49.0
ab_pitcher605242.0
ab_pitcher_nameFulmer, Michael
ab_home_teamHOU
ab_away_teamLAA
ab_game_typeR
ab_standL
ab_p_throwsR
ab_inning6.0
ab_inning_topbotBot
ab_outs_when_up1.0
ab_on_1b_start670623.0
ab_balls_start0.0
ab_strikes_start0.0
ab_home_score_start3.0
ab_away_score_start2.0
ab_bat_score_start3.0
ab_fld_score_start2.0
ab_eventsingle
ab_event_descriptionLaMonte Wade Jr. singles on a sharp line drive to right fielder Josh Lowe. Isaac Paredes to 2nd.
ab_event_typeX
ab_bb_typeline_drive
ab_hit_location9.0
ab_pitch_type_lastFC
ab_pitch_name_lastCutter
ab_zone_last5.0
ab_launch_speed_last105.8
ab_launch_angle_last12.0
ab_hit_distance_last229.0
ab_estimated_ba_last0.957
ab_estimated_woba_last0.965
ab_estimated_slg_last1.282
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_end3.0
ab_away_score_end2.0
ab_bat_score_end3.0
ab_fld_score_end2.0
ab_pitch_count4.0
ab_release_speed_avg92.775
ab_release_spin_rate_avg2575.25
ab_effective_speed_avg92.975
ab_launch_speed_avg105.8
ab_launch_angle_avg12.0
ab_delta_run_exp_avg0.1025
ab_delta_home_win_exp_avg0.008
ab_delta_pitcher_run_exp_avg-0.1025
ab_bat_speed_avg72.3
ab_swing_length_avg6.5
ab_launch_speed_max105.8
ab_hit_distance_sc_max229.0
ab_release_speed_max95.4
ab_release_spin_rate_max2738.0
ab_release_speed_min90.1
ab_release_spin_rate_min2381.0
ab_delta_run_exp_sum0.41
ab_delta_home_win_exp_sum0.032
ab_delta_pitcher_run_exp_sum-0.41
ab_result_is_hitTrue
ab_result_is_walkFalse
ab_result_is_strikeoutFalse
ab_result_is_hbpFalse
Yordan Alvarez (670541) · BATTER · DH · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 548
All-history rows before 20260820: 548
System season_avg: 0.3200
Data season_avg (2026 season-to-date): 0.3325
Diff (system - data): -0.0125
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.2021.0000.000Hitting_2B0.2120.0000.7881.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.2304.0004.000Hitting_AB3.7044.0000.2960.000
predicted_AVG0.2790.2500.250Hitting_AVG0.3330.250-0.0830.000
predicted_BB0.6940.0001.000Hitting_BB0.7430.000-0.7430.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H1.1801.0001.000Hitting_H1.2321.000-0.2320.000
predicted_HR0.2800.0000.000Hitting_HR0.3100.000-0.3100.000
predicted_OBP0.3630.2500.400Hitting_OBP0.4480.250-0.1980.000
predicted_R0.6691.0001.000Hitting_R0.7171.0000.2830.000
predicted_RBI0.6402.0001.000Hitting_RBI0.7500.0001.2502.000
predicted_SLG0.5030.5000.250Hitting_SLG0.6410.250-0.1410.250
predicted_SO0.7500.0001.000Hitting_SO0.7571.000-0.757-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics10
Boosted Metrics5
Deboosted Metrics5
Better Metrics6
Worse Metrics4
Biggest Boostpredicted_RBI: 0.6400 -> 2.0000 (boost 1.3600, better)
Biggest Deboostpredicted_SO: 0.7500 -> 0.0000 (deboost -0.7500, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend40404-predicted_AB: 4.2300 -> 3.9843 (deboost -0.2457, worse)Final model input calibrated 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.5013 -> 0.5179 (boost 0.0166, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling73425predicted_RBI: 0.5871 -> 1.0000 (boost 0.4129, better)predicted_HR: 0.2603 -> 0.0000 (deboost -0.2603, worse)AB rounded to 4 (raw=4.23), rates preserved: AVG=0.261 HR/AB=0.062
5bvp_blend00000--Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.000)
6consistency_constraints11010predicted_R: 0.6427 -> 1.0000 (boost 0.3573, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context31212predicted_OBP: 0.3772 -> 0.4000 (boost 0.0228, better)predicted_SLG: 0.5179 -> 0.2500 (deboost -0.2679, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference42231predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final32121predicted_SLG: 0.2500 -> 0.5179 (boost 0.2679, better)predicted_OBP: 0.4000 -> 0.3772 (deboost -0.0228, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "670541",
  "player_name": "Yordan Alvarez",
  "position": "DH",
  "team": "HOU",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.202,
        "predicted_3B": 0.0,
        "predicted_AB": 4.23,
        "predicted_AVG": 0.279,
        "predicted_BB": 0.694,
        "predicted_H": 1.18,
        "predicted_HR": 0.28,
        "predicted_OBP": 0.363,
        "predicted_R": 0.669,
        "predicted_RBI": 0.64,
        "predicted_SLG": 0.503,
        "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.1768,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.9843,
        "predicted_AVG": 0.2758,
        "predicted_BB": 0.6366,
        "predicted_H": 1.1,
        "predicted_HBP": 0.053,
        "predicted_HR": 0.2578,
        "predicted_OBP": 0.3663,
        "predicted_R": 0.6373,
        "predicted_RBI": 0.5822,
        "predicted_SLG": 0.5013,
        "predicted_SO": 0.7604
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.202,
          "after": 0.1768,
          "delta": -0.0252,
          "percent_delta": -0.1248,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0004,
          "delta": 0.0004,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.23,
          "after": 3.9843,
          "delta": -0.2457,
          "percent_delta": -0.0581,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.279,
          "after": 0.2758,
          "delta": -0.0032,
          "percent_delta": -0.0115,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.694,
          "after": 0.6366,
          "delta": -0.0574,
          "percent_delta": -0.0827,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.18,
          "after": 1.1,
          "delta": -0.08,
          "percent_delta": -0.0678,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.28,
          "after": 0.2578,
          "delta": -0.0222,
          "percent_delta": -0.0793,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.363,
          "after": 0.3663,
          "delta": 0.0033,
          "percent_delta": 0.0091,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.669,
          "after": 0.6373,
          "delta": -0.0317,
          "percent_delta": -0.0474,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.64,
          "after": 0.5822,
          "delta": -0.0578,
          "percent_delta": -0.0903,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.503,
          "after": 0.5013,
          "delta": -0.0017,
          "percent_delta": -0.0034,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.75,
          "after": 0.7604,
          "delta": 0.0104,
          "percent_delta": 0.0139,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.23,
          "after": 3.9843,
          "delta": -0.2457,
          "percent_delta": -0.0581,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 124
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1768,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.9843,
        "predicted_AVG": 0.2774,
        "predicted_BB": 0.6384,
        "predicted_H": 1.1052,
        "predicted_HBP": 0.053,
        "predicted_HR": 0.2603,
        "predicted_OBP": 0.3772,
        "predicted_R": 0.6427,
        "predicted_RBI": 0.5871,
        "predicted_SLG": 0.5179,
        "predicted_SO": 0.7582
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1768,
          "after": 0.1768,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.9843,
          "after": 3.9843,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2758,
          "after": 0.2774,
          "delta": 0.0016,
          "percent_delta": 0.0058,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.6366,
          "after": 0.6384,
          "delta": 0.0018,
          "percent_delta": 0.0028,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.1,
          "after": 1.1052,
          "delta": 0.0052,
          "percent_delta": 0.0047,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.053,
          "after": 0.053,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2578,
          "after": 0.2603,
          "delta": 0.0025,
          "percent_delta": 0.0097,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3663,
          "after": 0.3772,
          "delta": 0.0109,
          "percent_delta": 0.0298,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6373,
          "after": 0.6427,
          "delta": 0.0054,
          "percent_delta": 0.0085,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5822,
          "after": 0.5871,
          "delta": 0.0049,
          "percent_delta": 0.0084,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5013,
          "after": 0.5179,
          "delta": 0.0166,
          "percent_delta": 0.0331,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7604,
          "after": 0.7582,
          "delta": -0.0022,
          "percent_delta": -0.0029,
          "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.5013,
          "after": 0.5179,
          "delta": 0.0166,
          "percent_delta": 0.0331,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.23), rates preserved: AVG=0.261 HR/AB=0.062",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1768,
          "after": 0.0,
          "delta": -0.1768,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0,
          "delta": -0.0004,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.9843,
          "after": 4.0,
          "delta": 0.0157,
          "percent_delta": 0.0039,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.6384,
          "after": 1.0,
          "delta": 0.3616,
          "percent_delta": 0.5664,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.1052,
          "after": 1.0,
          "delta": -0.1052,
          "percent_delta": -0.0952,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.053,
          "after": 0.0,
          "delta": -0.053,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2603,
          "after": 0.0,
          "delta": -0.2603,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5871,
          "after": 1.0,
          "delta": 0.4129,
          "percent_delta": 0.7033,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7582,
          "after": 1.0,
          "delta": 0.2418,
          "percent_delta": 0.3189,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 3,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5871,
          "after": 1.0,
          "delta": 0.4129,
          "percent_delta": 0.7033,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.2603,
          "after": 0.0,
          "delta": -0.2603,
          "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.000)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9,
        "bvp": 0.1
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.6427,
          "after": 1.0,
          "delta": 0.3573,
          "percent_delta": 0.5559,
          "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.6427,
          "after": 1.0,
          "delta": 0.3573,
          "percent_delta": 0.5559,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.4,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.25,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2774,
          "after": 0.25,
          "delta": -0.0274,
          "percent_delta": -0.0988,
          "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.3772,
          "after": 0.4,
          "delta": 0.0228,
          "percent_delta": 0.0604,
          "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.5179,
          "after": 0.25,
          "delta": -0.2679,
          "percent_delta": -0.5173,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.3772,
          "after": 0.4,
          "delta": 0.0228,
          "percent_delta": 0.0604,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.5179,
          "after": 0.25,
          "delta": -0.2679,
          "percent_delta": -0.5173,
          "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": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 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": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.2774,
        "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.3772,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.5179,
        "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.2774,
          "delta": 0.0274,
          "percent_delta": 0.1095,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.3772,
          "delta": -0.0228,
          "percent_delta": -0.057,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.5179,
          "delta": 0.2679,
          "percent_delta": 1.0717,
          "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.5179,
          "delta": 0.2679,
          "percent_delta": 1.0717,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.4,
          "after": 0.3772,
          "delta": -0.0228,
          "percent_delta": -0.057,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.202,
        "after": 1.0,
        "delta": 0.798,
        "percent_delta": 3.9505,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.23,
        "after": 4.0,
        "delta": -0.23,
        "percent_delta": -0.0544,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.279,
        "after": 0.2774,
        "delta": -0.0016,
        "percent_delta": -0.0057,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.694,
        "after": 0.0,
        "delta": -0.694,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.18,
        "after": 1.0,
        "delta": -0.18,
        "percent_delta": -0.1525,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.28,
        "after": 0.0,
        "delta": -0.28,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.363,
        "after": 0.3772,
        "delta": 0.0142,
        "percent_delta": 0.0391,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.669,
        "after": 1.0,
        "delta": 0.331,
        "percent_delta": 0.4948,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.64,
        "after": 2.0,
        "delta": 1.36,
        "percent_delta": 2.125,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.503,
        "after": 0.5179,
        "delta": 0.0149,
        "percent_delta": 0.0296,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.75,
        "after": 0.0,
        "delta": -0.75,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 5,
      "deboosted_metrics": 5,
      "better_metrics": 6,
      "worse_metrics": 4,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.64,
        "after": 2.0,
        "delta": 1.36,
        "percent_delta": 2.125,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.75,
        "after": 0.0,
        "delta": -0.75,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.202-
predicted_3B0.000-
predicted_AB4.230-
predicted_AVG0.279-
predicted_BB0.694-
predicted_H1.180-
predicted_HR0.280-
predicted_OBP0.363-
predicted_R0.669-
predicted_RBI0.640-
predicted_SLG0.503-
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.177-0.025
predicted_3B0.0000.000
predicted_AB3.984-0.246
predicted_AVG0.276-0.003
predicted_BB0.637-0.057
predicted_H1.100-0.080
predicted_HBP0.053-
predicted_HR0.258-0.022
predicted_OBP0.3660.003
predicted_R0.637-0.032
predicted_RBI0.582-0.058
predicted_SLG0.501-0.002
predicted_SO0.7600.010
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1770.000
predicted_3B0.0000.000
predicted_AB3.9840.000
predicted_AVG0.2770.002
predicted_BB0.6380.002
predicted_H1.1050.005
predicted_HBP0.0530.000
predicted_HR0.2600.003
predicted_OBP0.3770.011
predicted_R0.6430.005
predicted_RBI0.5870.005
predicted_SLG0.5180.017
predicted_SO0.758-0.002
4. ab_floor_and_scaling

AB rounded to 4 (raw=4.23), rates preserved: AVG=0.261 HR/AB=0.062

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

Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.000)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.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
AB4.0000.000
BB1.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. 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.177
predicted_3B0.000-0.000
predicted_AB4.0000.016
predicted_AVG0.250-0.027
predicted_BB1.0000.362
predicted_H1.000-0.105
predicted_HR0.000-0.260
predicted_OBP0.4000.023
predicted_R1.0000.357
predicted_RBI1.0000.413
predicted_SLG0.250-0.268
predicted_SO1.0000.242
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB4.0000.000
BB0.000-1.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.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: 124
Reference playing time: 4.230
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0004.0000.0000.0001.0001.0003.0002.0004.0000.21050.28570.36840.21050.05260.05260.10530.2105
last_100.2010-36.0007.0001.0000.0001.0002.0004.0004.0008.0000.19440.28570.30560.19440.02780.05560.11110.2222
season0.60124-450.000144.00025.0000.00036.00088.00083.00086.00093.0000.32000.43330.61560.32000.08000.19560.19110.2067
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1440
predicted_3B0.0010
predicted_AB3.6650
predicted_AVG0.2717
predicted_BB0.5620
predicted_H0.9960
predicted_HBP0.0530
predicted_HR0.2290
predicted_OBP0.3707
predicted_R0.5960
predicted_RBI0.5070
predicted_SLG0.4992
predicted_SO0.7740
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.20200.14400.1768model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB4.23003.66503.9843model_form_blend
predicted_AVG0.27900.27170.2758model_form_blend
predicted_BB0.69400.56200.6366model_form_blend
predicted_H1.18000.99601.1000model_form_blend
predicted_HBP-0.05300.0530form_only
predicted_HR0.28000.22900.2578model_form_blend
predicted_OBP0.36300.37070.3663model_form_blend
predicted_R0.66900.59600.6373model_form_blend
predicted_RBI0.64000.50700.5822model_form_blend
predicted_SLG0.50300.49920.5013model_form_blend
predicted_SO0.75000.77400.7604model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date548
Season rows before report date548
Report year2026
Profile rows used124
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H1
2B1
3B0
HR0
R1
RBI2
BB0
SO0
SF0
HBP0
season_avg0.32

Latest Real Data Snapshot (before report date)

Latest 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
allPositionsPlayedDH
gameID20260819_LAA@HOU
game_typefull
mlbID670541
playerID670541
playerNameYordan Alvarez
posDH
startedTrue
startingPositionDH
teamHOU
teamID11
game_date2026-08-19
game_pk824155.0
sl_k_percent17.1
sl_bb_percent15.6
sl_woba0.432
sl_xwoba0.458
sl_xba0.329
sl_xslg0.675
sl_sweet_spot_percent41.9
sl_barrel_batted_rate17.5
sl_hard_hit_percent53.4
sl_exit_velocity_avg94.5
sl_launch_angle_avg19.3
sl_whiff_percent20.0
sl_swing_percent42.8
at_bat_number62.0
ab_pitcher642048.0
ab_pitcher_nameSaucedo, Tayler
ab_home_teamHOU
ab_away_teamLAA
ab_game_typeR
ab_standL
ab_p_throwsL
ab_inning8.0
ab_inning_topbotBot
ab_outs_when_up0.0
ab_balls_start0.0
ab_strikes_start0.0
ab_home_score_start3.0
ab_away_score_start2.0
ab_bat_score_start3.0
ab_fld_score_start2.0
ab_eventfield_out
ab_event_descriptionYordan Alvarez grounds out, second baseman Oswald Peraza to first baseman Nolan Schanuel.
ab_event_typeX
ab_bb_typeground_ball
ab_hit_location4.0
ab_pitch_type_lastST
ab_pitch_name_lastSweeper
ab_zone_last4.0
ab_launch_speed_last79.9
ab_launch_angle_last-24.0
ab_hit_distance_last7.0
ab_estimated_ba_last0.049
ab_estimated_woba_last0.046
ab_estimated_slg_last0.049
ab_woba_value0.0
ab_woba_denom1.0
ab_babip_value0.0
ab_iso_value0.0
ab_balls_end2.0
ab_strikes_end1.0
ab_home_score_end3.0
ab_away_score_end2.0
ab_bat_score_end3.0
ab_fld_score_end2.0
ab_pitch_count4.0
ab_release_speed_avg86.19999999999999
ab_release_spin_rate_avg2445.5
ab_effective_speed_avg86.55
ab_launch_speed_avg79.9
ab_launch_angle_avg-24.0
ab_delta_run_exp_avg-0.06475
ab_delta_home_win_exp_avg-0.0035
ab_delta_pitcher_run_exp_avg0.06475
ab_bat_speed_avg62.7
ab_swing_length_avg6.9
ab_launch_speed_max79.9
ab_hit_distance_sc_max7.0
ab_release_speed_max92.6
ab_release_spin_rate_max2495.0
ab_release_speed_min82.0
ab_release_spin_rate_min2418.0
ab_delta_run_exp_sum-0.259
ab_delta_home_win_exp_sum-0.014
ab_delta_pitcher_run_exp_sum0.259
ab_result_is_hitFalse
ab_result_is_walkFalse
ab_result_is_strikeoutFalse
ab_result_is_hbpFalse
Taylor Trammell (666211) · BATTER · LF · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 208
All-history rows before 20260820: 208
System season_avg: 0.2150
Data season_avg (2026 season-to-date): 0.2308
Diff (system - data): -0.0158
System opponent_avg: 0.1500
System season_avg diverges from 2026 season-to-date by -0.0158. 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.0940.0000.000Hitting_2B0.1250.000-0.1250.000
predicted_3B0.0310.0000.000Hitting_3B0.0340.000-0.0340.000
predicted_AB2.8284.0003.000Hitting_AB3.1253.0000.8751.000
predicted_AVG0.2150.0000.333Hitting_AVG0.2310.000-0.2310.000
predicted_BB0.2810.0000.000Hitting_BB0.3700.000-0.3700.000
predicted_CS-0.0000.000BaseRunning_CS0.0580.000-0.0580.000
predicted_H0.6090.0001.000Hitting_H0.7210.000-0.7210.000
predicted_HR0.1090.0000.000Hitting_HR0.1150.000-0.1150.000
predicted_OBP0.2860.0000.333Hitting_OBP0.3270.000-0.3270.000
predicted_R0.3910.0000.000Hitting_R0.4860.000-0.4860.000
predicted_RBI0.3120.0000.000Hitting_RBI0.3850.000-0.3850.000
predicted_SLG0.3870.0000.333Hitting_SLG0.4030.000-0.4030.000
predicted_SO1.0311.0001.000Hitting_SO1.0771.000-0.0770.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics1
Deboosted Metrics9
Better Metrics1
Worse Metrics9
Biggest Boostpredicted_AB: 2.8280 -> 4.0000 (boost 1.1720, better)
Biggest Deboostpredicted_H: 0.6090 -> 0.0000 (deboost -0.6090, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend52314predicted_SO: 1.0310 -> 1.1237 (boost 0.0927, worse)predicted_SLG: 0.3870 -> 0.3516 (deboost -0.0354, worse)Final model input calibrated 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_scaling72534predicted_H: 0.5617 -> 1.0000 (boost 0.4383, better)predicted_RBI: 0.2851 -> 0.0000 (deboost -0.2851, worse)AB rounded to 3 (raw=2.90), rates preserved: AVG=0.193 HR/AB=0.035
5consistency_constraints10101-predicted_R: 0.3651 -> 0.0000 (deboost -0.3651, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context32121predicted_AVG: 0.1934 -> 0.3330 (boost 0.1396, better)predicted_SLG: 0.3516 -> 0.3330 (deboost -0.0186, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference21111predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final31212predicted_SLG: 0.3330 -> 0.3516 (boost 0.0186, better)predicted_AVG: 0.3330 -> 0.1934 (deboost -0.1396, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "666211",
  "player_name": "Taylor Trammell",
  "position": "LF",
  "team": "HOU",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.094,
        "predicted_3B": 0.031,
        "predicted_AB": 2.828,
        "predicted_AVG": 0.215,
        "predicted_BB": 0.281,
        "predicted_H": 0.609,
        "predicted_HR": 0.109,
        "predicted_OBP": 0.286,
        "predicted_R": 0.391,
        "predicted_RBI": 0.312,
        "predicted_SLG": 0.387,
        "predicted_SO": 1.031
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0845,
        "predicted_3B": 0.0331,
        "predicted_AB": 2.9047,
        "predicted_AVG": 0.1932,
        "predicted_BB": 0.2769,
        "predicted_H": 0.5591,
        "predicted_HBP": 0.029,
        "predicted_HR": 0.102,
        "predicted_OBP": 0.2659,
        "predicted_R": 0.3621,
        "predicted_RBI": 0.2827,
        "predicted_SLG": 0.3516,
        "predicted_SO": 1.1237
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.094,
          "after": 0.0845,
          "delta": -0.0095,
          "percent_delta": -0.1011,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.031,
          "after": 0.0331,
          "delta": 0.0021,
          "percent_delta": 0.0677,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.828,
          "after": 2.9047,
          "delta": 0.0767,
          "percent_delta": 0.0271,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.215,
          "after": 0.1932,
          "delta": -0.0218,
          "percent_delta": -0.1014,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.281,
          "after": 0.2769,
          "delta": -0.0041,
          "percent_delta": -0.0146,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.609,
          "after": 0.5591,
          "delta": -0.0499,
          "percent_delta": -0.0819,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.109,
          "after": 0.102,
          "delta": -0.007,
          "percent_delta": -0.0642,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.286,
          "after": 0.2659,
          "delta": -0.0201,
          "percent_delta": -0.0703,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.391,
          "after": 0.3621,
          "delta": -0.0289,
          "percent_delta": -0.0739,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.312,
          "after": 0.2827,
          "delta": -0.0293,
          "percent_delta": -0.0939,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.387,
          "after": 0.3516,
          "delta": -0.0354,
          "percent_delta": -0.0915,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.031,
          "after": 1.1237,
          "delta": 0.0927,
          "percent_delta": 0.0899,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.031,
          "after": 1.1237,
          "delta": 0.0927,
          "percent_delta": 0.0899,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.387,
          "after": 0.3516,
          "delta": -0.0354,
          "percent_delta": -0.0915,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 64
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0845,
        "predicted_3B": 0.0331,
        "predicted_AB": 2.9047,
        "predicted_AVG": 0.1934,
        "predicted_BB": 0.2777,
        "predicted_H": 0.5617,
        "predicted_HBP": 0.029,
        "predicted_HR": 0.103,
        "predicted_OBP": 0.2638,
        "predicted_R": 0.3651,
        "predicted_RBI": 0.2851,
        "predicted_SLG": 0.3516,
        "predicted_SO": 1.1204
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0845,
          "after": 0.0845,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0331,
          "after": 0.0331,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.9047,
          "after": 2.9047,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1932,
          "after": 0.1934,
          "delta": 0.0002,
          "percent_delta": 0.001,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2769,
          "after": 0.2777,
          "delta": 0.0008,
          "percent_delta": 0.0029,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.5591,
          "after": 0.5617,
          "delta": 0.0026,
          "percent_delta": 0.0047,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.029,
          "after": 0.029,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.102,
          "after": 0.103,
          "delta": 0.001,
          "percent_delta": 0.0098,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2659,
          "after": 0.2638,
          "delta": -0.0021,
          "percent_delta": -0.0079,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3621,
          "after": 0.3651,
          "delta": 0.003,
          "percent_delta": 0.0083,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2827,
          "after": 0.2851,
          "delta": 0.0024,
          "percent_delta": 0.0085,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3516,
          "after": 0.3516,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.1237,
          "after": 1.1204,
          "delta": -0.0033,
          "percent_delta": -0.0029,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.90), rates preserved: AVG=0.193 HR/AB=0.035",
      "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.0845,
          "after": 0.0,
          "delta": -0.0845,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0331,
          "after": 0.0,
          "delta": -0.0331,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.9047,
          "after": 3.0,
          "delta": 0.0953,
          "percent_delta": 0.0328,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2777,
          "after": 0.0,
          "delta": -0.2777,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.5617,
          "after": 1.0,
          "delta": 0.4383,
          "percent_delta": 0.7803,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.029,
          "after": 0.0,
          "delta": -0.029,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.103,
          "after": 0.0,
          "delta": -0.103,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2851,
          "after": 0.0,
          "delta": -0.2851,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1204,
          "after": 1.0,
          "delta": -0.1204,
          "percent_delta": -0.1075,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 2,
        "deboosted_metrics": 5,
        "better_metrics": 3,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.5617,
          "after": 1.0,
          "delta": 0.4383,
          "percent_delta": 0.7803,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.2851,
          "after": 0.0,
          "delta": -0.2851,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3651,
          "after": 0.0,
          "delta": -0.3651,
          "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.3651,
          "after": 0.0,
          "delta": -0.3651,
          "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.1934,
          "after": 0.333,
          "delta": 0.1396,
          "percent_delta": 0.7218,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2638,
          "after": 0.333,
          "delta": 0.0692,
          "percent_delta": 0.2623,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3516,
          "after": 0.333,
          "delta": -0.0186,
          "percent_delta": -0.0529,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.1934,
          "after": 0.333,
          "delta": 0.1396,
          "percent_delta": 0.7218,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3516,
          "after": 0.333,
          "delta": -0.0186,
          "percent_delta": -0.0529,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.1934,
        "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.2638,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3516,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.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.1934,
          "delta": -0.1396,
          "percent_delta": -0.4193,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.2638,
          "delta": -0.0692,
          "percent_delta": -0.2079,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 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.3516,
          "delta": 0.0186,
          "percent_delta": 0.0559,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.3516,
          "delta": 0.0186,
          "percent_delta": 0.0559,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.333,
          "after": 0.1934,
          "delta": -0.1396,
          "percent_delta": -0.4193,
          "direction": "deboost",
          "projection_effect": "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.031,
        "after": 0.0,
        "delta": -0.031,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.828,
        "after": 4.0,
        "delta": 1.172,
        "percent_delta": 0.4144,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.215,
        "after": 0.1934,
        "delta": -0.0216,
        "percent_delta": -0.1005,
        "direction": "deboost",
        "projection_effect": "worse",
        "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.609,
        "after": 0.0,
        "delta": -0.609,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.109,
        "after": 0.0,
        "delta": -0.109,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.286,
        "after": 0.2638,
        "delta": -0.0222,
        "percent_delta": -0.0776,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.391,
        "after": 0.0,
        "delta": -0.391,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.312,
        "after": 0.0,
        "delta": -0.312,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.387,
        "after": 0.3516,
        "delta": -0.0354,
        "percent_delta": -0.0915,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.031,
        "after": 1.0,
        "delta": -0.031,
        "percent_delta": -0.0301,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 1,
      "deboosted_metrics": 9,
      "better_metrics": 1,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 2.828,
        "after": 4.0,
        "delta": 1.172,
        "percent_delta": 0.4144,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.609,
        "after": 0.0,
        "delta": -0.609,
        "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.031-
predicted_AB2.828-
predicted_AVG0.215-
predicted_BB0.281-
predicted_H0.609-
predicted_HR0.109-
predicted_OBP0.286-
predicted_R0.391-
predicted_RBI0.312-
predicted_SLG0.387-
predicted_SO1.031-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.085-0.009
predicted_3B0.0330.002
predicted_AB2.9050.077
predicted_AVG0.193-0.022
predicted_BB0.277-0.004
predicted_H0.559-0.050
predicted_HBP0.029-
predicted_HR0.102-0.007
predicted_OBP0.266-0.020
predicted_R0.362-0.029
predicted_RBI0.283-0.029
predicted_SLG0.352-0.035
predicted_SO1.1240.093
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.0850.000
predicted_3B0.0330.000
predicted_AB2.9050.000
predicted_AVG0.1930.000
predicted_BB0.2780.001
predicted_H0.5620.003
predicted_HBP0.0290.000
predicted_HR0.1030.001
predicted_OBP0.264-0.002
predicted_R0.3650.003
predicted_RBI0.2850.002
predicted_SLG0.3520.000
predicted_SO1.120-0.003
4. ab_floor_and_scaling

AB rounded to 3 (raw=2.90), rates preserved: AVG=0.193 HR/AB=0.035

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. 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
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.085
predicted_3B0.000-0.033
predicted_AB3.0000.095
predicted_AVG0.3330.140
predicted_BB0.000-0.278
predicted_H1.0000.438
predicted_HR0.000-0.103
predicted_OBP0.3330.069
predicted_R0.000-0.365
predicted_RBI0.000-0.285
predicted_SLG0.333-0.019
predicted_SO1.000-0.120
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
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: 64
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-15.0000.0000.0000.0000.0000.0000.0001.00010.0000.00000.06250.00000.00000.00000.00000.06670.6667
last_100.2010-30.0003.0000.0001.0001.0001.0003.0003.00014.0000.10000.18180.26670.10000.03330.03330.10000.4667
season0.6064-181.00039.0006.0002.0007.00020.00025.00018.00066.0000.21550.29700.38670.21550.03870.11050.09940.3646
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0710
predicted_3B0.0360
predicted_AB3.0140
predicted_AVG0.1621
predicted_BB0.2710
predicted_H0.4880
predicted_HBP0.0290
predicted_HR0.0920
predicted_OBP0.2372
predicted_R0.3210
predicted_RBI0.2410
predicted_SLG0.3012
predicted_SO1.2560
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.09400.07100.0845model_form_blend
predicted_3B0.03100.03600.0331model_form_blend
predicted_AB2.82803.01402.9047model_form_blend
predicted_AVG0.21500.16210.1932model_form_blend
predicted_BB0.28100.27100.2769model_form_blend
predicted_H0.60900.48800.5591model_form_blend
predicted_HBP-0.02900.0290form_only
predicted_HR0.10900.09200.1020model_form_blend
predicted_OBP0.28600.23720.2659model_form_blend
predicted_R0.39100.32100.3621model_form_blend
predicted_RBI0.31200.24100.2827model_form_blend
predicted_SLG0.38700.30120.3516model_form_blend
predicted_SO1.03101.25601.1237model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% 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 used64
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H0
2B0
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_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
allPositionsPlayedCF-LF
gameID20260819_LAA@HOU
game_typefull
mlbID666211
playerID666211
playerNameTaylor Trammell
posCF
startedTrue
startingPositionCF
teamHOU
teamID11
game_date2026-08-19
game_pk824155.0
sl_k_percent32.2
sl_bb_percent9.3
sl_woba0.305
sl_xwoba0.302
sl_xba0.2
sl_xslg0.4
sl_sweet_spot_percent26.7
sl_barrel_batted_rate12.9
sl_hard_hit_percent37.1
sl_exit_velocity_avg88.7
sl_launch_angle_avg13.9
sl_whiff_percent40.4
sl_swing_percent48.0
at_bat_number56.0
ab_pitcher642048.0
ab_pitcher_nameSaucedo, Tayler
ab_home_teamHOU
ab_away_teamLAA
ab_game_typeR
ab_standL
ab_p_throwsL
ab_inning7.0
ab_inning_topbotBot
ab_outs_when_up0.0
ab_balls_start0.0
ab_strikes_start0.0
ab_home_score_start3.0
ab_away_score_start2.0
ab_bat_score_start3.0
ab_fld_score_start2.0
ab_eventfield_out
ab_event_descriptionTaylor Trammell flies out to left fielder Jose Siri.
ab_event_typeX
ab_bb_typefly_ball
ab_hit_location7.0
ab_pitch_type_lastST
ab_pitch_name_lastSweeper
ab_zone_last5.0
ab_launch_speed_last77.5
ab_launch_angle_last52.0
ab_hit_distance_last206.0
ab_estimated_ba_last0.051
ab_estimated_woba_last0.051
ab_estimated_slg_last0.078
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_end3.0
ab_away_score_end2.0
ab_bat_score_end3.0
ab_fld_score_end2.0
ab_pitch_count6.0
ab_release_speed_avg87.41666666666667
ab_release_spin_rate_avg2448.5
ab_effective_speed_avg87.7
ab_launch_speed_avg77.5
ab_launch_angle_avg52.0
ab_delta_run_exp_avg-0.0433333333333333
ab_delta_home_win_exp_avg-0.0031666666666666
ab_delta_pitcher_run_exp_avg0.0433333333333333
ab_bat_speed_avg40.95
ab_swing_length_avg4.5
ab_launch_speed_max77.5
ab_hit_distance_sc_max206.0
ab_release_speed_max93.6
ab_release_spin_rate_max2515.0
ab_release_speed_min82.3
ab_release_spin_rate_min2380.0
ab_delta_run_exp_sum-0.26
ab_delta_home_win_exp_sum-0.019
ab_delta_pitcher_run_exp_sum0.26
ab_result_is_hitFalse
ab_result_is_walkFalse
ab_result_is_strikeoutFalse
ab_result_is_hbpFalse
Daulton Varsho (662139) · BATTER · CF · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 55
All-history rows before 20260820: 55
System season_avg: 0.2280
Data season_avg (2026 season-to-date): 0.1294
Diff (system - data): 0.0986
System opponent_avg: 0.1820
System season_avg diverges from 2026 season-to-date by 0.0986. 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.1811.0000.000Hitting_2B0.0000.0001.0001.000
predicted_3B0.0190.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.6294.0004.000Hitting_AB3.6550.0000.3454.000
predicted_AVG0.2130.2500.250Hitting_AVG0.129-0.121-
predicted_BB0.3240.0000.000Hitting_BB0.4910.000-0.4910.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.4001.0001.000Hitting_H0.4730.0000.5271.000
predicted_HR0.0500.0000.000Hitting_HR0.0550.000-0.0550.000
predicted_OBP0.2280.2500.250Hitting_OBP0.232-0.018-
predicted_R0.3900.0000.000Hitting_R0.2360.000-0.2360.000
predicted_RBI0.1600.0000.000Hitting_RBI0.2000.000-0.2000.000
predicted_SLG0.3090.5000.250Hitting_SLG0.174-0.326-
predicted_SO0.7900.0001.000Hitting_SO0.9270.000-0.9270.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.1810 -> 1.0000 (boost 0.8190, better)
Biggest Deboostpredicted_SO: 0.7900 -> 0.0000 (deboost -0.7900, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend53232predicted_H: 0.4000 -> 0.5222 (boost 0.1222, better)predicted_SLG: 0.3090 -> 0.2954 (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_snapshot30303-predicted_AVG: 0.2000 -> 0.1427 (deboost -0.0573, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling73425predicted_H: 0.5247 -> 1.0000 (boost 0.4753, better)predicted_BB: 0.3042 -> 0.0000 (deboost -0.3042, worse)AB rounded to 4 (raw=3.68), rates preserved: AVG=0.143 HR/AB=0.016
5bvp_blend00000--Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.182)
6consistency_constraints10101-predicted_R: 0.3673 -> 0.0000 (deboost -0.3673, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context33030predicted_AVG: 0.1427 -> 0.2500 (boost 0.1073, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference21120predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)Attached simulation box score without overwriting model prediction
9current_json_final30303-predicted_AVG: 0.2500 -> 0.1427 (deboost -0.1073, 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": "HOU",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.181,
        "predicted_3B": 0.019,
        "predicted_AB": 3.629,
        "predicted_AVG": 0.213,
        "predicted_BB": 0.324,
        "predicted_H": 0.4,
        "predicted_HR": 0.05,
        "predicted_OBP": 0.228,
        "predicted_R": 0.39,
        "predicted_RBI": 0.16,
        "predicted_SLG": 0.309,
        "predicted_SO": 0.79
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.153,
        "predicted_3B": 0.016,
        "predicted_AB": 3.6772,
        "predicted_AVG": 0.2,
        "predicted_BB": 0.3033,
        "predicted_H": 0.5222,
        "predicted_HBP": 0.013,
        "predicted_HR": 0.059,
        "predicted_OBP": 0.2331,
        "predicted_R": 0.3642,
        "predicted_RBI": 0.2121,
        "predicted_SLG": 0.2954,
        "predicted_SO": 0.8317
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.181,
          "after": 0.153,
          "delta": -0.028,
          "percent_delta": -0.1547,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.019,
          "after": 0.016,
          "delta": -0.003,
          "percent_delta": -0.1579,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.629,
          "after": 3.6772,
          "delta": 0.0482,
          "percent_delta": 0.0133,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.213,
          "after": 0.2,
          "delta": -0.013,
          "percent_delta": -0.061,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.324,
          "after": 0.3033,
          "delta": -0.0207,
          "percent_delta": -0.0639,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.4,
          "after": 0.5222,
          "delta": 0.1222,
          "percent_delta": 0.3055,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.05,
          "after": 0.059,
          "delta": 0.009,
          "percent_delta": 0.18,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.228,
          "after": 0.2331,
          "delta": 0.0051,
          "percent_delta": 0.0224,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.39,
          "after": 0.3642,
          "delta": -0.0258,
          "percent_delta": -0.0662,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.16,
          "after": 0.2121,
          "delta": 0.0521,
          "percent_delta": 0.3256,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.309,
          "after": 0.2954,
          "delta": -0.0136,
          "percent_delta": -0.044,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.79,
          "after": 0.8317,
          "delta": 0.0417,
          "percent_delta": 0.0528,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.4,
          "after": 0.5222,
          "delta": 0.1222,
          "percent_delta": 0.3055,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.309,
          "after": 0.2954,
          "delta": -0.0136,
          "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": 5,
        "last_10": 10,
        "season": 105
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.153,
        "predicted_3B": 0.016,
        "predicted_AB": 3.6772,
        "predicted_AVG": 0.1427,
        "predicted_BB": 0.3042,
        "predicted_H": 0.5247,
        "predicted_HBP": 0.013,
        "predicted_HR": 0.0596,
        "predicted_OBP": 0.2082,
        "predicted_R": 0.3673,
        "predicted_RBI": 0.2139,
        "predicted_SLG": 0.2416,
        "predicted_SO": 0.8293
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.153,
          "after": 0.153,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.016,
          "after": 0.016,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6772,
          "after": 3.6772,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2,
          "after": 0.1427,
          "delta": -0.0573,
          "percent_delta": -0.2865,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3033,
          "after": 0.3042,
          "delta": 0.0009,
          "percent_delta": 0.003,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.5222,
          "after": 0.5247,
          "delta": 0.0025,
          "percent_delta": 0.0048,
          "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.059,
          "after": 0.0596,
          "delta": 0.0006,
          "percent_delta": 0.0102,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2331,
          "after": 0.2082,
          "delta": -0.0249,
          "percent_delta": -0.1068,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3642,
          "after": 0.3673,
          "delta": 0.0031,
          "percent_delta": 0.0085,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2121,
          "after": 0.2139,
          "delta": 0.0018,
          "percent_delta": 0.0085,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2954,
          "after": 0.2416,
          "delta": -0.0538,
          "percent_delta": -0.1821,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8317,
          "after": 0.8293,
          "delta": -0.0024,
          "percent_delta": -0.0029,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.2,
          "after": 0.1427,
          "delta": -0.0573,
          "percent_delta": -0.2865,
          "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.143 HR/AB=0.016",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.153,
          "after": 0.0,
          "delta": -0.153,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.016,
          "after": 0.0,
          "delta": -0.016,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6772,
          "after": 4.0,
          "delta": 0.3228,
          "percent_delta": 0.0878,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3042,
          "after": 0.0,
          "delta": -0.3042,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.5247,
          "after": 1.0,
          "delta": 0.4753,
          "percent_delta": 0.9059,
          "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.0596,
          "after": 0.0,
          "delta": -0.0596,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2139,
          "after": 0.0,
          "delta": -0.2139,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8293,
          "after": 1.0,
          "delta": 0.1707,
          "percent_delta": 0.2058,
          "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.5247,
          "after": 1.0,
          "delta": 0.4753,
          "percent_delta": 0.9059,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3042,
          "after": 0.0,
          "delta": -0.3042,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.182)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.8927,
        "bvp": 0.1073
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3673,
          "after": 0.0,
          "delta": -0.3673,
          "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.3673,
          "after": 0.0,
          "delta": -0.3673,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.25,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.25,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1427,
          "after": 0.25,
          "delta": 0.1073,
          "percent_delta": 0.7519,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2082,
          "after": 0.25,
          "delta": 0.0418,
          "percent_delta": 0.2008,
          "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.2416,
          "after": 0.25,
          "delta": 0.0084,
          "percent_delta": 0.0348,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.1427,
          "after": 0.25,
          "delta": 0.1073,
          "percent_delta": 0.7519,
          "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": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.1427,
        "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.2082,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2416,
        "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.1427,
          "delta": -0.1073,
          "percent_delta": -0.4293,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.2082,
          "delta": -0.0418,
          "percent_delta": -0.1673,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 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.2416,
          "delta": -0.0084,
          "percent_delta": -0.0337,
          "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.1427,
          "delta": -0.1073,
          "percent_delta": -0.4293,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.181,
        "after": 1.0,
        "delta": 0.819,
        "percent_delta": 4.5249,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.019,
        "after": 0.0,
        "delta": -0.019,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.629,
        "after": 4.0,
        "delta": 0.371,
        "percent_delta": 0.1022,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.213,
        "after": 0.1427,
        "delta": -0.0703,
        "percent_delta": -0.33,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.324,
        "after": 0.0,
        "delta": -0.324,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.4,
        "after": 1.0,
        "delta": 0.6,
        "percent_delta": 1.5,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.05,
        "after": 0.0,
        "delta": -0.05,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.228,
        "after": 0.2082,
        "delta": -0.0198,
        "percent_delta": -0.0868,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.39,
        "after": 0.0,
        "delta": -0.39,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.16,
        "after": 0.0,
        "delta": -0.16,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.309,
        "after": 0.2416,
        "delta": -0.0674,
        "percent_delta": -0.2181,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.79,
        "after": 0.0,
        "delta": -0.79,
        "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_2B",
        "before": 0.181,
        "after": 1.0,
        "delta": 0.819,
        "percent_delta": 4.5249,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.79,
        "after": 0.0,
        "delta": -0.79,
        "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.181-
predicted_3B0.019-
predicted_AB3.629-
predicted_AVG0.213-
predicted_BB0.324-
predicted_H0.400-
predicted_HR0.050-
predicted_OBP0.228-
predicted_R0.390-
predicted_RBI0.160-
predicted_SLG0.309-
predicted_SO0.790-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.153-0.028
predicted_3B0.016-0.003
predicted_AB3.6770.048
predicted_AVG0.200-0.013
predicted_BB0.303-0.021
predicted_H0.5220.122
predicted_HBP0.013-
predicted_HR0.0590.009
predicted_OBP0.2330.005
predicted_R0.364-0.026
predicted_RBI0.2120.052
predicted_SLG0.295-0.014
predicted_SO0.8320.042
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1530.000
predicted_3B0.0160.000
predicted_AB3.6770.000
predicted_AVG0.143-0.057
predicted_BB0.3040.001
predicted_H0.5250.003
predicted_HBP0.0130.000
predicted_HR0.0600.001
predicted_OBP0.208-0.025
predicted_R0.3670.003
predicted_RBI0.2140.002
predicted_SLG0.242-0.054
predicted_SO0.829-0.002
4. ab_floor_and_scaling

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

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

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

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

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

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

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.153
predicted_3B0.000-0.016
predicted_AB4.0000.323
predicted_AVG0.2500.107
predicted_BB0.000-0.304
predicted_H1.0000.475
predicted_HR0.000-0.060
predicted_OBP0.2500.042
predicted_R0.000-0.367
predicted_RBI0.000-0.214
predicted_SLG0.2500.008
predicted_SO1.0000.171
8. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 105
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-20.0002.0000.0000.0000.0001.0001.0001.0006.0000.10000.14290.10000.10000.00000.05000.05000.3000
last_100.2010-38.0004.0000.0000.0001.0003.0002.0002.0009.0000.10530.15000.18420.10530.02630.07900.05260.2368
season0.60105-381.00087.00019.0002.0008.00029.00041.00034.00083.0000.22830.29430.35170.22830.02100.07610.08920.2178
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1160
predicted_3B0.0120
predicted_AB3.7410
predicted_AVG0.1827
predicted_BB0.2760
predicted_H0.6840
predicted_HBP0.0130
predicted_HR0.0710
predicted_OBP0.2399
predicted_R0.3300
predicted_RBI0.2810
predicted_SLG0.2773
predicted_SO0.8870
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18100.11600.1530model_form_blend
predicted_3B0.01900.01200.0160model_form_blend
predicted_AB3.62903.74103.6772model_form_blend
predicted_AVG0.21300.18270.2000model_form_blend
predicted_BB0.32400.27600.3033model_form_blend
predicted_H0.40000.68400.5222model_form_blend
predicted_HBP-0.01300.0130form_only
predicted_HR0.05000.07100.0590model_form_blend
predicted_OBP0.22800.23990.2331model_form_blend
predicted_R0.39000.33000.3642model_form_blend
predicted_RBI0.16000.28100.2121model_form_blend
predicted_SLG0.30900.27730.2954model_form_blend
predicted_SO0.79000.88700.8317model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% 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 used105
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_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.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_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
allPositionsPlayedCF
gameID20260819_LAA@HOU
game_typeshort
mlbID662139
playerID662139
playerNameDaulton Varsho
posCF
startedFalse
startingPositionCF
teamHOU
teamID11
game_date2026-08-19
sl_k_percent19.8
sl_bb_percent8.4
sl_woba0.287
sl_xwoba0.289
sl_xba0.232
sl_xslg0.354
sl_sweet_spot_percent33.4
sl_barrel_batted_rate6.0
sl_hard_hit_percent37.8
sl_exit_velocity_avg86.7
sl_launch_angle_avg15.4
sl_whiff_percent21.0
sl_swing_percent52.9
Isaac Paredes (670623) · BATTER · 3B · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 507
All-history rows before 20260820: 507
System season_avg: 0.2550
Data season_avg (2026 season-to-date): 0.2603
Diff (system - data): -0.0053
System opponent_avg: 0.2730

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1760.0000.000Hitting_2B0.1890.000-0.1890.000
predicted_3B0.0080.0000.000Hitting_3B0.0080.000-0.0080.000
predicted_AB3.8804.0004.000Hitting_AB3.7733.0000.2271.000
predicted_AVG0.2760.0000.250Hitting_AVG0.2600.333-0.260-0.333
predicted_BB0.4120.0000.000Hitting_BB0.4361.000-0.436-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H1.0700.0001.000Hitting_H0.9821.000-0.982-1.000
predicted_HR0.1200.0000.000Hitting_HR0.1360.000-0.1360.000
predicted_OBP0.3710.0000.250Hitting_OBP0.3560.500-0.356-0.500
predicted_R0.3950.0000.000Hitting_R0.4301.000-0.430-1.000
predicted_RBI0.6600.0001.000Hitting_RBI0.6040.000-0.6040.000
predicted_SLG0.4040.0000.250Hitting_SLG0.4230.333-0.423-0.333
predicted_SO0.5803.0000.000Hitting_SO0.5900.0002.4103.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.5800 -> 3.0000 (boost 2.4200, worse)
Biggest Deboostpredicted_H: 1.0700 -> 0.0000 (deboost -1.0700, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend53241predicted_SLG: 0.4040 -> 0.4283 (boost 0.0243, better)predicted_AB: 3.8800 -> 3.7608 (deboost -0.1192, worse)Final model input calibrated 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.4283 -> 0.4379 (boost 0.0096, better)predicted_OBP: 0.3805 -> 0.3593 (deboost -0.0212, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling83526predicted_SO: 0.4954 -> 1.0000 (boost 0.5046, worse)predicted_BB: 0.4253 -> 0.0000 (deboost -0.4253, worse)AB rounded to 4 (raw=3.88), rates preserved: AVG=0.278 HR/AB=0.034
5bvp_blend10110-predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.273)
6consistency_constraints10101-predicted_R: 0.3935 -> 0.0000 (deboost -0.3935, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context30303-predicted_SLG: 0.4379 -> 0.2500 (deboost -0.1879, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference31203predicted_SO: 0.0000 -> 3.0000 (boost 3.0000, worse)predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final33030predicted_SLG: 0.2500 -> 0.4379 (boost 0.1879, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "670623",
  "player_name": "Isaac Paredes",
  "position": "3B",
  "team": "HOU",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.176,
        "predicted_3B": 0.008,
        "predicted_AB": 3.88,
        "predicted_AVG": 0.276,
        "predicted_BB": 0.412,
        "predicted_H": 1.07,
        "predicted_HR": 0.12,
        "predicted_OBP": 0.371,
        "predicted_R": 0.395,
        "predicted_RBI": 0.66,
        "predicted_SLG": 0.404,
        "predicted_SO": 0.58
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.163,
        "predicted_3B": 0.0071,
        "predicted_AB": 3.7608,
        "predicted_AVG": 0.286,
        "predicted_BB": 0.4241,
        "predicted_H": 1.0735,
        "predicted_HBP": 0.14,
        "predicted_HR": 0.1291,
        "predicted_OBP": 0.3805,
        "predicted_R": 0.3902,
        "predicted_RBI": 0.6656,
        "predicted_SLG": 0.4283,
        "predicted_SO": 0.4968
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.176,
          "after": 0.163,
          "delta": -0.013,
          "percent_delta": -0.0739,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.008,
          "after": 0.0071,
          "delta": -0.0009,
          "percent_delta": -0.1125,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.88,
          "after": 3.7608,
          "delta": -0.1192,
          "percent_delta": -0.0307,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.276,
          "after": 0.286,
          "delta": 0.01,
          "percent_delta": 0.0362,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.412,
          "after": 0.4241,
          "delta": 0.0121,
          "percent_delta": 0.0294,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.07,
          "after": 1.0735,
          "delta": 0.0035,
          "percent_delta": 0.0033,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.12,
          "after": 0.1291,
          "delta": 0.0091,
          "percent_delta": 0.0758,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.371,
          "after": 0.3805,
          "delta": 0.0095,
          "percent_delta": 0.0256,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.395,
          "after": 0.3902,
          "delta": -0.0048,
          "percent_delta": -0.0122,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.66,
          "after": 0.6656,
          "delta": 0.0056,
          "percent_delta": 0.0085,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.404,
          "after": 0.4283,
          "delta": 0.0243,
          "percent_delta": 0.0601,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.58,
          "after": 0.4968,
          "delta": -0.0832,
          "percent_delta": -0.1434,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 4,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.404,
          "after": 0.4283,
          "delta": 0.0243,
          "percent_delta": 0.0601,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.88,
          "after": 3.7608,
          "delta": -0.1192,
          "percent_delta": -0.0307,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 119
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.163,
        "predicted_3B": 0.0071,
        "predicted_AB": 3.7608,
        "predicted_AVG": 0.2868,
        "predicted_BB": 0.4253,
        "predicted_H": 1.0785,
        "predicted_HBP": 0.14,
        "predicted_HR": 0.1303,
        "predicted_OBP": 0.3593,
        "predicted_R": 0.3935,
        "predicted_RBI": 0.6712,
        "predicted_SLG": 0.4379,
        "predicted_SO": 0.4954
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.163,
          "after": 0.163,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0071,
          "after": 0.0071,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.7608,
          "after": 3.7608,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.286,
          "after": 0.2868,
          "delta": 0.0008,
          "percent_delta": 0.0028,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4241,
          "after": 0.4253,
          "delta": 0.0012,
          "percent_delta": 0.0028,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0735,
          "after": 1.0785,
          "delta": 0.005,
          "percent_delta": 0.0047,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.14,
          "after": 0.14,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1291,
          "after": 0.1303,
          "delta": 0.0012,
          "percent_delta": 0.0093,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3805,
          "after": 0.3593,
          "delta": -0.0212,
          "percent_delta": -0.0557,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3902,
          "after": 0.3935,
          "delta": 0.0033,
          "percent_delta": 0.0085,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6656,
          "after": 0.6712,
          "delta": 0.0056,
          "percent_delta": 0.0084,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4283,
          "after": 0.4379,
          "delta": 0.0096,
          "percent_delta": 0.0224,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.4968,
          "after": 0.4954,
          "delta": -0.0014,
          "percent_delta": -0.0028,
          "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.4283,
          "after": 0.4379,
          "delta": 0.0096,
          "percent_delta": 0.0224,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3805,
          "after": 0.3593,
          "delta": -0.0212,
          "percent_delta": -0.0557,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.88), rates preserved: AVG=0.278 HR/AB=0.034",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.163,
          "after": 0.0,
          "delta": -0.163,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0071,
          "after": 0.0,
          "delta": -0.0071,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.7608,
          "after": 4.0,
          "delta": 0.2392,
          "percent_delta": 0.0636,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4253,
          "after": 0.0,
          "delta": -0.4253,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0785,
          "after": 1.0,
          "delta": -0.0785,
          "percent_delta": -0.0728,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.14,
          "after": 0.0,
          "delta": -0.14,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1303,
          "after": 0.0,
          "delta": -0.1303,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6712,
          "after": 1.0,
          "delta": 0.3288,
          "percent_delta": 0.4899,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.4954,
          "after": 1.0,
          "delta": 0.5046,
          "percent_delta": 1.0186,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 3,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.4954,
          "after": 1.0,
          "delta": 0.5046,
          "percent_delta": 1.0186,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4253,
          "after": 0.0,
          "delta": -0.4253,
          "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.273)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {
        "model_expectation": 0.8927,
        "bvp": 0.1073
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3935,
          "after": 0.0,
          "delta": -0.3935,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 0.3935,
          "after": 0.0,
          "delta": -0.3935,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.25,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.25,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2868,
          "after": 0.25,
          "delta": -0.0368,
          "percent_delta": -0.1283,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3593,
          "after": 0.25,
          "delta": -0.1093,
          "percent_delta": -0.3042,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "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.4379,
          "after": 0.25,
          "delta": -0.1879,
          "percent_delta": -0.4291,
          "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.4379,
          "after": 0.25,
          "delta": -0.1879,
          "percent_delta": -0.4291,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 3.0,
          "delta": 3.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 3.0,
          "delta": 3.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.2868,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3593,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4379,
        "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.25,
          "after": 0.2868,
          "delta": 0.0368,
          "percent_delta": 0.1471,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.3593,
          "delta": 0.1093,
          "percent_delta": 0.437,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.4379,
          "delta": 0.1879,
          "percent_delta": 0.7515,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.4379,
          "delta": 0.1879,
          "percent_delta": 0.7515,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.176,
        "after": 0.0,
        "delta": -0.176,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.008,
        "after": 0.0,
        "delta": -0.008,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.88,
        "after": 4.0,
        "delta": 0.12,
        "percent_delta": 0.0309,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.276,
        "after": 0.2868,
        "delta": 0.0108,
        "percent_delta": 0.0391,
        "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.07,
        "after": 0.0,
        "delta": -1.07,
        "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.371,
        "after": 0.3593,
        "delta": -0.0117,
        "percent_delta": -0.0315,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.395,
        "after": 0.0,
        "delta": -0.395,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.66,
        "after": 0.0,
        "delta": -0.66,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.404,
        "after": 0.4379,
        "delta": 0.0339,
        "percent_delta": 0.0839,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.58,
        "after": 3.0,
        "delta": 2.42,
        "percent_delta": 4.1724,
        "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.58,
        "after": 3.0,
        "delta": 2.42,
        "percent_delta": 4.1724,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.07,
        "after": 0.0,
        "delta": -1.07,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.176-
predicted_3B0.008-
predicted_AB3.880-
predicted_AVG0.276-
predicted_BB0.412-
predicted_H1.070-
predicted_HR0.120-
predicted_OBP0.371-
predicted_R0.395-
predicted_RBI0.660-
predicted_SLG0.404-
predicted_SO0.580-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.163-0.013
predicted_3B0.007-0.001
predicted_AB3.761-0.119
predicted_AVG0.2860.010
predicted_BB0.4240.012
predicted_H1.0730.003
predicted_HBP0.140-
predicted_HR0.1290.009
predicted_OBP0.3810.010
predicted_R0.390-0.005
predicted_RBI0.6660.006
predicted_SLG0.4280.024
predicted_SO0.497-0.083
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1630.000
predicted_3B0.0070.000
predicted_AB3.7610.000
predicted_AVG0.2870.001
predicted_BB0.4250.001
predicted_H1.0790.005
predicted_HBP0.1400.000
predicted_HR0.1300.001
predicted_OBP0.359-0.021
predicted_R0.3940.003
predicted_RBI0.6710.006
predicted_SLG0.4380.010
predicted_SO0.495-0.001
4. ab_floor_and_scaling

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

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI1.0000.000
SO0.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
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO0.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.007
predicted_AB4.0000.239
predicted_AVG0.250-0.037
predicted_BB0.000-0.425
predicted_H1.000-0.079
predicted_HR0.000-0.130
predicted_OBP0.250-0.109
predicted_R0.000-0.394
predicted_RBI1.0000.329
predicted_SLG0.250-0.188
predicted_SO0.000-0.495
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.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
SO3.0003.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 119
Reference playing time: 3.880
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-17.0007.0000.0000.0001.0005.0002.0003.0000.0000.41180.52380.58820.41180.05880.29410.17650.0000
last_100.2010-36.00012.0002.0000.0001.0007.0003.0004.0001.0000.33330.41460.47220.33330.02780.19440.11110.0278
season0.60119-435.000111.00021.0001.00016.00067.00047.00049.00069.0000.25520.35050.41840.25520.03680.15400.11260.1586
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1460
predicted_3B0.0060
predicted_AB3.6050
predicted_AVG0.2991
predicted_BB0.4400
predicted_H1.0780
predicted_HBP0.1400
predicted_HR0.1410
predicted_OBP0.3928
predicted_R0.3840
predicted_RBI0.6730
predicted_SLG0.4600
predicted_SO0.3880
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17600.14600.1630model_form_blend
predicted_3B0.00800.00600.0071model_form_blend
predicted_AB3.88003.60503.7608model_form_blend
predicted_AVG0.27600.29910.2860model_form_blend
predicted_BB0.41200.44000.4241model_form_blend
predicted_H1.07001.07801.0735model_form_blend
predicted_HBP-0.14000.1400form_only
predicted_HR0.12000.14100.1291model_form_blend
predicted_OBP0.37100.39280.3805model_form_blend
predicted_R0.39500.38400.3902model_form_blend
predicted_RBI0.66000.67300.6656model_form_blend
predicted_SLG0.40400.46000.4283model_form_blend
predicted_SO0.58000.38800.4968model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date507
Season rows before report date507
Report year2026
Profile rows used119
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.333
Hitting_BB1
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB1
Hitting_battingOrder3
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed3B
gameID20260819_LAA@HOU
game_typefull
mlbID670623
playerID670623
playerNameIsaac Paredes
pos3B
startedTrue
startingPosition3B
teamHOU
teamID11
game_date2026-08-19
game_pk824155.0
sl_k_percent13.6
sl_bb_percent9.6
sl_woba0.344
sl_xwoba0.325
sl_xba0.251
sl_xslg0.377
sl_sweet_spot_percent39.8
sl_barrel_batted_rate5.3
sl_hard_hit_percent28.6
sl_exit_velocity_avg86.0
sl_launch_angle_avg23.5
sl_whiff_percent15.4
sl_swing_percent43.7
at_bat_number63.0
ab_pitcher684665.0
ab_pitcher_nameMurphy, Luke
ab_home_teamHOU
ab_away_teamLAA
ab_game_typeR
ab_standR
ab_p_throwsR
ab_inning8.0
ab_inning_topbotBot
ab_outs_when_up1.0
ab_balls_start0.0
ab_strikes_start0.0
ab_home_score_start3.0
ab_away_score_start2.0
ab_bat_score_start3.0
ab_fld_score_start2.0
ab_eventfield_out
ab_event_descriptionIsaac Paredes pops out to first baseman Nolan Schanuel.
ab_event_typeX
ab_bb_typepopup
ab_hit_location3.0
ab_pitch_type_lastFC
ab_pitch_name_lastCutter
ab_zone_last11.0
ab_launch_speed_last64.3
ab_launch_angle_last78.0
ab_hit_distance_last41.0
ab_estimated_ba_last0.006
ab_estimated_woba_last0.005
ab_estimated_slg_last0.006
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_end2.0
ab_bat_score_end3.0
ab_fld_score_end2.0
ab_pitch_count5.0
ab_release_speed_avg90.24
ab_release_spin_rate_avg2319.4
ab_effective_speed_avg89.9
ab_launch_speed_avg64.3
ab_launch_angle_avg78.0
ab_delta_run_exp_avg-0.0524
ab_delta_home_win_exp_avg-0.002
ab_delta_pitcher_run_exp_avg0.0524
ab_bat_speed_avg59.5
ab_swing_length_avg6.4
ab_launch_speed_max64.3
ab_hit_distance_sc_max41.0
ab_release_speed_max95.9
ab_release_spin_rate_max2403.0
ab_release_speed_min82.2
ab_release_spin_rate_min2198.0
ab_delta_run_exp_sum-0.262
ab_delta_home_win_exp_sum-0.01
ab_delta_pitcher_run_exp_sum0.262
ab_result_is_hitFalse
ab_result_is_walkFalse
ab_result_is_strikeoutFalse
ab_result_is_hbpFalse
Jose Altuve (514888) · BATTER · 2B · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 431
All-history rows before 20260820: 431
System season_avg: 0.2460
Data season_avg (2026 season-to-date): 0.2526
Diff (system - data): -0.0066
System opponent_avg: 0.3000

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1600.0000.000Hitting_2B0.1741.000-0.174-1.000
predicted_3B0.0200.0000.000Hitting_3B0.0210.000-0.0210.000
predicted_AB4.5504.0005.000Hitting_AB3.9954.0000.0050.000
predicted_AVG0.2520.5000.200Hitting_AVG0.2530.2500.2470.250
predicted_BB0.3500.0000.000Hitting_BB0.3640.000-0.3640.000
predicted_CS-0.0000.000BaseRunning_CS0.0210.000-0.0210.000
predicted_H1.1502.0001.000Hitting_H1.0091.0000.9911.000
predicted_HR0.1200.0000.000Hitting_HR0.1370.000-0.1370.000
predicted_OBP0.3200.5000.200Hitting_OBP0.3150.2500.1850.250
predicted_R0.5600.0001.000Hitting_R0.6080.000-0.6080.000
predicted_RBI0.4400.0000.000Hitting_RBI0.3901.000-0.390-1.000
predicted_SB-0.0000.000BaseRunning_SB0.0420.000-0.0420.000
predicted_SLG0.3990.5000.200Hitting_SLG0.4090.5000.0910.000
predicted_SO0.8700.0001.000Hitting_SO0.8581.000-0.858-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: 1.1500 -> 2.0000 (boost 0.8500, better)
Biggest Deboostpredicted_SO: 0.8700 -> 0.0000 (deboost -0.8700, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend43131predicted_SLG: 0.3990 -> 0.4152 (boost 0.0162, better)predicted_AB: 4.5500 -> 4.2510 (deboost -0.2990, worse)Final model input calibrated 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.4152 -> 0.4016 (deboost -0.0136, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling72516predicted_AB: 4.2510 -> 5.0000 (boost 0.7490, better)predicted_RBI: 0.4215 -> 0.0000 (deboost -0.4215, worse)AB rounded to 5 (raw=4.55), rates preserved: AVG=0.246 HR/AB=0.025
5bvp_blend00000--Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.300)
6consistency_constraints11010predicted_R: 0.5282 -> 1.0000 (boost 0.4718, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context30303-predicted_SLG: 0.4016 -> 0.2000 (deboost -0.2016, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference41322predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better)predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final33030predicted_SLG: 0.2000 -> 0.4016 (boost 0.2016, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "514888",
  "player_name": "Jose Altuve",
  "position": "2B",
  "team": "HOU",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.16,
        "predicted_3B": 0.02,
        "predicted_AB": 4.55,
        "predicted_AVG": 0.252,
        "predicted_BB": 0.35,
        "predicted_H": 1.15,
        "predicted_HR": 0.12,
        "predicted_OBP": 0.32,
        "predicted_R": 0.56,
        "predicted_RBI": 0.44,
        "predicted_SLG": 0.399,
        "predicted_SO": 0.87
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1673,
        "predicted_3B": 0.0411,
        "predicted_AB": 4.251,
        "predicted_AVG": 0.2629,
        "predicted_BB": 0.3556,
        "predicted_H": 1.1151,
        "predicted_HBP": 0.008,
        "predicted_HR": 0.1114,
        "predicted_OBP": 0.3278,
        "predicted_R": 0.5238,
        "predicted_RBI": 0.418,
        "predicted_SLG": 0.4152,
        "predicted_SO": 0.8661
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.16,
          "after": 0.1673,
          "delta": 0.0073,
          "percent_delta": 0.0456,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.02,
          "after": 0.0411,
          "delta": 0.0211,
          "percent_delta": 1.055,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.55,
          "after": 4.251,
          "delta": -0.299,
          "percent_delta": -0.0657,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.252,
          "after": 0.2629,
          "delta": 0.0109,
          "percent_delta": 0.0433,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.35,
          "after": 0.3556,
          "delta": 0.0056,
          "percent_delta": 0.016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.15,
          "after": 1.1151,
          "delta": -0.0349,
          "percent_delta": -0.0303,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.12,
          "after": 0.1114,
          "delta": -0.0086,
          "percent_delta": -0.0717,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.32,
          "after": 0.3278,
          "delta": 0.0078,
          "percent_delta": 0.0244,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.56,
          "after": 0.5238,
          "delta": -0.0362,
          "percent_delta": -0.0646,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.44,
          "after": 0.418,
          "delta": -0.022,
          "percent_delta": -0.05,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.399,
          "after": 0.4152,
          "delta": 0.0162,
          "percent_delta": 0.0406,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.87,
          "after": 0.8661,
          "delta": -0.0039,
          "percent_delta": -0.0045,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.399,
          "after": 0.4152,
          "delta": 0.0162,
          "percent_delta": 0.0406,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.55,
          "after": 4.251,
          "delta": -0.299,
          "percent_delta": -0.0657,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 100
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1673,
        "predicted_3B": 0.0411,
        "predicted_AB": 4.251,
        "predicted_AVG": 0.2635,
        "predicted_BB": 0.3566,
        "predicted_H": 1.1203,
        "predicted_HBP": 0.008,
        "predicted_HR": 0.1125,
        "predicted_OBP": 0.3205,
        "predicted_R": 0.5282,
        "predicted_RBI": 0.4215,
        "predicted_SLG": 0.4016,
        "predicted_SO": 0.8636
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1673,
          "after": 0.1673,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0411,
          "after": 0.0411,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.251,
          "after": 4.251,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2629,
          "after": 0.2635,
          "delta": 0.0006,
          "percent_delta": 0.0023,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3556,
          "after": 0.3566,
          "delta": 0.001,
          "percent_delta": 0.0028,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.1151,
          "after": 1.1203,
          "delta": 0.0052,
          "percent_delta": 0.0047,
          "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.1114,
          "after": 0.1125,
          "delta": 0.0011,
          "percent_delta": 0.0099,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3278,
          "after": 0.3205,
          "delta": -0.0073,
          "percent_delta": -0.0223,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5238,
          "after": 0.5282,
          "delta": 0.0044,
          "percent_delta": 0.0084,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.418,
          "after": 0.4215,
          "delta": 0.0035,
          "percent_delta": 0.0084,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4152,
          "after": 0.4016,
          "delta": -0.0136,
          "percent_delta": -0.0328,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8661,
          "after": 0.8636,
          "delta": -0.0025,
          "percent_delta": -0.0029,
          "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.4152,
          "after": 0.4016,
          "delta": -0.0136,
          "percent_delta": -0.0328,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 5 (raw=4.55), rates preserved: AVG=0.246 HR/AB=0.025",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1673,
          "after": 0.0,
          "delta": -0.1673,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0411,
          "after": 0.0,
          "delta": -0.0411,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.251,
          "after": 5.0,
          "delta": 0.749,
          "percent_delta": 0.1762,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3566,
          "after": 0.0,
          "delta": -0.3566,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.1203,
          "after": 1.0,
          "delta": -0.1203,
          "percent_delta": -0.1074,
          "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.1125,
          "after": 0.0,
          "delta": -0.1125,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4215,
          "after": 0.0,
          "delta": -0.4215,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8636,
          "after": 1.0,
          "delta": 0.1364,
          "percent_delta": 0.1579,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 2,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.251,
          "after": 5.0,
          "delta": 0.749,
          "percent_delta": 0.1762,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4215,
          "after": 0.0,
          "delta": -0.4215,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.300)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9,
        "bvp": 0.1
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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.5282,
          "after": 1.0,
          "delta": 0.4718,
          "percent_delta": 0.8932,
          "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.5282,
          "after": 1.0,
          "delta": 0.4718,
          "percent_delta": 0.8932,
          "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": 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.2635,
          "after": 0.2,
          "delta": -0.0635,
          "percent_delta": -0.241,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3205,
          "after": 0.2,
          "delta": -0.1205,
          "percent_delta": -0.376,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 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.4016,
          "after": 0.2,
          "delta": -0.2016,
          "percent_delta": -0.502,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.4016,
          "after": 0.2,
          "delta": -0.2016,
          "percent_delta": -0.502,
          "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": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 4.0,
          "delta": -1.0,
          "percent_delta": -0.2,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2635,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3205,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4016,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.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.2635,
          "delta": 0.0635,
          "percent_delta": 0.3177,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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.3205,
          "delta": 0.1205,
          "percent_delta": 0.6027,
          "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.4016,
          "delta": 0.2016,
          "percent_delta": 1.0081,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.2,
          "after": 0.4016,
          "delta": 0.2016,
          "percent_delta": 1.0081,
          "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.02,
        "after": 0.0,
        "delta": -0.02,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.55,
        "after": 4.0,
        "delta": -0.55,
        "percent_delta": -0.1209,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.252,
        "after": 0.2635,
        "delta": 0.0115,
        "percent_delta": 0.0456,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.35,
        "after": 0.0,
        "delta": -0.35,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.15,
        "after": 2.0,
        "delta": 0.85,
        "percent_delta": 0.7391,
        "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.32,
        "after": 0.3205,
        "delta": 0.0005,
        "percent_delta": 0.0016,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.56,
        "after": 0.0,
        "delta": -0.56,
        "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.399,
        "after": 0.4016,
        "delta": 0.0026,
        "percent_delta": 0.0065,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.87,
        "after": 0.0,
        "delta": -0.87,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 2,
      "deboosted_metrics": 7,
      "better_metrics": 3,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 1.15,
        "after": 2.0,
        "delta": 0.85,
        "percent_delta": 0.7391,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.87,
        "after": 0.0,
        "delta": -0.87,
        "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.160-
predicted_3B0.020-
predicted_AB4.550-
predicted_AVG0.252-
predicted_BB0.350-
predicted_H1.150-
predicted_HR0.120-
predicted_OBP0.320-
predicted_R0.560-
predicted_RBI0.440-
predicted_SLG0.399-
predicted_SO0.870-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1670.007
predicted_3B0.0410.021
predicted_AB4.251-0.299
predicted_AVG0.2630.011
predicted_BB0.3560.006
predicted_H1.115-0.035
predicted_HBP0.008-
predicted_HR0.111-0.009
predicted_OBP0.3280.008
predicted_R0.524-0.036
predicted_RBI0.418-0.022
predicted_SLG0.4150.016
predicted_SO0.866-0.004
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1670.000
predicted_3B0.0410.000
predicted_AB4.2510.000
predicted_AVG0.2640.001
predicted_BB0.3570.001
predicted_H1.1200.005
predicted_HBP0.0080.000
predicted_HR0.1130.001
predicted_OBP0.321-0.007
predicted_R0.5280.004
predicted_RBI0.4210.004
predicted_SLG0.402-0.014
predicted_SO0.864-0.002
4. ab_floor_and_scaling

AB rounded to 5 (raw=4.55), rates preserved: AVG=0.246 HR/AB=0.025

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. bvp_blend

Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.300)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.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
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
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.167
predicted_3B0.000-0.041
predicted_AB5.0000.749
predicted_AVG0.200-0.064
predicted_BB0.000-0.357
predicted_H1.000-0.120
predicted_HR0.000-0.113
predicted_OBP0.200-0.120
predicted_R1.0000.472
predicted_RBI0.000-0.421
predicted_SLG0.200-0.202
predicted_SO1.0000.136
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-1.000
BB0.0000.000
CS0.0000.000
H2.0001.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-1.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO0.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 100
Reference playing time: 4.550
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0007.0001.0001.0000.0002.0002.0002.0005.0000.36840.42860.52630.36840.00000.10530.10530.2632
last_100.2010-38.00011.0002.0001.0001.0004.0003.0004.0007.0000.28950.34880.47370.28950.02630.10530.10530.1842
season0.60100-390.00096.00016.0002.00013.00037.00056.00035.00087.0000.24620.30840.39740.24620.03330.09490.08970.2231
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1770
predicted_3B0.0690
predicted_AB3.8560
predicted_AVG0.2773
predicted_BB0.3630
predicted_H1.0690
predicted_HBP0.0080
predicted_HR0.1000
predicted_OBP0.3382
predicted_R0.4760
predicted_RBI0.3890
predicted_SLG0.4365
predicted_SO0.8610
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16000.17700.1673model_form_blend
predicted_3B0.02000.06900.0411model_form_blend
predicted_AB4.55003.85604.2510model_form_blend
predicted_AVG0.25200.27730.2629model_form_blend
predicted_BB0.35000.36300.3556model_form_blend
predicted_H1.15001.06901.1151model_form_blend
predicted_HBP-0.00800.0080form_only
predicted_HR0.12000.10000.1114model_form_blend
predicted_OBP0.32000.33820.3278model_form_blend
predicted_R0.56000.47600.5238model_form_blend
predicted_RBI0.44000.38900.4180model_form_blend
predicted_SLG0.39900.43650.4152model_form_blend
predicted_SO0.87000.86100.8661model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date431
Season rows before report date431
Report year2026
Profile rows used100
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_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
SO0
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_2B1
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_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
allPositionsPlayed2B
gameID20260819_LAA@HOU
game_typefull
mlbID514888
playerID514888
playerNameJose Altuve
pos2B
startedTrue
startingPosition2B
teamHOU
teamID11
game_date2026-08-19
game_pk824155.0
sl_k_percent20.2
sl_bb_percent8.1
sl_woba0.311
sl_xwoba0.277
sl_xba0.224
sl_xslg0.331
sl_sweet_spot_percent32.4
sl_barrel_batted_rate4.9
sl_hard_hit_percent31.4
sl_exit_velocity_avg85.1
sl_launch_angle_avg9.6
sl_whiff_percent22.4
sl_swing_percent47.9
at_bat_number64.0
ab_pitcher684665.0
ab_pitcher_nameMurphy, Luke
ab_home_teamHOU
ab_away_teamLAA
ab_game_typeR
ab_standR
ab_p_throwsR
ab_inning8.0
ab_inning_topbotBot
ab_outs_when_up2.0
ab_balls_start0.0
ab_strikes_start0.0
ab_home_score_start3.0
ab_away_score_start2.0
ab_bat_score_start3.0
ab_fld_score_start2.0
ab_eventfield_out
ab_event_descriptionJose Altuve pops out to first baseman Nolan Schanuel in foul territory.
ab_event_typeX
ab_bb_typepopup
ab_hit_location3.0
ab_pitch_type_lastFC
ab_pitch_name_lastCutter
ab_zone_last1.0
ab_launch_speed_last65.6
ab_launch_angle_last72.0
ab_hit_distance_last87.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_end0.0
ab_home_score_end3.0
ab_away_score_end2.0
ab_bat_score_end3.0
ab_fld_score_end2.0
ab_pitch_count1.0
ab_release_speed_avg90.4
ab_release_spin_rate_avg2327.0
ab_effective_speed_avg90.5
ab_launch_speed_avg65.6
ab_launch_angle_avg72.0
ab_delta_run_exp_avg-0.259
ab_delta_home_win_exp_avg-0.008
ab_delta_pitcher_run_exp_avg0.259
ab_bat_speed_avg68.2
ab_swing_length_avg6.4
ab_launch_speed_max65.6
ab_hit_distance_sc_max87.0
ab_release_speed_max90.4
ab_release_spin_rate_max2327.0
ab_release_speed_min90.4
ab_release_spin_rate_min2327.0
ab_delta_run_exp_sum-0.259
ab_delta_home_win_exp_sum-0.008
ab_delta_pitcher_run_exp_sum0.259
ab_result_is_hitFalse
ab_result_is_walkFalse
ab_result_is_strikeoutFalse
ab_result_is_hbpFalse
Cam Smith (701358) · BATTER · RF · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 459
All-history rows before 20260820: 459
System season_avg: 0.2220
Data season_avg (2026 season-to-date): 0.2301
Diff (system - data): -0.0081
System opponent_avg: 0.3110

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1300.0000.000Hitting_2B0.1500.000-0.1500.000
predicted_3B0.0260.0000.000Hitting_3B0.0310.000-0.0310.000
predicted_AB3.5222.0004.000Hitting_AB3.5882.000-1.5880.000
predicted_AVG0.2050.0000.250Hitting_AVG0.2300.000-0.2300.000
predicted_BB0.2961.0000.000Hitting_BB0.3140.0000.6861.000
predicted_CS-0.0000.000BaseRunning_CS0.0090.000-0.0090.000
predicted_H0.7000.0001.000Hitting_H0.8260.000-0.8260.000
predicted_HR0.2200.0000.000Hitting_HR0.1500.000-0.1500.000
predicted_OBP0.2610.3330.250Hitting_OBP0.2990.0000.0340.333
predicted_R0.4700.0000.000Hitting_R0.4970.000-0.4970.000
predicted_RBI0.5500.0001.000Hitting_RBI0.4511.000-0.451-1.000
predicted_SLG0.4270.0000.250Hitting_SLG0.4150.000-0.4150.000
predicted_SO0.9651.0001.000Hitting_SO0.9962.0000.004-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics8
Boosted Metrics2
Deboosted Metrics6
Better Metrics2
Worse Metrics6
Biggest Boostpredicted_BB: 0.2960 -> 1.0000 (boost 0.7040, better)
Biggest Deboostpredicted_AB: 3.5220 -> 2.0000 (deboost -1.5220, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend22020predicted_SLG: 0.4270 -> 0.4434 (boost 0.0164, 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.4434 -> 0.4522 (boost 0.0088, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling74334predicted_AB: 3.4935 -> 4.0000 (boost 0.5065, better)predicted_BB: 0.2623 -> 0.0000 (deboost -0.2623, worse)AB rounded to 4 (raw=3.52), rates preserved: AVG=0.207 HR/AB=0.061
5bvp_blend00000--Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.400)
6consistency_constraints10101-predicted_R: 0.4961 -> 0.0000 (deboost -0.4961, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7embedded_savant_player_context31212predicted_AVG: 0.2084 -> 0.2500 (boost 0.0416, better)predicted_SLG: 0.4522 -> 0.2500 (deboost -0.2022, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
8simulation_box_score_reference41313predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 4.0000 -> 2.0000 (deboost -2.0000, worse)Attached simulation box score without overwriting model prediction
9current_json_final32121predicted_SLG: 0.2500 -> 0.4522 (boost 0.2022, better)predicted_AVG: 0.2500 -> 0.2084 (deboost -0.0416, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "701358",
  "player_name": "Cam Smith",
  "position": "RF",
  "team": "HOU",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.13,
        "predicted_3B": 0.026,
        "predicted_AB": 3.522,
        "predicted_AVG": 0.205,
        "predicted_BB": 0.296,
        "predicted_H": 0.7,
        "predicted_HR": 0.22,
        "predicted_OBP": 0.261,
        "predicted_R": 0.47,
        "predicted_RBI": 0.55,
        "predicted_SLG": 0.427,
        "predicted_SO": 0.965
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1093,
        "predicted_3B": 0.0472,
        "predicted_AB": 3.4935,
        "predicted_AVG": 0.2111,
        "predicted_BB": 0.2615,
        "predicted_H": 0.7246,
        "predicted_HBP": 0.031,
        "predicted_HR": 0.214,
        "predicted_OBP": 0.2632,
        "predicted_R": 0.492,
        "predicted_RBI": 0.5379,
        "predicted_SLG": 0.4434,
        "predicted_SO": 0.9516
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.13,
          "after": 0.1093,
          "delta": -0.0207,
          "percent_delta": -0.1592,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.026,
          "after": 0.0472,
          "delta": 0.0212,
          "percent_delta": 0.8154,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.522,
          "after": 3.4935,
          "delta": -0.0285,
          "percent_delta": -0.0081,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.205,
          "after": 0.2111,
          "delta": 0.0061,
          "percent_delta": 0.0298,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.296,
          "after": 0.2615,
          "delta": -0.0345,
          "percent_delta": -0.1166,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7,
          "after": 0.7246,
          "delta": 0.0246,
          "percent_delta": 0.0351,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.22,
          "after": 0.214,
          "delta": -0.006,
          "percent_delta": -0.0273,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.261,
          "after": 0.2632,
          "delta": 0.0022,
          "percent_delta": 0.0084,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.47,
          "after": 0.492,
          "delta": 0.022,
          "percent_delta": 0.0468,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.55,
          "after": 0.5379,
          "delta": -0.0121,
          "percent_delta": -0.022,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.427,
          "after": 0.4434,
          "delta": 0.0164,
          "percent_delta": 0.0384,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.965,
          "after": 0.9516,
          "delta": -0.0134,
          "percent_delta": -0.0139,
          "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.427,
          "after": 0.4434,
          "delta": 0.0164,
          "percent_delta": 0.0384,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 115
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1093,
        "predicted_3B": 0.0472,
        "predicted_AB": 3.4935,
        "predicted_AVG": 0.2084,
        "predicted_BB": 0.2623,
        "predicted_H": 0.728,
        "predicted_HBP": 0.031,
        "predicted_HR": 0.2161,
        "predicted_OBP": 0.2637,
        "predicted_R": 0.4961,
        "predicted_RBI": 0.5424,
        "predicted_SLG": 0.4522,
        "predicted_SO": 0.9488
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1093,
          "after": 0.1093,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0472,
          "after": 0.0472,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.4935,
          "after": 3.4935,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2111,
          "after": 0.2084,
          "delta": -0.0027,
          "percent_delta": -0.0128,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2615,
          "after": 0.2623,
          "delta": 0.0008,
          "percent_delta": 0.0031,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7246,
          "after": 0.728,
          "delta": 0.0034,
          "percent_delta": 0.0047,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.031,
          "after": 0.031,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.214,
          "after": 0.2161,
          "delta": 0.0021,
          "percent_delta": 0.0098,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2632,
          "after": 0.2637,
          "delta": 0.0005,
          "percent_delta": 0.0019,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.492,
          "after": 0.4961,
          "delta": 0.0041,
          "percent_delta": 0.0083,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5379,
          "after": 0.5424,
          "delta": 0.0045,
          "percent_delta": 0.0084,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4434,
          "after": 0.4522,
          "delta": 0.0088,
          "percent_delta": 0.0198,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9516,
          "after": 0.9488,
          "delta": -0.0028,
          "percent_delta": -0.0029,
          "direction": "no_change",
          "projection_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.4434,
          "after": 0.4522,
          "delta": 0.0088,
          "percent_delta": 0.0198,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.52), rates preserved: AVG=0.207 HR/AB=0.061",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1093,
          "after": 0.0,
          "delta": -0.1093,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0472,
          "after": 0.0,
          "delta": -0.0472,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.4935,
          "after": 4.0,
          "delta": 0.5065,
          "percent_delta": 0.145,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2623,
          "after": 0.0,
          "delta": -0.2623,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.728,
          "after": 1.0,
          "delta": 0.272,
          "percent_delta": 0.3736,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.031,
          "after": 0.0,
          "delta": -0.031,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2161,
          "after": 0.0,
          "delta": -0.2161,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5424,
          "after": 1.0,
          "delta": 0.4576,
          "percent_delta": 0.8437,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9488,
          "after": 1.0,
          "delta": 0.0512,
          "percent_delta": 0.054,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 4,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.4935,
          "after": 4.0,
          "delta": 0.5065,
          "percent_delta": 0.145,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2623,
          "after": 0.0,
          "delta": -0.2623,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.400)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9429,
        "bvp": 0.0571
      },
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4961,
          "after": 0.0,
          "delta": -0.4961,
          "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.4961,
          "after": 0.0,
          "delta": -0.4961,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.25,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.25,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2084,
          "after": 0.25,
          "delta": 0.0416,
          "percent_delta": 0.1996,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.25,
          "delta": -0.0137,
          "percent_delta": -0.052,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "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.4522,
          "after": 0.25,
          "delta": -0.2022,
          "percent_delta": -0.4471,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.2084,
          "after": 0.25,
          "delta": 0.0416,
          "percent_delta": 0.1996,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4522,
          "after": 0.25,
          "delta": -0.2022,
          "percent_delta": -0.4471,
          "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": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 2.0,
          "delta": -2.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 2.0,
          "delta": -2.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": 2.0,
        "predicted_AVG": 0.2084,
        "predicted_BB": 1.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_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4522,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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.2084,
          "delta": -0.0416,
          "percent_delta": -0.1664,
          "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.2637,
          "delta": 0.0137,
          "percent_delta": 0.0547,
          "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.4522,
          "delta": 0.2022,
          "percent_delta": 0.8089,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.4522,
          "delta": 0.2022,
          "percent_delta": 0.8089,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2084,
          "delta": -0.0416,
          "percent_delta": -0.1664,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.13,
        "after": 0.0,
        "delta": -0.13,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.026,
        "after": 0.0,
        "delta": -0.026,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.522,
        "after": 2.0,
        "delta": -1.522,
        "percent_delta": -0.4321,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.205,
        "after": 0.2084,
        "delta": 0.0034,
        "percent_delta": 0.0166,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.296,
        "after": 1.0,
        "delta": 0.704,
        "percent_delta": 2.3784,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.7,
        "after": 0.0,
        "delta": -0.7,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.22,
        "after": 0.0,
        "delta": -0.22,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.261,
        "after": 0.2637,
        "delta": 0.0027,
        "percent_delta": 0.0103,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.47,
        "after": 0.0,
        "delta": -0.47,
        "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.427,
        "after": 0.4522,
        "delta": 0.0252,
        "percent_delta": 0.059,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.965,
        "after": 1.0,
        "delta": 0.035,
        "percent_delta": 0.0363,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 8,
      "boosted_metrics": 2,
      "deboosted_metrics": 6,
      "better_metrics": 2,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.296,
        "after": 1.0,
        "delta": 0.704,
        "percent_delta": 2.3784,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 3.522,
        "after": 2.0,
        "delta": -1.522,
        "percent_delta": -0.4321,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.130-
predicted_3B0.026-
predicted_AB3.522-
predicted_AVG0.205-
predicted_BB0.296-
predicted_H0.700-
predicted_HR0.220-
predicted_OBP0.261-
predicted_R0.470-
predicted_RBI0.550-
predicted_SLG0.427-
predicted_SO0.965-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.109-0.021
predicted_3B0.0470.021
predicted_AB3.494-0.028
predicted_AVG0.2110.006
predicted_BB0.262-0.034
predicted_H0.7250.025
predicted_HBP0.031-
predicted_HR0.214-0.006
predicted_OBP0.2630.002
predicted_R0.4920.022
predicted_RBI0.538-0.012
predicted_SLG0.4430.016
predicted_SO0.952-0.013
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1090.000
predicted_3B0.0470.000
predicted_AB3.4940.000
predicted_AVG0.208-0.003
predicted_BB0.2620.001
predicted_H0.7280.003
predicted_HBP0.0310.000
predicted_HR0.2160.002
predicted_OBP0.2640.001
predicted_R0.4960.004
predicted_RBI0.5420.004
predicted_SLG0.4520.009
predicted_SO0.949-0.003
4. ab_floor_and_scaling

AB rounded to 4 (raw=3.52), rates preserved: AVG=0.207 HR/AB=0.061

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

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

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

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

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.109
predicted_3B0.000-0.047
predicted_AB4.0000.506
predicted_AVG0.2500.042
predicted_BB0.000-0.262
predicted_H1.0000.272
predicted_HR0.000-0.216
predicted_OBP0.250-0.014
predicted_R0.000-0.496
predicted_RBI1.0000.458
predicted_SLG0.250-0.202
predicted_SO1.0000.051
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-2.000
BB1.0001.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA3.000-
R0.0000.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 115
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-16.0002.0000.0001.0001.0003.0002.0000.0004.0000.12500.12500.43750.12500.06250.18750.00000.2500
last_100.2010-34.00010.0000.0001.0004.0008.0008.0002.00010.0000.29410.32430.70590.29410.11770.23530.05880.2941
season0.60115-405.00090.00015.0003.00017.00046.00054.00034.000111.0000.22220.28950.40000.22220.04200.11360.08390.2741
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0820
predicted_3B0.0750
predicted_AB3.4560
predicted_AVG0.2191
predicted_BB0.2160
predicted_H0.7570
predicted_HBP0.0310
predicted_HR0.2060
predicted_OBP0.2662
predicted_R0.5210
predicted_RBI0.5220
predicted_SLG0.4649
predicted_SO0.9340
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.13000.08200.1093model_form_blend
predicted_3B0.02600.07500.0472model_form_blend
predicted_AB3.52203.45603.4935model_form_blend
predicted_AVG0.20500.21910.2111model_form_blend
predicted_BB0.29600.21600.2615model_form_blend
predicted_H0.70000.75700.7246model_form_blend
predicted_HBP-0.03100.0310form_only
predicted_HR0.22000.20600.2140model_form_blend
predicted_OBP0.26100.26620.2632model_form_blend
predicted_R0.47000.52100.4920model_form_blend
predicted_RBI0.55000.52200.5379model_form_blend
predicted_SLG0.42700.46490.4434model_form_blend
predicted_SO0.96500.93400.9516model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date459
Season rows before report date459
Report year2026
Profile rows used115
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB2
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI1
Hitting_SAC0
Hitting_SF1
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
allPositionsPlayedRF
gameID20260819_LAA@HOU
game_typefull
mlbID701358
playerID701358
playerNameCam Smith
posRF
startedTrue
startingPositionRF
teamHOU
teamID11
game_date2026-08-19
game_pk824155.0
sl_k_percent24.6
sl_bb_percent7.7
sl_woba0.302
sl_xwoba0.328
sl_xba0.246
sl_xslg0.44
sl_sweet_spot_percent29.8
sl_barrel_batted_rate11.8
sl_hard_hit_percent45.2
sl_exit_velocity_avg89.4
sl_launch_angle_avg11.7
sl_whiff_percent29.0
sl_swing_percent48.6
at_bat_number50.0
ab_pitcher605242.0
ab_pitcher_nameFulmer, Michael
ab_home_teamHOU
ab_away_teamLAA
ab_game_typeR
ab_standR
ab_p_throwsR
ab_inning6.0
ab_inning_topbotBot
ab_outs_when_up1.0
ab_on_1b_start664774.0
ab_on_2b_start670623.0
ab_balls_start0.0
ab_strikes_start0.0
ab_home_score_start3.0
ab_away_score_start2.0
ab_bat_score_start3.0
ab_fld_score_start2.0
ab_eventstrikeout
ab_event_descriptionCam Smith strikes out swinging.
ab_event_typeS
ab_hit_location2.0
ab_pitch_type_lastST
ab_pitch_name_lastSweeper
ab_zone_last14.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_end3.0
ab_away_score_end2.0
ab_bat_score_end3.0
ab_fld_score_end2.0
ab_pitch_count4.0
ab_release_speed_avg88.675
ab_release_spin_rate_avg2645.5
ab_effective_speed_avg88.65
ab_delta_run_exp_avg-0.0615
ab_delta_home_win_exp_avg-0.01
ab_delta_pitcher_run_exp_avg0.0615
ab_bat_speed_avg70.15
ab_swing_length_avg7.15
ab_release_speed_max95.7
ab_release_spin_rate_max2857.0
ab_release_speed_min81.5
ab_release_spin_rate_min2444.0
ab_delta_run_exp_sum-0.246
ab_delta_home_win_exp_sum-0.04
ab_delta_pitcher_run_exp_sum0.246
ab_result_is_hitFalse
ab_result_is_walkFalse
ab_result_is_strikeoutTrue
ab_result_is_hbpFalse
Nick Allen (669397) · BATTER · SS · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 150
All-history rows before 20260820: 150
System season_avg: 0.2520
Data season_avg (2026 season-to-date): 0.2557
Diff (system - data): -0.0037
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.0871.0000.000Hitting_2B0.0800.0000.9201.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.5003.0003.000Hitting_AB2.3203.0000.6800.000
predicted_AVG0.2320.3330.333Hitting_AVG0.2560.0000.0780.333
predicted_BB0.1520.0000.000Hitting_BB0.1870.000-0.1870.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.3301.0001.000Hitting_H0.5930.0000.4071.000
predicted_HR0.0400.0000.000Hitting_HR0.0400.000-0.0400.000
predicted_OBP0.2480.3330.333Hitting_OBP0.3090.0000.0240.333
predicted_R0.3701.0000.000Hitting_R0.3930.0000.6071.000
predicted_RBI0.2401.0000.000Hitting_RBI0.3200.0000.6801.000
predicted_SLG0.4050.6670.333Hitting_SLG0.3420.0000.3250.667
predicted_SO0.5870.0001.000Hitting_SO0.5673.000-0.567-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_2B: 0.0870 -> 1.0000 (boost 0.9130, better)
Biggest Deboostpredicted_SO: 0.5870 -> 0.0000 (deboost -0.5870, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend33030predicted_H: 0.3300 -> 0.4485 (boost 0.1185, 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.4018 -> 0.2891 (deboost -0.1127, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling73425predicted_H: 0.4506 -> 1.0000 (boost 0.5494, better)predicted_RBI: 0.2730 -> 0.0000 (deboost -0.2730, worse)AB rounded to 3 (raw=2.52), rates preserved: AVG=0.179 HR/AB=0.025
5consistency_constraints10101-predicted_R: 0.3946 -> 0.0000 (deboost -0.3946, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context33030predicted_AVG: 0.1789 -> 0.3330 (boost 0.1541, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference43140predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)Attached simulation box score without overwriting model prediction
8current_json_final30303-predicted_AVG: 0.3330 -> 0.1789 (deboost -0.1541, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "669397",
  "player_name": "Nick Allen",
  "position": "SS",
  "team": "HOU",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.087,
        "predicted_3B": 0.0,
        "predicted_AB": 2.5,
        "predicted_AVG": 0.232,
        "predicted_BB": 0.152,
        "predicted_H": 0.33,
        "predicted_HR": 0.04,
        "predicted_OBP": 0.248,
        "predicted_R": 0.37,
        "predicted_RBI": 0.24,
        "predicted_SLG": 0.405,
        "predicted_SO": 0.587
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.087,
        "predicted_3B": 0.0008,
        "predicted_AB": 2.5185,
        "predicted_AVG": 0.2382,
        "predicted_BB": 0.1433,
        "predicted_H": 0.4485,
        "predicted_HBP": 0.015,
        "predicted_HR": 0.0624,
        "predicted_OBP": 0.2613,
        "predicted_R": 0.3913,
        "predicted_RBI": 0.2707,
        "predicted_SLG": 0.4018,
        "predicted_SO": 0.5898
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.087,
          "after": 0.087,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0008,
          "delta": 0.0008,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.5,
          "after": 2.5185,
          "delta": 0.0185,
          "percent_delta": 0.0074,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.232,
          "after": 0.2382,
          "delta": 0.0062,
          "percent_delta": 0.0267,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.152,
          "after": 0.1433,
          "delta": -0.0087,
          "percent_delta": -0.0572,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.33,
          "after": 0.4485,
          "delta": 0.1185,
          "percent_delta": 0.3591,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.04,
          "after": 0.0624,
          "delta": 0.0224,
          "percent_delta": 0.56,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.248,
          "after": 0.2613,
          "delta": 0.0133,
          "percent_delta": 0.0536,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.37,
          "after": 0.3913,
          "delta": 0.0213,
          "percent_delta": 0.0576,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.24,
          "after": 0.2707,
          "delta": 0.0307,
          "percent_delta": 0.1279,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.405,
          "after": 0.4018,
          "delta": -0.0032,
          "percent_delta": -0.0079,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.587,
          "after": 0.5898,
          "delta": 0.0028,
          "percent_delta": 0.0048,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.33,
          "after": 0.4485,
          "delta": 0.1185,
          "percent_delta": 0.3591,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 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.087,
        "predicted_3B": 0.0008,
        "predicted_AB": 2.5185,
        "predicted_AVG": 0.1789,
        "predicted_BB": 0.1437,
        "predicted_H": 0.4506,
        "predicted_HBP": 0.015,
        "predicted_HR": 0.063,
        "predicted_OBP": 0.2232,
        "predicted_R": 0.3946,
        "predicted_RBI": 0.273,
        "predicted_SLG": 0.2891,
        "predicted_SO": 0.5881
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.087,
          "after": 0.087,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0008,
          "after": 0.0008,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.5185,
          "after": 2.5185,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2382,
          "after": 0.1789,
          "delta": -0.0593,
          "percent_delta": -0.249,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1433,
          "after": 0.1437,
          "delta": 0.0004,
          "percent_delta": 0.0028,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.4485,
          "after": 0.4506,
          "delta": 0.0021,
          "percent_delta": 0.0047,
          "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.0624,
          "after": 0.063,
          "delta": 0.0006,
          "percent_delta": 0.0096,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2613,
          "after": 0.2232,
          "delta": -0.0381,
          "percent_delta": -0.1458,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3913,
          "after": 0.3946,
          "delta": 0.0033,
          "percent_delta": 0.0084,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2707,
          "after": 0.273,
          "delta": 0.0023,
          "percent_delta": 0.0085,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4018,
          "after": 0.2891,
          "delta": -0.1127,
          "percent_delta": -0.2805,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5898,
          "after": 0.5881,
          "delta": -0.0017,
          "percent_delta": -0.0029,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.4018,
          "after": 0.2891,
          "delta": -0.1127,
          "percent_delta": -0.2805,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.52), rates preserved: AVG=0.179 HR/AB=0.025",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.087,
          "after": 0.0,
          "delta": -0.087,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0008,
          "after": 0.0,
          "delta": -0.0008,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.5185,
          "after": 3.0,
          "delta": 0.4815,
          "percent_delta": 0.1912,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1437,
          "after": 0.0,
          "delta": -0.1437,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.4506,
          "after": 1.0,
          "delta": 0.5494,
          "percent_delta": 1.2193,
          "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.063,
          "after": 0.0,
          "delta": -0.063,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.273,
          "after": 0.0,
          "delta": -0.273,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5881,
          "after": 1.0,
          "delta": 0.4119,
          "percent_delta": 0.7004,
          "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.4506,
          "after": 1.0,
          "delta": 0.5494,
          "percent_delta": 1.2193,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.273,
          "after": 0.0,
          "delta": -0.273,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3946,
          "after": 0.0,
          "delta": -0.3946,
          "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.3946,
          "after": 0.0,
          "delta": -0.3946,
          "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.1789,
          "after": 0.333,
          "delta": 0.1541,
          "percent_delta": 0.8614,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2232,
          "after": 0.333,
          "delta": 0.1098,
          "percent_delta": 0.4919,
          "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.2891,
          "after": 0.333,
          "delta": 0.0439,
          "percent_delta": 0.1519,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.1789,
          "after": 0.333,
          "delta": 0.1541,
          "percent_delta": 0.8614,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.1789,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2232,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2891,
        "predicted_SO": 0.0,
        "predicted_SS": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.333,
          "after": 0.1789,
          "delta": -0.1541,
          "percent_delta": -0.4627,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.2232,
          "delta": -0.1098,
          "percent_delta": -0.3296,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 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.2891,
          "delta": -0.0439,
          "percent_delta": -0.1317,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.333,
          "after": 0.1789,
          "delta": -0.1541,
          "percent_delta": -0.4627,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.087,
        "after": 1.0,
        "delta": 0.913,
        "percent_delta": 10.4943,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.5,
        "after": 3.0,
        "delta": 0.5,
        "percent_delta": 0.2,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.232,
        "after": 0.1789,
        "delta": -0.0531,
        "percent_delta": -0.2289,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.152,
        "after": 0.0,
        "delta": -0.152,
        "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.04,
        "after": 0.0,
        "delta": -0.04,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_OBP",
        "before": 0.248,
        "after": 0.2232,
        "delta": -0.0248,
        "percent_delta": -0.1,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.37,
        "after": 1.0,
        "delta": 0.63,
        "percent_delta": 1.7027,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.24,
        "after": 1.0,
        "delta": 0.76,
        "percent_delta": 3.1667,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.405,
        "after": 0.2891,
        "delta": -0.1159,
        "percent_delta": -0.2862,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.587,
        "after": 0.0,
        "delta": -0.587,
        "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_2B",
        "before": 0.087,
        "after": 1.0,
        "delta": 0.913,
        "percent_delta": 10.4943,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.587,
        "after": 0.0,
        "delta": -0.587,
        "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.087-
predicted_3B0.000-
predicted_AB2.500-
predicted_AVG0.232-
predicted_BB0.152-
predicted_H0.330-
predicted_HR0.040-
predicted_OBP0.248-
predicted_R0.370-
predicted_RBI0.240-
predicted_SLG0.405-
predicted_SO0.587-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.0870.000
predicted_3B0.0010.001
predicted_AB2.5180.018
predicted_AVG0.2380.006
predicted_BB0.143-0.009
predicted_H0.4490.118
predicted_HBP0.015-
predicted_HR0.0620.022
predicted_OBP0.2610.013
predicted_R0.3910.021
predicted_RBI0.2710.031
predicted_SLG0.402-0.003
predicted_SO0.5900.003
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.0870.000
predicted_3B0.0010.000
predicted_AB2.5180.000
predicted_AVG0.179-0.059
predicted_BB0.1440.000
predicted_H0.4510.002
predicted_HBP0.0150.000
predicted_HR0.0630.001
predicted_OBP0.223-0.038
predicted_R0.3950.003
predicted_RBI0.2730.002
predicted_SLG0.289-0.113
predicted_SO0.588-0.002
4. ab_floor_and_scaling

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

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. 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
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.087
predicted_3B0.000-0.001
predicted_AB3.0000.482
predicted_AVG0.3330.154
predicted_BB0.000-0.144
predicted_H1.0000.549
predicted_HR0.000-0.063
predicted_OBP0.3330.110
predicted_R0.000-0.395
predicted_RBI0.000-0.273
predicted_SLG0.3330.044
predicted_SO1.0000.412
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 49
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-11.0002.0000.0000.0001.0002.0002.0000.0003.0000.18180.18180.45450.18180.09090.18180.00000.2727
last_100.2010-20.0006.0001.0000.0001.0002.0005.0001.0004.0000.30000.31820.50000.30000.05000.10000.05000.2000
season0.6049-115.00029.0004.0000.0002.00013.00017.0007.00027.0000.25220.29370.33910.25220.01740.11300.06090.2348
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0870
predicted_3B0.0020
predicted_AB2.5470
predicted_AVG0.2477
predicted_BB0.1300
predicted_H0.6310
predicted_HBP0.0150
predicted_HR0.0970
predicted_OBP0.2818
predicted_R0.4240
predicted_RBI0.3180
predicted_SLG0.3970
predicted_SO0.5940
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.08700.08700.0870model_form_blend
predicted_3B0.00000.00200.0008model_form_blend
predicted_AB2.50002.54702.5185model_form_blend
predicted_AVG0.23200.24770.2382model_form_blend
predicted_BB0.15200.13000.1433model_form_blend
predicted_H0.33000.63100.4485model_form_blend
predicted_HBP-0.01500.0150form_only
predicted_HR0.04000.09700.0624model_form_blend
predicted_OBP0.24800.28180.2613model_form_blend
predicted_R0.37000.42400.3913model_form_blend
predicted_RBI0.24000.31800.2707model_form_blend
predicted_SLG0.40500.39700.4018model_form_blend
predicted_SO0.58700.59400.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 date150
Season rows before report date150
Report year2026
Profile rows used49
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_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
2B1
3B0
HR0
R1
RBI1
BB0
SO0
SF0
HBP0
season_avg0.252

Latest Real Data Snapshot (before report date)

Latest 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_SO3
Hitting_TB0
Hitting_battingOrder1
Hitting_substitutionOrder1
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedPH-SS
gameID20260819_LAA@HOU
game_typeph
mlbID669397
noteStruck out for Peña in the 3rd.
playerID669397
playerNameNick Allen
posSS
startedFalse
startingPositionPH
teamHOU
teamID11
game_date2026-08-19
game_pk824155.0
sl_k_percent21.1
sl_bb_percent5.5
sl_woba0.279
sl_xwoba0.231
sl_xba0.204
sl_xslg0.259
sl_sweet_spot_percent23.7
sl_barrel_batted_rate2.2
sl_hard_hit_percent25.8
sl_exit_velocity_avg85.2
sl_launch_angle_avg15.2
sl_whiff_percent25.6
sl_swing_percent46.8
at_bat_number58.0
ab_pitcher642048.0
ab_pitcher_nameSaucedo, Tayler
ab_home_teamHOU
ab_away_teamLAA
ab_game_typeR
ab_standR
ab_p_throwsL
ab_inning7.0
ab_inning_topbotBot
ab_outs_when_up2.0
ab_balls_start0.0
ab_strikes_start0.0
ab_home_score_start3.0
ab_away_score_start2.0
ab_bat_score_start3.0
ab_fld_score_start2.0
ab_eventstrikeout
ab_event_descriptionNick Allen strikes out swinging.
ab_event_typeS
ab_hit_location2.0
ab_pitch_type_lastFF
ab_pitch_name_last4-Seam Fastball
ab_zone_last12.0
ab_launch_speed_last73.7
ab_launch_angle_last73.0
ab_hit_distance_last143.0
ab_estimated_woba_last0.0
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_end3.0
ab_away_score_end2.0
ab_bat_score_end3.0
ab_fld_score_end2.0
ab_pitch_count8.0
ab_release_speed_avg88.875
ab_release_spin_rate_avg2494.0
ab_effective_speed_avg89.5875
ab_launch_speed_avg80.9
ab_launch_angle_avg22.0
ab_delta_run_exp_avg-0.032375
ab_delta_home_win_exp_avg-0.0012499999999999
ab_delta_pitcher_run_exp_avg0.032375
ab_bat_speed_avg62.150000000000006
ab_swing_length_avg6.550000000000001
ab_launch_speed_max88.1
ab_hit_distance_sc_max143.0
ab_release_speed_max93.4
ab_release_spin_rate_max2620.0
ab_release_speed_min82.8
ab_release_spin_rate_min2116.0
ab_delta_run_exp_sum-0.259
ab_delta_home_win_exp_sum-0.0099999999999999
ab_delta_pitcher_run_exp_sum0.259
ab_result_is_hitFalse
ab_result_is_walkFalse
ab_result_is_strikeoutTrue
ab_result_is_hbpFalse
Christian Vázquez (543877) · BATTER · C · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 233
All-history rows before 20260820: 233
System season_avg: 0.2190
Data season_avg (2026 season-to-date): 0.2391
Diff (system - data): -0.0201
System opponent_avg: 0.2350
System season_avg diverges from 2026 season-to-date by -0.0201. This usually means mixed-season window logic.

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0970.0000.000Hitting_2B0.1370.000-0.1370.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.9173.0003.000Hitting_AB3.1592.000-0.1591.000
predicted_AVG0.2390.3330.333Hitting_AVG0.2390.5000.094-0.167
predicted_BB0.2220.0000.000Hitting_BB0.2581.000-0.258-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.5801.0001.000Hitting_H0.7551.0000.2450.000
predicted_HR0.1800.0000.000Hitting_HR0.1071.000-0.107-1.000
predicted_OBP0.3070.3330.333Hitting_OBP0.2950.6670.038-0.333
predicted_R0.2921.0000.000Hitting_R0.3351.0000.6650.000
predicted_RBI0.3701.0000.000Hitting_RBI0.4121.0000.5880.000
predicted_SLG0.4980.3330.333Hitting_SLG0.3852.000-0.051-1.667
predicted_SO0.6111.0001.000Hitting_SO0.6311.0000.3690.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_R: 0.2920 -> 1.0000 (boost 0.7080, better)
Biggest Deboostpredicted_BB: 0.2220 -> 0.0000 (deboost -0.2220, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend10101-predicted_SLG: 0.4980 -> 0.4852 (deboost -0.0128, worse)Final model input calibrated 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.4852 -> 0.4402 (deboost -0.0450, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling73425predicted_H: 0.6182 -> 1.0000 (boost 0.3818, better)predicted_RBI: 0.3643 -> 0.0000 (deboost -0.3643, worse)AB rounded to 3 (raw=2.92), rates preserved: AVG=0.212 HR/AB=0.064
5consistency_constraints10101-predicted_R: 0.3347 -> 0.0000 (deboost -0.3347, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context32121predicted_AVG: 0.2155 -> 0.3330 (boost 0.1175, better)predicted_SLG: 0.4402 -> 0.3330 (deboost -0.1072, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference22020predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
8current_json_final31212predicted_SLG: 0.3330 -> 0.4402 (boost 0.1072, better)predicted_AVG: 0.3330 -> 0.2155 (deboost -0.1175, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "543877",
  "player_name": "Christian Vázquez",
  "position": "C",
  "team": "HOU",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.097,
        "predicted_3B": 0.0,
        "predicted_AB": 2.917,
        "predicted_AVG": 0.239,
        "predicted_BB": 0.222,
        "predicted_H": 0.58,
        "predicted_HR": 0.18,
        "predicted_OBP": 0.307,
        "predicted_R": 0.292,
        "predicted_RBI": 0.37,
        "predicted_SLG": 0.498,
        "predicted_SO": 0.611
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0837,
        "predicted_3B": 0.0004,
        "predicted_AB": 2.8692,
        "predicted_AVG": 0.2383,
        "predicted_BB": 0.2494,
        "predicted_H": 0.6153,
        "predicted_HBP": 0.003,
        "predicted_HR": 0.185,
        "predicted_OBP": 0.3071,
        "predicted_R": 0.3319,
        "predicted_RBI": 0.3613,
        "predicted_SLG": 0.4852,
        "predicted_SO": 0.633
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.097,
          "after": 0.0837,
          "delta": -0.0133,
          "percent_delta": -0.1371,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0004,
          "delta": 0.0004,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.917,
          "after": 2.8692,
          "delta": -0.0478,
          "percent_delta": -0.0164,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.239,
          "after": 0.2383,
          "delta": -0.0007,
          "percent_delta": -0.0029,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.222,
          "after": 0.2494,
          "delta": 0.0274,
          "percent_delta": 0.1234,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.58,
          "after": 0.6153,
          "delta": 0.0353,
          "percent_delta": 0.0609,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.18,
          "after": 0.185,
          "delta": 0.005,
          "percent_delta": 0.0278,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.307,
          "after": 0.3071,
          "delta": 0.0001,
          "percent_delta": 0.0003,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.292,
          "after": 0.3319,
          "delta": 0.0399,
          "percent_delta": 0.1366,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.37,
          "after": 0.3613,
          "delta": -0.0087,
          "percent_delta": -0.0235,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.498,
          "after": 0.4852,
          "delta": -0.0128,
          "percent_delta": -0.0257,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.611,
          "after": 0.633,
          "delta": 0.022,
          "percent_delta": 0.036,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.498,
          "after": 0.4852,
          "delta": -0.0128,
          "percent_delta": -0.0257,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 72
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0837,
        "predicted_3B": 0.0004,
        "predicted_AB": 2.8692,
        "predicted_AVG": 0.2155,
        "predicted_BB": 0.2501,
        "predicted_H": 0.6182,
        "predicted_HBP": 0.003,
        "predicted_HR": 0.1868,
        "predicted_OBP": 0.2784,
        "predicted_R": 0.3347,
        "predicted_RBI": 0.3643,
        "predicted_SLG": 0.4402,
        "predicted_SO": 0.6312
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0837,
          "after": 0.0837,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.8692,
          "after": 2.8692,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2383,
          "after": 0.2155,
          "delta": -0.0228,
          "percent_delta": -0.0957,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2494,
          "after": 0.2501,
          "delta": 0.0007,
          "percent_delta": 0.0028,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.6153,
          "after": 0.6182,
          "delta": 0.0029,
          "percent_delta": 0.0047,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.003,
          "after": 0.003,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.185,
          "after": 0.1868,
          "delta": 0.0018,
          "percent_delta": 0.0097,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3071,
          "after": 0.2784,
          "delta": -0.0287,
          "percent_delta": -0.0935,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3319,
          "after": 0.3347,
          "delta": 0.0028,
          "percent_delta": 0.0084,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3613,
          "after": 0.3643,
          "delta": 0.003,
          "percent_delta": 0.0083,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4852,
          "after": 0.4402,
          "delta": -0.045,
          "percent_delta": -0.0927,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.633,
          "after": 0.6312,
          "delta": -0.0018,
          "percent_delta": -0.0028,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.4852,
          "after": 0.4402,
          "delta": -0.045,
          "percent_delta": -0.0927,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.92), rates preserved: AVG=0.212 HR/AB=0.064",
      "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.0837,
          "after": 0.0,
          "delta": -0.0837,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0,
          "delta": -0.0004,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.8692,
          "after": 3.0,
          "delta": 0.1308,
          "percent_delta": 0.0456,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2501,
          "after": 0.0,
          "delta": -0.2501,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6182,
          "after": 1.0,
          "delta": 0.3818,
          "percent_delta": 0.6176,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.003,
          "after": 0.0,
          "delta": -0.003,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1868,
          "after": 0.0,
          "delta": -0.1868,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3643,
          "after": 0.0,
          "delta": -0.3643,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6312,
          "after": 1.0,
          "delta": 0.3688,
          "percent_delta": 0.5843,
          "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.6182,
          "after": 1.0,
          "delta": 0.3818,
          "percent_delta": 0.6176,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3643,
          "after": 0.0,
          "delta": -0.3643,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3347,
          "after": 0.0,
          "delta": -0.3347,
          "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.3347,
          "after": 0.0,
          "delta": -0.3347,
          "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.2155,
          "after": 0.333,
          "delta": 0.1175,
          "percent_delta": 0.5452,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2784,
          "after": 0.333,
          "delta": 0.0546,
          "percent_delta": 0.1961,
          "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.4402,
          "after": 0.333,
          "delta": -0.1072,
          "percent_delta": -0.2435,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.2155,
          "after": 0.333,
          "delta": 0.1175,
          "percent_delta": 0.5452,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4402,
          "after": 0.333,
          "delta": -0.1072,
          "percent_delta": -0.2435,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.2155,
        "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.2784,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4402,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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.2155,
          "delta": -0.1175,
          "percent_delta": -0.353,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.2784,
          "delta": -0.0546,
          "percent_delta": -0.1641,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 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.4402,
          "delta": 0.1072,
          "percent_delta": 0.3219,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.4402,
          "delta": 0.1072,
          "percent_delta": 0.3219,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.333,
          "after": 0.2155,
          "delta": -0.1175,
          "percent_delta": -0.353,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.097,
        "after": 0.0,
        "delta": -0.097,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.917,
        "after": 3.0,
        "delta": 0.083,
        "percent_delta": 0.0285,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.239,
        "after": 0.2155,
        "delta": -0.0235,
        "percent_delta": -0.0983,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.222,
        "after": 0.0,
        "delta": -0.222,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.58,
        "after": 1.0,
        "delta": 0.42,
        "percent_delta": 0.7241,
        "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.307,
        "after": 0.2784,
        "delta": -0.0286,
        "percent_delta": -0.0932,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.292,
        "after": 1.0,
        "delta": 0.708,
        "percent_delta": 2.4247,
        "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.498,
        "after": 0.4402,
        "delta": -0.0578,
        "percent_delta": -0.1161,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.611,
        "after": 1.0,
        "delta": 0.389,
        "percent_delta": 0.6367,
        "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_R",
        "before": 0.292,
        "after": 1.0,
        "delta": 0.708,
        "percent_delta": 2.4247,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.222,
        "after": 0.0,
        "delta": -0.222,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.097-
predicted_3B0.000-
predicted_AB2.917-
predicted_AVG0.239-
predicted_BB0.222-
predicted_H0.580-
predicted_HR0.180-
predicted_OBP0.307-
predicted_R0.292-
predicted_RBI0.370-
predicted_SLG0.498-
predicted_SO0.611-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.084-0.013
predicted_3B0.0000.000
predicted_AB2.869-0.048
predicted_AVG0.238-0.001
predicted_BB0.2490.027
predicted_H0.6150.035
predicted_HBP0.003-
predicted_HR0.1850.005
predicted_OBP0.3070.000
predicted_R0.3320.040
predicted_RBI0.361-0.009
predicted_SLG0.485-0.013
predicted_SO0.6330.022
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.0840.000
predicted_3B0.0000.000
predicted_AB2.8690.000
predicted_AVG0.215-0.023
predicted_BB0.2500.001
predicted_H0.6180.003
predicted_HBP0.0030.000
predicted_HR0.1870.002
predicted_OBP0.278-0.029
predicted_R0.3350.003
predicted_RBI0.3640.003
predicted_SLG0.440-0.045
predicted_SO0.631-0.002
4. ab_floor_and_scaling

AB rounded to 3 (raw=2.92), rates preserved: AVG=0.212 HR/AB=0.064

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. 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
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.084
predicted_3B0.000-0.000
predicted_AB3.0000.131
predicted_AVG0.3330.118
predicted_BB0.000-0.250
predicted_H1.0000.382
predicted_HR0.000-0.187
predicted_OBP0.3330.055
predicted_R0.000-0.335
predicted_RBI0.000-0.364
predicted_SLG0.333-0.107
predicted_SO1.0000.369
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.0000.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA3.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: 72
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-11.0003.0000.0000.0002.0002.0003.0002.0003.0000.27270.38460.81820.27270.18180.18180.18180.2727
last_100.2010-24.0006.0000.0000.0002.0002.0003.0003.0007.0000.25000.33330.50000.25000.08330.08330.12500.2917
season0.6072-210.00046.0007.0000.0007.00025.00021.00016.00044.0000.21900.27310.35240.21900.03330.11910.07620.2095
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0650
predicted_3B0.0010
predicted_AB2.8020
predicted_AVG0.2374
predicted_BB0.2880
predicted_H0.6650
predicted_HBP0.0030
predicted_HR0.1920
predicted_OBP0.3072
predicted_R0.3880
predicted_RBI0.3490
predicted_SLG0.4673
predicted_SO0.6640
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.09700.06500.0837model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB2.91702.80202.8692model_form_blend
predicted_AVG0.23900.23740.2383model_form_blend
predicted_BB0.22200.28800.2494model_form_blend
predicted_H0.58000.66500.6153model_form_blend
predicted_HBP-0.00300.0030form_only
predicted_HR0.18000.19200.1850model_form_blend
predicted_OBP0.30700.30720.3071model_form_blend
predicted_R0.29200.38800.3319model_form_blend
predicted_RBI0.37000.34900.3613model_form_blend
predicted_SLG0.49800.46730.4852model_form_blend
predicted_SO0.61100.66400.6330model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date233
Season rows before report date233
Report year2026
Profile rows used72
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA3
AB3
H1
2B0
3B0
HR0
R1
RBI1
BB0
SO1
SF0
HBP0
season_avg0.219

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_BB1
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R1
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO1
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
allPositionsPlayedC
gameID20260819_LAA@HOU
game_typefull
mlbID543877
playerID543877
playerNameChristian Vázquez
posC
startedTrue
startingPositionC
teamHOU
teamID11
game_date2026-08-19
game_pk824155.0
sl_k_percent18.9
sl_bb_percent7.3
sl_woba0.277
sl_xwoba0.243
sl_xba0.2
sl_xslg0.28
sl_sweet_spot_percent32.0
sl_barrel_batted_rate2.3
sl_hard_hit_percent23.8
sl_exit_velocity_avg86.0
sl_launch_angle_avg15.0
sl_whiff_percent19.8
sl_swing_percent47.2
at_bat_number57.0
ab_pitcher642048.0
ab_pitcher_nameSaucedo, Tayler
ab_home_teamHOU
ab_away_teamLAA
ab_game_typeR
ab_standR
ab_p_throwsL
ab_inning7.0
ab_inning_topbotBot
ab_outs_when_up1.0
ab_balls_start0.0
ab_strikes_start0.0
ab_home_score_start3.0
ab_away_score_start2.0
ab_bat_score_start3.0
ab_fld_score_start2.0
ab_eventstrikeout
ab_event_descriptionChristian Vázquez strikes out on a foul tip.
ab_event_typeS
ab_hit_location2.0
ab_pitch_type_lastFF
ab_pitch_name_last4-Seam Fastball
ab_zone_last11.0
ab_launch_speed_last71.2
ab_launch_angle_last9.0
ab_hit_distance_last101.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_end2.0
ab_bat_score_end3.0
ab_fld_score_end2.0
ab_pitch_count7.0
ab_release_speed_avg88.97142857142856
ab_release_spin_rate_avg2412.428571428572
ab_effective_speed_avg89.68571428571428
ab_launch_speed_avg72.7
ab_launch_angle_avg9.666666666666666
ab_delta_run_exp_avg-0.0374285714285714
ab_delta_home_win_exp_avg-0.0021428571428571
ab_delta_pitcher_run_exp_avg0.0374285714285714
ab_bat_speed_avg62.45
ab_swing_length_avg6.449999999999999
ab_launch_speed_max77.9
ab_hit_distance_sc_max126.0
ab_release_speed_max93.5
ab_release_spin_rate_max2583.0
ab_release_speed_min82.7
ab_release_spin_rate_min2218.0
ab_delta_run_exp_sum-0.262
ab_delta_home_win_exp_sum-0.015
ab_delta_pitcher_run_exp_sum0.262
ab_result_is_hitFalse
ab_result_is_walkFalse
ab_result_is_strikeoutTrue
ab_result_is_hbpFalse
Peter Lambert (663567) · PITCHER · Starter · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 21
All-history rows before 20260820: 21

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB2.1902.000-2.190-2.000
predicted_ER3.0003.0003.000Pitching_ER1.9522.0001.0481.000
predicted_H5.0005.0005.000Pitching_H4.3334.0000.6671.000
predicted_IP5.2005.2005.200Pitching_InningsPitched5.5295.000-0.3290.200
predicted_SO6.0006.0006.000Pitching_SO5.5716.0000.4290.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectworse
Changed Metrics1
Boosted Metrics0
Deboosted Metrics1
Better Metrics0
Worse Metrics1
Biggest Boost-
Biggest Deboostpredicted_IP: 5.6667 -> 5.2000 (deboost -0.4667, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2pitcher_quality_guardrail10101-predicted_IP: 5.6667 -> 5.2000 (deboost -0.4667, worse)Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
3current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "663567",
  "player_name": "Peter Lambert",
  "position": "Starter",
  "team": "HOU",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 3.0,
        "predicted_H": 5.0,
        "predicted_HR": 1.0,
        "predicted_IP": 5.6667,
        "predicted_SO": 6.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "pitcher_quality_guardrail",
      "description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 3.0,
        "predicted_H": 5.0,
        "predicted_HR": 1.0,
        "predicted_IP": 5.2,
        "predicted_SO": 6.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 5.6667,
          "after": 5.2,
          "delta": -0.4667,
          "percent_delta": -0.0824,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 5.6667,
          "after": 5.2,
          "delta": -0.4667,
          "percent_delta": -0.0824,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 3,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 3.0,
        "predicted_H": 5.0,
        "predicted_HR": 1.0,
        "predicted_IP": 5.2,
        "predicted_R": 3.0,
        "predicted_SO": 6.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 5.2,
          "after": 5.2,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 3.0,
        "after": 3.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 5.0,
        "after": 5.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 5.6667,
        "after": 5.2,
        "delta": -0.4667,
        "percent_delta": -0.0824,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 6.0,
        "after": 6.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 0,
      "deboosted_metrics": 1,
      "better_metrics": 0,
      "worse_metrics": 1,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 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_BB0.000-
predicted_ER3.000-
predicted_H5.000-
predicted_HR1.000-
predicted_IP5.667-
predicted_SO6.000-
2. pitcher_quality_guardrail

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

MetricValueDelta vs Prev Step
predicted_BB0.0000.000
predicted_ER3.0000.000
predicted_H5.0000.000
predicted_HR1.0000.000
predicted_IP5.200-0.467
predicted_SO6.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 21
Reference playing time: 5.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45526.20010.00025.00010.00026.0001.0003.37501.31250.37500.93750.37500.97500.0375
last_100.351054.20018.00045.00021.00059.0006.0002.96341.20730.32930.82320.38411.07930.1098
season0.2021118.20041.00091.00046.000117.00012.0003.10961.15450.34550.76690.38760.98600.1011
Weighted Prediction From Real Data
MetricValue
predicted_BB2.0600
predicted_ER2.0790
predicted_ERA3.4324
predicted_H4.8210
predicted_HR0.4870
predicted_IP5.1000
predicted_SO5.4630
predicted_WHIP1.2621
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00002.06001.1716model_form_blend
predicted_ER3.00002.07902.4762model_form_blend
predicted_ERA-3.43243.4324form_only
predicted_H5.00004.82104.8982model_form_blend
predicted_HR1.00000.48700.7082model_form_blend
predicted_IP5.20005.10005.1000model_form_blend
predicted_SO6.00005.46305.6946model_form_blend
predicted_WHIP-1.26211.2621form_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
IP5.2
H5
R3
ER3
BB0
SO6
HR1
BF22
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_BB2
Pitching_Balk0
Pitching_Batters Faced22
Pitching_ER2
Pitching_ERA3.11
Pitching_Flyouts4
Pitching_Groundouts2
Pitching_H4
Pitching_HBP1
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched5.0
Pitching_Pitches96
Pitching_R2
Pitching_SO6
Pitching_Strikes60
Pitching_Wild Pitch0
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260814_SEA@HOU
game_typefull
mlbID663567
playerID663567
playerNamePeter Lambert
posP
startedTrue
startingPositionP
teamHOU
teamID11
game_date2026-08-14
game_pk824159.0
sl_k_percent23.7
sl_bb_percent9.3
sl_woba0.282
sl_xwoba0.284
sl_sweet_spot_percent30.1
sl_barrel_batted_rate6.5
sl_hard_hit_percent36.3
sl_whiff_percent25.6
sl_swing_percent48.4
sv_pitch_count96.0
sv_outs_recorded_est15.0
sv_release_speed89.628125
sv_release_spin_rate2221.9479166666665
sv_effective_speed89.11354166666666
sv_launch_speed82.31785714285715
sv_launch_angle27.464285714285715
sv_woba_value6.4
sv_woba_denom22.0
sv_delta_run_exp-0.2009999999999996
sv_delta_home_win_exp0.037
sl_avg_best_speed78.524273125
sl_avg_hyper_speed93.59565348
Bryan Abreu (650556) · PITCHER · Middle Reliever · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 49
All-history rows before 20260820: 49

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.6730.000-0.6730.000
predicted_ER0.0000.0000.000Pitching_ER0.4490.000-0.4490.000
predicted_H0.0000.0000.000Pitching_H0.6530.000-0.6530.000
predicted_IP1.1001.1001.100Pitching_InningsPitched0.8531.0000.2470.100
predicted_SO0.0000.0000.000Pitching_SO1.2042.000-1.204-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": "650556",
  "player_name": "Bryan Abreu",
  "position": "Middle Reliever",
  "team": "HOU",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 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: 48
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.1002.0003.0004.0006.0000.0003.37501.31250.37500.56250.75001.12500.0000
last_100.351010.1002.0003.0005.00013.0000.0001.74190.77420.19350.29030.48391.25810.0000
season0.204846.00022.00030.00033.00059.0007.0004.30431.36960.47830.65220.71741.28260.1522
Weighted Prediction From Real Data
MetricValue
predicted_BB0.5500
predicted_ER0.3910
predicted_ERA3.5209
predicted_H0.6560
predicted_HR0.0710
predicted_IP1.0000
predicted_SO1.1160
predicted_WHIP1.2067
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.55000.2758model_form_blend
predicted_ER0.00000.39100.1961model_form_blend
predicted_ERA-3.52093.5209form_only
predicted_H0.00000.65600.3290model_form_blend
predicted_HR0.00000.07100.0356model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO0.00001.11600.5597model_form_blend
predicted_WHIP-1.20671.2067form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date49
Season rows before report date49
Report year2026
Profile rows used48
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
Pitches6

Latest Real Data Snapshot (before report date)

Latest 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.30
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_SO2
Pitching_Strikes9
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder5
allPositionsPlayedP
gameID20260819_LAA@HOU
game_typefull
mlbID650556
playerID650556
playerNameBryan Abreu
posP
startedFalse
startingPositionP
teamHOU
teamID11
game_date2026-08-19
game_pk824155.0
sl_k_percent29.4
sl_bb_percent16.4
sl_woba0.329
sl_xwoba0.311
sl_sweet_spot_percent33.3
sl_barrel_batted_rate5.8
sl_hard_hit_percent41.9
sl_whiff_percent32.9
sl_swing_percent41.1
sv_pitch_count14.0
sv_outs_recorded_est3.0
sv_release_speed92.4
sv_release_spin_rate2665.785714285714
sv_effective_speed92.53571428571428
sv_launch_speed97.55
sv_launch_angle31.0
sv_woba_value0.0
sv_woba_denom3.0
sv_delta_run_exp-0.781
sv_delta_home_win_exp0.122
sl_avg_best_speed81.6953406
sl_avg_hyper_speed94.3642045
Josh Hader (623352) · PITCHER · Middle Reliever · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 32
All-history rows before 20260820: 32

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.3441.000-0.344-1.000
predicted_ER0.0000.0000.000Pitching_ER0.0940.000-0.0940.000
predicted_H0.0000.0000.000Pitching_H0.4060.000-0.4060.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.9471.0000.0530.000
predicted_SO0.0000.0000.000Pitching_SO1.2810.000-1.2810.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectneutral
Changed Metrics0
Boosted Metrics0
Deboosted Metrics0
Better Metrics0
Worse Metrics0
Biggest Boost-
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "623352",
  "player_name": "Josh Hader",
  "position": "Middle Reliever",
  "team": "HOU",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 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: 31
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4556.0000.0003.0001.0005.0000.0000.00000.66670.00000.50000.16670.83330.0000
last_100.351011.0000.0003.0003.0008.0000.0000.00000.54550.00000.27270.27270.72730.0000
season0.203131.0002.00010.00011.00041.0001.0000.58060.67740.06450.32260.35481.32260.0323
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3210
predicted_ER0.2490
predicted_ERA2.0712
predicted_H0.7010
predicted_HR0.0750
predicted_IP1.0000
predicted_SO0.9970
predicted_WHIP0.9436
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.32100.1482model_form_blend
predicted_ER0.00000.24900.1150model_form_blend
predicted_ERA-2.07122.0712form_only
predicted_H0.00000.70100.3236model_form_blend
predicted_HR0.00000.07500.0346model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO0.00000.99700.4603model_form_blend
predicted_WHIP-0.94360.9436form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H0
R0
ER0
BB0
SO0
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_BB1
Pitching_Balk0
Pitching_Batters Faced4
Pitching_ER0
Pitching_ERA0.87
Pitching_Flyouts1
Pitching_Groundouts1
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches19
Pitching_R0
Pitching_SO0
Pitching_Strikes11
Pitching_Wild Pitch0
Pitching_decisionS
Pitching_pitchingOrder6
allPositionsPlayedP
gameID20260819_LAA@HOU
game_typefull
mlbID623352
playerID623352
playerNameJosh Hader
posP
startedFalse
startingPositionP
teamHOU
teamID11
game_date2026-08-19
game_pk824155.0
sl_k_percent35.0
sl_bb_percent9.4
sl_woba0.181
sl_xwoba0.225
sl_sweet_spot_percent27.7
sl_barrel_batted_rate7.7
sl_hard_hit_percent33.8
sl_whiff_percent36.5
sl_swing_percent53.1
sv_pitch_count19.0
sv_outs_recorded_est3.0
sv_release_speed89.34210526315789
sv_release_spin_rate2327.4210526315787
sv_effective_speed89.90526315789474
sv_launch_speed81.16
sv_launch_angle33.6
sv_woba_value0.7
sv_woba_denom4.0
sv_delta_run_exp-0.315
sv_delta_home_win_exp0.1649999999999999
sl_avg_best_speed73.834582121
sl_avg_hyper_speed92.774564462
Steven Okert (595345) · PITCHER · Middle Reliever · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 62
All-history rows before 20260820: 62

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.2101.000-0.210-1.000
predicted_ER0.0000.0000.000Pitching_ER0.2260.000-0.2260.000
predicted_H1.0001.0001.000Pitching_H0.6450.0000.3551.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.8791.0000.1210.000
predicted_SO1.0001.0001.000Pitching_SO1.0322.000-0.032-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": "595345",
  "player_name": "Steven Okert",
  "position": "Middle Reliever",
  "team": "HOU",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 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: 62
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.1000.0002.0001.0005.0000.0000.00000.56250.00000.37500.18750.93750.0000
last_100.351010.0002.0009.0001.00010.0001.0001.80001.00000.20000.90000.10001.00000.1000
season0.206262.20014.00040.00013.00064.0006.0002.01060.84570.22340.63830.20741.02130.0957
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2190
predicted_ER0.2240
predicted_ERA2.0199
predicted_H0.7140
predicted_HR0.0810
predicted_IP1.0000
predicted_SO0.9700
predicted_WHIP0.9333
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.21900.1160model_form_blend
predicted_ER0.00000.22400.1187model_form_blend
predicted_ERA-2.01992.0199form_only
predicted_H1.00000.71400.8485model_form_blend
predicted_HR0.00000.08100.0429model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00000.97000.9841model_form_blend
predicted_WHIP-0.93330.9333form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced4
Pitching_ER0
Pitching_ERA2.01
Pitching_Flyouts1
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches20
Pitching_R0
Pitching_SO2
Pitching_Strikes11
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260819_LAA@HOU
game_typefull
mlbID595345
playerID595345
playerNameSteven Okert
posP
startedFalse
startingPositionP
teamHOU
teamID11
game_date2026-08-19
game_pk824155.0
sl_k_percent26.7
sl_bb_percent5.4
sl_woba0.242
sl_xwoba0.262
sl_sweet_spot_percent32.1
sl_barrel_batted_rate4.5
sl_hard_hit_percent33.3
sl_whiff_percent30.7
sl_swing_percent49.6
sv_pitch_count20.0
sv_outs_recorded_est3.0
sv_release_speed84.19500000000001
sv_release_spin_rate2337.75
sv_effective_speed83.74
sv_launch_speed39.93333333333333
sv_launch_angle40.0
sv_woba_value0.7
sv_woba_denom4.0
sv_delta_run_exp-0.3269999999999999
sv_delta_home_win_exp0.097
sl_avg_best_speed76.280905584
sl_avg_hyper_speed92.995261429

20260820_WAS@TEX

Prediction Method: enhanced_ml_savant_pitcher_quality_pitcher_opponent_strength
Team Recent Window (Home): 10 games
Team Recent Window (Away): 10 games
Team Recent Period: Latest 10 games from dataset
Enhanced Prediction Target: {"away_runs": 3, "home_runs": 2, "confidence": 0.51, "home_win_probability": 0.49, "away_win_probability": 0.51, "predicted_score_text": "WAS 3 - 2 TEX", "embedded_savant_score_adjustment": {"applied": true, "source": "all_players_stats.csv embedded temporal Savant features", "feature_contract": {"training_grain": "one player-game row after collapsing granular at-bat rows", "temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game", "hitter_signals": ["xwoba", "xba", "xslg", "barrel_batted_rate", "hard_hit_percent", "bat_speed", "launch_quality", "walk_rate", "strikeout_rate"], "pitcher_signals": ["xwoba_allowed", "barrel_allowed", "hard_hit_allowed", "whiff_rate", "command_score", "movement_score", "faced_est_woba", "faced_strikeout_rate"]}, "away": {"team": "WAS", "original_runs": 3, "run_delta": -0.1904, "adjusted_runs": 3, "lineup": {"players_used": 8, "total_weight": 28.0, "quality": 0.06820478293849586, "contact": 0.33836891852937717, "power": 0.4948858274282816, "discipline": -0.18831166868108684, "xwoba": 0.32967857142857143, "recent_xwoba": 0.32967857142857143, "barrel": 9.632142857142856, "ab_hard_contact": 0.4037233512867185, "ab_bat_speed": 70.92770609566465, "ab_strikeout_rate": 0.2148751481797964, "available_players": 8, "top_players": [{"player_id": "683083", "player_name": "Nasim Nuñez", "position": "SS", "weight": 3.0, "quality": -0.9854827972261041, "contact": -1.027823885621047, "power": -1.5374892817140582, "discipline": 0.45033228059713054, "xwoba": 0.269, "recent_xwoba": 0.269, "barrel": 0.4000000000000001, "ab_hard_contact": -0.9292142057097411, "ab_bat_speed": 65.36474169943207, "ab_strikeout_rate": 0.19342507645259938, "available": 1.0}, {"player_id": "665953", "player_name": "Andrés Chaparro", "position": "1B", "weight": 3.0, "quality": 0.5040656662449141, "contact": 0.8027865431642666, "power": 1.401083426231262, "discipline": 0.09530696022433316, "xwoba": 0.377, "recent_xwoba": 0.377, "barrel": 15.3, "ab_hard_contact": 0.5412875722442794, "ab_bat_speed": 73.18105902777778, "ab_strikeout_rate": 0.2767361111111111, "available": 1.0}, {"player_id": "694673", "player_name": "Abimelec Ortiz", "position": "DH", "weight": 3.0, "quality": 0.2532980405677761, "contact": 1.362758251993632, "power": 1.9105693847068677, "discipline": -0.3935997858074128, "xwoba": 0.391, "recent_xwoba": 0.391, "barrel": 16.7, "ab_hard_contact": 0.844911503661162, "ab_bat_speed": 75.44544444444445, "ab_strikeout_rate": 0.16999999999999998, "available": 1.0}, {"player_id": "691781", "player_name": "Brady House", "position": "3B", "weight": 4.0, "quality": 0.41261279171960136, "contact": 0.36606841979408516, "power": 0.7633700983363693, "discipline": -0.8665124842201113, "xwoba": 0.331, "recent_xwoba": 0.331, "barrel": 11.4, "ab_hard_contact": 0.9493067286321456, "ab_bat_speed": 72.3891017888637, "ab_strikeout_rate": 0.2984126984126984, "available": 1.0}, {"player_id": "686611", "player_name": "Dylan Crews", "position": "CF", "weight": 4.0, "quality": 0.2958894193604333, "contact": 0.14754847355447792, "power": 0.6000630902196283, "discipline": -0.5065230662306934, "xwoba": 0.319, "recent_xwoba": 0.319, "barrel": 10.2, "ab_hard_contact": 0.6511665662973279, "ab_bat_speed": 72.60087731481481, "ab_strikeout_rate": 0.2518518518518518, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "594798", "player_name": "Jacob deGrom", "quality": 0.34179472340421846, "contact": 0.0628549972149646, "command": 0.7197658730158728, "movement": 1.018855443686689, "xwoba": 0.297, "whiff": 33.4, "faced_est_woba": 0.26554733936838626, "faced_launch_speed": 83.81281249999999, "faced_strikeout_rate": 0.2351851851851852, "faced_run_exp": 0.006569135802469128}}, "home": {"team": "TEX", "original_runs": 4, "run_delta": 0.11, "adjusted_runs": 4, "lineup": {"players_used": 9, "total_weight": 33.0, "quality": 0.09147559415236406, "contact": -0.19393774980326653, "power": 0.09507712474981274, "discipline": -0.14386947901138228, "xwoba": 0.3006969696969697, "recent_xwoba": 0.3006969696969697, "barrel": 8.354545454545454, "ab_hard_contact": -0.046719425477444655, "ab_bat_speed": 69.83211644568765, "ab_strikeout_rate": 0.2543411217753979, "available_players": 9, "top_players": [{"player_id": "607043", "player_name": "Brandon Nimmo", "position": "RF", "weight": 5.0, "quality": 1.0028213753206847, "contact": 1.2339976793645795, "power": 1.1305766128438488, "discipline": 0.02052486405253109, "xwoba": 0.364, "recent_xwoba": 0.364, "barrel": 10.4, "ab_hard_contact": 0.4153417806865019, "ab_bat_speed": 71.10955265439509, "ab_strikeout_rate": 0.20980392156862746, "available": 1.0}, {"player_id": "608369", "player_name": "Corey Seager", "position": "SS", "weight": 4.0, "quality": 0.6574493048763248, "contact": 0.35816063807421833, "power": 1.1592219871895708, "discipline": 0.011345269137641889, "xwoba": 0.337, "recent_xwoba": 0.337, "barrel": 14.8, "ab_hard_contact": 0.8861540295056878, "ab_bat_speed": 70.40384792429792, "ab_strikeout_rate": 0.2507692307692308, "available": 1.0}, {"player_id": "643376", "player_name": "Danny Jansen", "position": "C", "weight": 3.0, "quality": -0.6500969621723341, "contact": -1.4679349604605803, "power": -0.9183520685582102, "discipline": -0.2591919713995985, "xwoba": 0.24900000000000003, "recent_xwoba": 0.24899999999999997, "barrel": 5.8, "ab_hard_contact": -0.7544699425927845, "ab_bat_speed": 67.74156339031339, "ab_strikeout_rate": 0.2927350427350427, "available": 1.0}, {"player_id": "683227", "player_name": "Cody Freeman", "position": "3B", "weight": 3.0, "quality": -0.21979725193404479, "contact": -2.0, "power": -2.0, "discipline": 0.09232878562115845, "xwoba": 0.187, "recent_xwoba": 0.187, "barrel": 0.0, "ab_hard_contact": -1.2685954109249276, "ab_bat_speed": 62.66247222222222, "ab_strikeout_rate": 0.275, "available": 1.0}, {"player_id": "694497", "player_name": "Evan Carter", "position": "CF", "weight": 3.0, "quality": -0.5244593519227911, "contact": -0.736938217620881, "power": -0.5531389626203966, "discipline": 0.14418592847830122, "xwoba": 0.286, "recent_xwoba": 0.286, "barrel": 5.7, "ab_hard_contact": -0.8780173476460285, "ab_bat_speed": 67.64136982570805, "ab_strikeout_rate": 0.25857142857142856, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "674841", "player_name": "Andrew Alvarez", "quality": -0.13920719503551426, "contact": -0.00803764548289257, "command": -0.19609126984126996, "movement": -0.41218298434176975, "xwoba": 0.326, "whiff": 26.2, "faced_est_woba": 0.26554733936838626, "faced_launch_speed": 83.81281249999999, "faced_strikeout_rate": 0.2351851851851852, "faced_run_exp": 0.006569135802469128}}}, "fundamental_edge_target_review": {"applied": true, "method": "post_score_adjustment_fundamental_edge_review_v1", "previous_score": {"away_runs": 3, "home_runs": 4, "winner_side": "home"}, "adjusted_score": {"away_runs": 5, "home_runs": 4, "winner_side": "away"}, "signals": {"season_quality_edge_home_minus_away": -0.4405, "recent_form_edge_home_minus_away": -0.504, "pitcher_matchup_edge_home_minus_away": 0.0, "composite_home_edge": -0.1883, "existing_home_win_probability": 0.505, "refreshed_home_win_probability": 0.407, "winner_support_before_review": -0.1883}, "reasons": ["flipped low-confidence one-run target away from unsupported side"]}, "confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Matchup recency guardrail cap enforced after calibration. Production confidence governor cap enforced.", "pre_simulation_target": {"away_runs": 5, "home_runs": 4, "predicted_score_text": "WAS 5 - 4 TEX", "confidence": 0.51, "source": "enhanced_prediction_before_inning_simulation"}, "score_source": "simulation_total_with_model_margin_cap", "final_prediction_synced": true, "final_prediction_source": "stable_final_prediction_policy", "simulation_usage": "same_winner_margin_capped", "simulation_score_matches_prediction": false, "simulation_reconciliation": {"pre_simulation_score": {"away_runs": 5, "home_runs": 4, "score_text": "WAS 5 - 4 TEX", "winner": "WAS"}, "final_simulation_score": {"away_runs": 5, "home_runs": 1, "score_text": "WAS 5 - 1 TEX", "winner": "WAS"}, "winner_flipped_by_simulation": false, "simulation_would_flip_winner": false, "sim_flipped_pre_winner": false, "sim_flip_trusted": false, "sim_flip_policy": "diagnostic_only_unless_independently_supported", "independent_margin_support": false, "independent_margin_support_evidence": {"pitcher_matchup_edge_home_minus_away": 0.0, "recent_form_edge_home_minus_away": -0.504, "winner_direction": "away", "thresholds": {"pitcher_matchup": 0.35, "recent_form": 0.75}}, "margin_widening_capped": true, "simulation_winner_agrees": true, "away_run_delta": 0, "home_run_delta": -3, "total_run_delta": -3, "score_source": "simulation_total_with_model_margin_cap", "simulation_usage": "same_winner_margin_capped", "final_prediction_source": "stable_final_prediction_policy", "final_decision_policy": {"policy_version": "model_winner_simulation_score_v1", "away_runs": 3, "home_runs": 2, "winner": "WAS", "model_winner": "WAS", "simulation_winner": "WAS", "simulation_winner_agrees": true, "simulation_score_enabled": true, "independent_margin_support": false, "margin_widening_capped": true, "model_margin": 1, "simulation_margin": 4, "simulation_usage": "same_winner_margin_capped", "score_source": "simulation_total_with_model_margin_cap", "model_score": {"away_runs": 5, "home_runs": 4}, "simulation_score": {"away_runs": 5, "home_runs": 1}}, "final_margin_quality_review": {"review_required": false, "pre_margin": 1, "final_margin": 4, "winner_quality_edge": 0.4405, "winner": "WAS", "reason": "final margin is directionally supported or within review threshold"}}, "decision_profile": {"method": "priced_decision_profile_v2", "winner": "WAS", "display_confidence": 0.51, "internal_signal_score": 0.558, "internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability", "model_pick_probability": 0.51, "confidence_compression_detected": false, "moneyline_fit": "unavailable_without_market_price", "betting_status": "price_required_before_betting_analysis", "market_context": null, "margin_fit": "volatile_margin_profile", "totals_fit": "high_volatility_totals", "winner_accuracy_and_margin_accuracy_decoupled": true, "signals": {"final_margin": 1, "winner_quality_edge": 0.4405, "winner_recent_form_edge": 0.504, "winner_pitcher_matchup_edge": -0.0, "winner_simulation_draw_rate": 0.5, "blowout_draw_rate_margin_4_plus": 0.5, "high_total_draw_rate_11_plus": 0.2, "low_total_draw_rate_6_or_less": 0.7, "total_runs_spread": {"min": 3, "median": 6, "max": 13, "range": 10}}, "interpretation": "The internal signal is diagnostic, not a sportsbook fair price. A bet cannot be evaluated without a source-labelled market price; model/market disagreements are a pass until independently validated."}}
Factors Considered: Historical team performance, Season-to-date run differential, Recent form (latest 10 games), Head-to-head matchup history, Player-level statistics, Baseball Savant hitter xwOBA/xBA/xSLG/contact quality, Baseball Savant pitcher xwOBA/contact/whiff quality, Pitcher splits versus opponent batting strength, Recent-form versus season-quality arbitration, Recent 10-game performance trends, Pitcher recent form analysis, Team hitting/pitching streaks, Low-score probability modeling, Environmental factors, Home field advantage, Game timing factors, Seasonal adjustments, Machine learning models

Game-Level Prediction Audit

LayerScoreWinnerConfidenceSource or usageSynced or matches
Shipped predictionWAS 5 - 4 TEXWAS0.510simulation_total_with_model_margin_capTrue
Simulation drawWAS 5 - 1 TEXWAS-same_winner_margin_cappedFalse

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

Full Prediction Process

Optimization Roadmap Runtime Status

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

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

Score Evolution Steps

StepLayerAway RunsHome RunsConfidenceDescription
1historical_ml3.4865.081-Base ML historical model prediction
2variance_applied35-Deterministic baseline target (variance factor 1.0)
3enhanced_prediction340.5100Enhanced ML with recent form, H2H, low-score analysis (confidence capped by matchup guardrail)
4embedded_savant_run_environment34-Target score adjusted by temporal Savant lineup quality versus opposing starter quality
5fundamental_edge_target_review54-Refreshed score target and win probability after Savant/pitcher/team-strength adjustments
6capped_target54-Capped at max 12 realistic runs
7simulation_result51-Final inning-by-inning simulation result

Governors, Guardrails, and Reconciliation

Low Score Analysis
{
  "low_score_probability": 0.47529367741935485,
  "base_low_score_probability": 0.432258064516129,
  "low_score_signal_threshold": 0.512258064516129,
  "low_score_signal_strength": 0.04303561290322583,
  "confidence": 0.64978,
  "factors": {
    "environmental": 0.9996,
    "pitcher_form": 1.1,
    "team_form": 1.0,
    "situational": 1.0,
    "combined": 1.09956
  },
  "prediction": "normal_scoring",
  "expected_total_runs": 5,
  "pre_simulation_expected_total_runs": 9.6,
  "low_score_model_expected_total_runs": 9.6,
  "final_simulation_total_runs": 6,
  "score_source": "simulation_total_with_model_margin_cap"
}
Win Probability Calibration
{
  "method": "historical_slate_bin_shrinkage",
  "sample_size": 270,
  "near_bucket_sample_size": 270,
  "medium_bucket_sample_size": 361,
  "wide_bucket_sample_size": 416,
  "global_sample_size": 597,
  "bucket_scope": "near_0.05",
  "sparse_bucket": false,
  "empirical_hit_rate": 0.5037,
  "bayesian_hit_rate": 0.5035,
  "sample_weight": 0.6,
  "prior_strength": 18.0,
  "reliability": 0.9375,
  "confidence_cap": 0.78,
  "raw_pick_probability": 0.5085,
  "calibrated_pick_probability": 0.505,
  "predicted_side": "home"
}
Empirical Confidence Calibration
{
  "method": "empirical_hit_rate_weighted_v1",
  "applied": true,
  "reason": "raw confidence blended with verified historical bucket hit rate",
  "raw_confidence": 0.5101,
  "sample_size": 270,
  "empirical_hit_rate": 0.5037,
  "empirical_weight": 0.5,
  "blended_confidence": 0.5069,
  "published_confidence": 0.51,
  "published_after_governors": true
}
H2H Base Feature
{
  "method": "h2h_net_margin_monotonic_v1",
  "available": true,
  "sample_size": 2,
  "sample_weight": 0.03,
  "home_net_margin": -1.0,
  "absolute_net_margin": 1.0,
  "home_average_margin": -0.5,
  "home_run_delta": -0.0075,
  "away_run_delta": 0.0075,
  "evidence": [
    {
      "game_id": null,
      "home_margin": -6.0
    },
    {
      "game_id": null,
      "home_margin": 5.0
    }
  ]
}
Season Run Differential Adjustment
{
  "applied": false,
  "home": {
    "team": "TEX",
    "games": 126,
    "wins": 62,
    "losses": 64,
    "win_pct": 0.49206349206349204,
    "runs_scored": 512,
    "runs_allowed": 554,
    "run_differential": -42,
    "run_differential_per_game": -0.3333333333333333,
    "available": true
  },
  "away": {
    "team": "WAS",
    "games": 127,
    "wins": 60,
    "losses": 67,
    "win_pct": 0.47244094488188976,
    "runs_scored": 670,
    "runs_allowed": 657,
    "run_differential": 13,
    "run_differential_per_game": 0.10236220472440945,
    "available": true
  },
  "run_differential_edge_per_game": -0.4357,
  "win_pct_edge": 0.0196,
  "quality_edge": -0.4405,
  "season_quality_edge": -0.4063,
  "recent_quality_blend": {
    "method": "season_recent10_quality_blend_v1",
    "recent_window": 10,
    "season_quality_edge": -0.4063,
    "recent_quality_edge": -0.504,
    "season_weight": 0.65,
    "recent_weight": 0.35,
    "recent_reliability": 1.0,
    "alignment": "aligned",
    "blended_quality_edge": -0.4405
  },
  "margin_adjustment": 0.0,
  "reason": "season quality edge below action threshold"
}
Score Distribution Widening
{
  "most_likely": [
    {
      "home_runs": 4,
      "away_runs": 3,
      "probability": 0.029698197204186805
    },
    {
      "home_runs": 3,
      "away_runs": 3,
      "probability": 0.029641204787579076
    },
    {
      "home_runs": 4,
      "away_runs": 4,
      "probability": 0.0292329469823471
    },
    {
      "home_runs": 3,
      "away_runs": 4,
      "probability": 0.02917684740560731
    },
    {
      "home_runs": 4,
      "away_runs": 2,
      "probability": 0.025259560198765678
    }
  ],
  "home_distribution": {
    "0": 0.06001850754540573,
    "1": 0.10092805205050777,
    "2": 0.14281520115023963,
    "3": 0.1700485079423029,
    "4": 0.17037546750678834,
    "5": 0.14364057685333212,
    "6": 0.10190208396840687,
    "7": 0.06083098321040346,
    "8": 0.030556418638108845,
    "9": 0.012915639425105471,
    "10": 0.004593727377821979,
    "11": 0.0013748343315769104
  },
  "away_distribution": {
    "0": 0.06293971182915845,
    "1": 0.1055729439203388,
    "2": 0.14825820036420004,
    "3": 0.17431029031807957,
    "4": 0.17157955549664072,
    "5": 0.14139897478835312,
    "6": 0.09755851767729228,
    "7": 0.05635368697855138,
    "8": 0.02725321157463506,
    "9": 0.011034464208314797,
    "10": 0.003740442844435574
  },
  "model": "overdispersed_score_distribution",
  "variance_multiplier": 1.65,
  "variance_floor": 2.75,
  "roadmap_status": "implemented_above_requested_1.4x"
}
Matchup Recency Guardrail
{
  "applied": true,
  "confidence_cap": 0.53,
  "winner_flipped": false,
  "reasons": [
    "latest same-matchup result beat the predicted side",
    "predicted side recently lost this matchup by 5+ runs",
    "a prior same-side pick already missed against the actual result",
    "a prior same-side pick missed by 5+ actual runs",
    "latest-series reversal condition was suppressed"
  ],
  "signals": {
    "predicted_team": "TEX",
    "opponent_team": "WAS",
    "h2h_net_margin": -1,
    "opponent_breakout": false,
    "opponent_blowout_win": true,
    "split_recent_h2h": true,
    "recent_h2h": [
      {
        "date": "2026-08-19",
        "predicted_team_runs": 0,
        "opponent_runs": 6,
        "margin_for_predicted_team": -6,
        "winner": "WAS"
      },
      {
        "date": "2026-08-18",
        "predicted_team_runs": 5,
        "opponent_runs": 0,
        "margin_for_predicted_team": 5,
        "winner": "TEX"
      }
    ],
    "prediction_memory": {
      "available": true,
      "reason": "verified_prior_matchup_predictions_available",
      "verification_policy": "pregame_artifact_matched_to_one_official_final",
      "verified_outcome_count": 2,
      "consecutive_same_pick_count": 1,
      "same_pick_actual_loss_count": 1,
      "same_pick_blowout_loss_count": 1,
      "prior_predictions": [
        {
          "date": "20260819",
          "away": "WAS",
          "home": "TEX",
          "game_number": 1,
          "predicted_team": "TEX",
          "actual_winner": "WAS",
          "actual_margin": 6,
          "raw_pick_probability": 0.556563,
          "artifact": "20260819_WAS@TEX.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260818",
          "away": "WAS",
          "home": "TEX",
          "game_number": 1,
          "predicted_team": "WAS",
          "actual_winner": "TEX",
          "actual_margin": 5,
          "raw_pick_probability": 0.52006,
          "artifact": "20260818_WAS@TEX.json",
          "verification": "pregame_official_final"
        }
      ]
    },
    "guardrail_predicted_team": "TEX",
    "guardrail_opponent_team": "WAS",
    "output_pre_simulation_winner": "WAS",
    "output_opponent_team": "TEX",
    "simulation_score_winner": "WAS",
    "final_score_winner": "WAS",
    "pre_simulation_winner": "WAS",
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false
  },
  "hard_flip_suppressed": true,
  "final_prediction_sync": {
    "pre_simulation_score": {
      "away_runs": 5,
      "home_runs": 4,
      "score_text": "WAS 5 - 4 TEX",
      "winner": "WAS"
    },
    "final_simulation_score": {
      "away_runs": 5,
      "home_runs": 1,
      "score_text": "WAS 5 - 1 TEX",
      "winner": "WAS"
    },
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false,
    "sim_flipped_pre_winner": false,
    "sim_flip_trusted": false,
    "sim_flip_policy": "diagnostic_only_unless_independently_supported",
    "independent_margin_support": false,
    "independent_margin_support_evidence": {
      "pitcher_matchup_edge_home_minus_away": 0.0,
      "recent_form_edge_home_minus_away": -0.504,
      "winner_direction": "away",
      "thresholds": {
        "pitcher_matchup": 0.35,
        "recent_form": 0.75
      }
    },
    "margin_widening_capped": true,
    "simulation_winner_agrees": true,
    "away_run_delta": 0,
    "home_run_delta": -3,
    "total_run_delta": -3,
    "score_source": "simulation_total_with_model_margin_cap",
    "simulation_usage": "same_winner_margin_capped",
    "final_prediction_source": "stable_final_prediction_policy",
    "final_decision_policy": {
      "policy_version": "model_winner_simulation_score_v1",
      "away_runs": 3,
      "home_runs": 2,
      "winner": "WAS",
      "model_winner": "WAS",
      "simulation_winner": "WAS",
      "simulation_winner_agrees": true,
      "simulation_score_enabled": true,
      "independent_margin_support": false,
      "margin_widening_capped": true,
      "model_margin": 1,
      "simulation_margin": 4,
      "simulation_usage": "same_winner_margin_capped",
      "score_source": "simulation_total_with_model_margin_cap",
      "model_score": {
        "away_runs": 5,
        "home_runs": 4
      },
      "simulation_score": {
        "away_runs": 5,
        "home_runs": 1
      }
    },
    "final_margin_quality_review": {
      "review_required": false,
      "pre_margin": 1,
      "final_margin": 4,
      "winner_quality_edge": 0.4405,
      "winner": "WAS",
      "reason": "final margin is directionally supported or within review threshold"
    }
  }
}
Season Quality Guardrail
{
  "applied": false,
  "confidence_cap": null,
  "winner_flipped": false,
  "hard_flip_suppressed": false,
  "policy": "recency_uncertainty_shrinkage_v2",
  "reasons": [],
  "signals": {
    "home": {
      "team": "TEX",
      "games": 126,
      "wins": 62,
      "losses": 64,
      "win_pct": 0.49206349206349204,
      "runs_scored": 512,
      "runs_allowed": 554,
      "run_differential": -42,
      "run_differential_per_game": -0.3333333333333333,
      "available": true
    },
    "away": {
      "team": "WAS",
      "games": 127,
      "wins": 60,
      "losses": 67,
      "win_pct": 0.47244094488188976,
      "runs_scored": 670,
      "runs_allowed": 657,
      "run_differential": 13,
      "run_differential_per_game": 0.10236220472440945,
      "available": true
    }
  }
}
Margin Governor
{
  "applied": false,
  "raw_margin": 0.1,
  "final_margin": 0.1,
  "margin_cap": 1.5,
  "season_quality_edge": 0.4405,
  "reason": "raw target margin within supported range"
}
Confidence Governor
{
  "applied": false,
  "raw_confidence": 0.5069,
  "final_confidence": 0.5069,
  "confidence_cap": 0.66,
  "score_gap": 0.1,
  "calibration_sample_size": 270,
  "calibration_empirical_hit_rate": 0.5037,
  "calibration_bayesian_hit_rate": 0.5035,
  "calibration_sparse_bucket": false,
  "season_quality_edge": 0.4405,
  "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": 5,
    "home_runs": 4,
    "score_text": "WAS 5 - 4 TEX",
    "winner": "WAS"
  },
  "final_simulation_score": {
    "away_runs": 5,
    "home_runs": 1,
    "score_text": "WAS 5 - 1 TEX",
    "winner": "WAS"
  },
  "winner_flipped_by_simulation": false,
  "simulation_would_flip_winner": false,
  "sim_flipped_pre_winner": false,
  "sim_flip_trusted": false,
  "sim_flip_policy": "diagnostic_only_unless_independently_supported",
  "independent_margin_support": false,
  "independent_margin_support_evidence": {
    "pitcher_matchup_edge_home_minus_away": 0.0,
    "recent_form_edge_home_minus_away": -0.504,
    "winner_direction": "away",
    "thresholds": {
      "pitcher_matchup": 0.35,
      "recent_form": 0.75
    }
  },
  "margin_widening_capped": true,
  "simulation_winner_agrees": true,
  "away_run_delta": 0,
  "home_run_delta": -3,
  "total_run_delta": -3,
  "score_source": "simulation_total_with_model_margin_cap",
  "simulation_usage": "same_winner_margin_capped",
  "final_prediction_source": "stable_final_prediction_policy",
  "final_decision_policy": {
    "policy_version": "model_winner_simulation_score_v1",
    "away_runs": 3,
    "home_runs": 2,
    "winner": "WAS",
    "model_winner": "WAS",
    "simulation_winner": "WAS",
    "simulation_winner_agrees": true,
    "simulation_score_enabled": true,
    "independent_margin_support": false,
    "margin_widening_capped": true,
    "model_margin": 1,
    "simulation_margin": 4,
    "simulation_usage": "same_winner_margin_capped",
    "score_source": "simulation_total_with_model_margin_cap",
    "model_score": {
      "away_runs": 5,
      "home_runs": 4
    },
    "simulation_score": {
      "away_runs": 5,
      "home_runs": 1
    }
  },
  "final_margin_quality_review": {
    "review_required": false,
    "pre_margin": 1,
    "final_margin": 4,
    "winner_quality_edge": 0.4405,
    "winner": "WAS",
    "reason": "final margin is directionally supported or within review threshold"
  }
}
Enhanced Prediction Target
{
  "away_runs": 3,
  "home_runs": 2,
  "confidence": 0.51,
  "home_win_probability": 0.49,
  "away_win_probability": 0.51,
  "predicted_score_text": "WAS 3 - 2 TEX",
  "embedded_savant_score_adjustment": {
    "applied": true,
    "source": "all_players_stats.csv embedded temporal Savant features",
    "feature_contract": {
      "training_grain": "one player-game row after collapsing granular at-bat rows",
      "temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
      "hitter_signals": [
        "xwoba",
        "xba",
        "xslg",
        "barrel_batted_rate",
        "hard_hit_percent",
        "bat_speed",
        "launch_quality",
        "walk_rate",
        "strikeout_rate"
      ],
      "pitcher_signals": [
        "xwoba_allowed",
        "barrel_allowed",
        "hard_hit_allowed",
        "whiff_rate",
        "command_score",
        "movement_score",
        "faced_est_woba",
        "faced_strikeout_rate"
      ]
    },
    "away": {
      "team": "WAS",
      "original_runs": 3,
      "run_delta": -0.1904,
      "adjusted_runs": 3,
      "lineup": {
        "players_used": 8,
        "total_weight": 28.0,
        "quality": 0.06820478293849586,
        "contact": 0.33836891852937717,
        "power": 0.4948858274282816,
        "discipline": -0.18831166868108684,
        "xwoba": 0.32967857142857143,
        "recent_xwoba": 0.32967857142857143,
        "barrel": 9.632142857142856,
        "ab_hard_contact": 0.4037233512867185,
        "ab_bat_speed": 70.92770609566465,
        "ab_strikeout_rate": 0.2148751481797964,
        "available_players": 8,
        "top_players": [
          {
            "player_id": "683083",
            "player_name": "Nasim Nuñez",
            "position": "SS",
            "weight": 3.0,
            "quality": -0.9854827972261041,
            "contact": -1.027823885621047,
            "power": -1.5374892817140582,
            "discipline": 0.45033228059713054,
            "xwoba": 0.269,
            "recent_xwoba": 0.269,
            "barrel": 0.4000000000000001,
            "ab_hard_contact": -0.9292142057097411,
            "ab_bat_speed": 65.36474169943207,
            "ab_strikeout_rate": 0.19342507645259938,
            "available": 1.0
          },
          {
            "player_id": "665953",
            "player_name": "Andrés Chaparro",
            "position": "1B",
            "weight": 3.0,
            "quality": 0.5040656662449141,
            "contact": 0.8027865431642666,
            "power": 1.401083426231262,
            "discipline": 0.09530696022433316,
            "xwoba": 0.377,
            "recent_xwoba": 0.377,
            "barrel": 15.3,
            "ab_hard_contact": 0.5412875722442794,
            "ab_bat_speed": 73.18105902777778,
            "ab_strikeout_rate": 0.2767361111111111,
            "available": 1.0
          },
          {
            "player_id": "694673",
            "player_name": "Abimelec Ortiz",
            "position": "DH",
            "weight": 3.0,
            "quality": 0.2532980405677761,
            "contact": 1.362758251993632,
            "power": 1.9105693847068677,
            "discipline": -0.3935997858074128,
            "xwoba": 0.391,
            "recent_xwoba": 0.391,
            "barrel": 16.7,
            "ab_hard_contact": 0.844911503661162,
            "ab_bat_speed": 75.44544444444445,
            "ab_strikeout_rate": 0.16999999999999998,
            "available": 1.0
          },
          {
            "player_id": "691781",
            "player_name": "Brady House",
            "position": "3B",
            "weight": 4.0,
            "quality": 0.41261279171960136,
            "contact": 0.36606841979408516,
            "power": 0.7633700983363693,
            "discipline": -0.8665124842201113,
            "xwoba": 0.331,
            "recent_xwoba": 0.331,
            "barrel": 11.4,
            "ab_hard_contact": 0.9493067286321456,
            "ab_bat_speed": 72.3891017888637,
            "ab_strikeout_rate": 0.2984126984126984,
            "available": 1.0
          },
          {
            "player_id": "686611",
            "player_name": "Dylan Crews",
            "position": "CF",
            "weight": 4.0,
            "quality": 0.2958894193604333,
            "contact": 0.14754847355447792,
            "power": 0.6000630902196283,
            "discipline": -0.5065230662306934,
            "xwoba": 0.319,
            "recent_xwoba": 0.319,
            "barrel": 10.2,
            "ab_hard_contact": 0.6511665662973279,
            "ab_bat_speed": 72.60087731481481,
            "ab_strikeout_rate": 0.2518518518518518,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "594798",
        "player_name": "Jacob deGrom",
        "quality": 0.34179472340421846,
        "contact": 0.0628549972149646,
        "command": 0.7197658730158728,
        "movement": 1.018855443686689,
        "xwoba": 0.297,
        "whiff": 33.4,
        "faced_est_woba": 0.26554733936838626,
        "faced_launch_speed": 83.81281249999999,
        "faced_strikeout_rate": 0.2351851851851852,
        "faced_run_exp": 0.006569135802469128
      }
    },
    "home": {
      "team": "TEX",
      "original_runs": 4,
      "run_delta": 0.11,
      "adjusted_runs": 4,
      "lineup": {
        "players_used": 9,
        "total_weight": 33.0,
        "quality": 0.09147559415236406,
        "contact": -0.19393774980326653,
        "power": 0.09507712474981274,
        "discipline": -0.14386947901138228,
        "xwoba": 0.3006969696969697,
        "recent_xwoba": 0.3006969696969697,
        "barrel": 8.354545454545454,
        "ab_hard_contact": -0.046719425477444655,
        "ab_bat_speed": 69.83211644568765,
        "ab_strikeout_rate": 0.2543411217753979,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "607043",
            "player_name": "Brandon Nimmo",
            "position": "RF",
            "weight": 5.0,
            "quality": 1.0028213753206847,
            "contact": 1.2339976793645795,
            "power": 1.1305766128438488,
            "discipline": 0.02052486405253109,
            "xwoba": 0.364,
            "recent_xwoba": 0.364,
            "barrel": 10.4,
            "ab_hard_contact": 0.4153417806865019,
            "ab_bat_speed": 71.10955265439509,
            "ab_strikeout_rate": 0.20980392156862746,
            "available": 1.0
          },
          {
            "player_id": "608369",
            "player_name": "Corey Seager",
            "position": "SS",
            "weight": 4.0,
            "quality": 0.6574493048763248,
            "contact": 0.35816063807421833,
            "power": 1.1592219871895708,
            "discipline": 0.011345269137641889,
            "xwoba": 0.337,
            "recent_xwoba": 0.337,
            "barrel": 14.8,
            "ab_hard_contact": 0.8861540295056878,
            "ab_bat_speed": 70.40384792429792,
            "ab_strikeout_rate": 0.2507692307692308,
            "available": 1.0
          },
          {
            "player_id": "643376",
            "player_name": "Danny Jansen",
            "position": "C",
            "weight": 3.0,
            "quality": -0.6500969621723341,
            "contact": -1.4679349604605803,
            "power": -0.9183520685582102,
            "discipline": -0.2591919713995985,
            "xwoba": 0.24900000000000003,
            "recent_xwoba": 0.24899999999999997,
            "barrel": 5.8,
            "ab_hard_contact": -0.7544699425927845,
            "ab_bat_speed": 67.74156339031339,
            "ab_strikeout_rate": 0.2927350427350427,
            "available": 1.0
          },
          {
            "player_id": "683227",
            "player_name": "Cody Freeman",
            "position": "3B",
            "weight": 3.0,
            "quality": -0.21979725193404479,
            "contact": -2.0,
            "power": -2.0,
            "discipline": 0.09232878562115845,
            "xwoba": 0.187,
            "recent_xwoba": 0.187,
            "barrel": 0.0,
            "ab_hard_contact": -1.2685954109249276,
            "ab_bat_speed": 62.66247222222222,
            "ab_strikeout_rate": 0.275,
            "available": 1.0
          },
          {
            "player_id": "694497",
            "player_name": "Evan Carter",
            "position": "CF",
            "weight": 3.0,
            "quality": -0.5244593519227911,
            "contact": -0.736938217620881,
            "power": -0.5531389626203966,
            "discipline": 0.14418592847830122,
            "xwoba": 0.286,
            "recent_xwoba": 0.286,
            "barrel": 5.7,
            "ab_hard_contact": -0.8780173476460285,
            "ab_bat_speed": 67.64136982570805,
            "ab_strikeout_rate": 0.25857142857142856,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "674841",
        "player_name": "Andrew Alvarez",
        "quality": -0.13920719503551426,
        "contact": -0.00803764548289257,
        "command": -0.19609126984126996,
        "movement": -0.41218298434176975,
        "xwoba": 0.326,
        "whiff": 26.2,
        "faced_est_woba": 0.26554733936838626,
        "faced_launch_speed": 83.81281249999999,
        "faced_strikeout_rate": 0.2351851851851852,
        "faced_run_exp": 0.006569135802469128
      }
    }
  },
  "fundamental_edge_target_review": {
    "applied": true,
    "method": "post_score_adjustment_fundamental_edge_review_v1",
    "previous_score": {
      "away_runs": 3,
      "home_runs": 4,
      "winner_side": "home"
    },
    "adjusted_score": {
      "away_runs": 5,
      "home_runs": 4,
      "winner_side": "away"
    },
    "signals": {
      "season_quality_edge_home_minus_away": -0.4405,
      "recent_form_edge_home_minus_away": -0.504,
      "pitcher_matchup_edge_home_minus_away": 0.0,
      "composite_home_edge": -0.1883,
      "existing_home_win_probability": 0.505,
      "refreshed_home_win_probability": 0.407,
      "winner_support_before_review": -0.1883
    },
    "reasons": [
      "flipped low-confidence one-run target away from unsupported side"
    ]
  },
  "confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Matchup recency guardrail cap enforced after calibration. Production confidence governor cap enforced.",
  "pre_simulation_target": {
    "away_runs": 5,
    "home_runs": 4,
    "predicted_score_text": "WAS 5 - 4 TEX",
    "confidence": 0.51,
    "source": "enhanced_prediction_before_inning_simulation"
  },
  "score_source": "simulation_total_with_model_margin_cap",
  "final_prediction_synced": true,
  "final_prediction_source": "stable_final_prediction_policy",
  "simulation_usage": "same_winner_margin_capped",
  "simulation_score_matches_prediction": false,
  "simulation_reconciliation": {
    "pre_simulation_score": {
      "away_runs": 5,
      "home_runs": 4,
      "score_text": "WAS 5 - 4 TEX",
      "winner": "WAS"
    },
    "final_simulation_score": {
      "away_runs": 5,
      "home_runs": 1,
      "score_text": "WAS 5 - 1 TEX",
      "winner": "WAS"
    },
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false,
    "sim_flipped_pre_winner": false,
    "sim_flip_trusted": false,
    "sim_flip_policy": "diagnostic_only_unless_independently_supported",
    "independent_margin_support": false,
    "independent_margin_support_evidence": {
      "pitcher_matchup_edge_home_minus_away": 0.0,
      "recent_form_edge_home_minus_away": -0.504,
      "winner_direction": "away",
      "thresholds": {
        "pitcher_matchup": 0.35,
        "recent_form": 0.75
      }
    },
    "margin_widening_capped": true,
    "simulation_winner_agrees": true,
    "away_run_delta": 0,
    "home_run_delta": -3,
    "total_run_delta": -3,
    "score_source": "simulation_total_with_model_margin_cap",
    "simulation_usage": "same_winner_margin_capped",
    "final_prediction_source": "stable_final_prediction_policy",
    "final_decision_policy": {
      "policy_version": "model_winner_simulation_score_v1",
      "away_runs": 3,
      "home_runs": 2,
      "winner": "WAS",
      "model_winner": "WAS",
      "simulation_winner": "WAS",
      "simulation_winner_agrees": true,
      "simulation_score_enabled": true,
      "independent_margin_support": false,
      "margin_widening_capped": true,
      "model_margin": 1,
      "simulation_margin": 4,
      "simulation_usage": "same_winner_margin_capped",
      "score_source": "simulation_total_with_model_margin_cap",
      "model_score": {
        "away_runs": 5,
        "home_runs": 4
      },
      "simulation_score": {
        "away_runs": 5,
        "home_runs": 1
      }
    },
    "final_margin_quality_review": {
      "review_required": false,
      "pre_margin": 1,
      "final_margin": 4,
      "winner_quality_edge": 0.4405,
      "winner": "WAS",
      "reason": "final margin is directionally supported or within review threshold"
    }
  },
  "decision_profile": {
    "method": "priced_decision_profile_v2",
    "winner": "WAS",
    "display_confidence": 0.51,
    "internal_signal_score": 0.558,
    "internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
    "model_pick_probability": 0.51,
    "confidence_compression_detected": false,
    "moneyline_fit": "unavailable_without_market_price",
    "betting_status": "price_required_before_betting_analysis",
    "market_context": null,
    "margin_fit": "volatile_margin_profile",
    "totals_fit": "high_volatility_totals",
    "winner_accuracy_and_margin_accuracy_decoupled": true,
    "signals": {
      "final_margin": 1,
      "winner_quality_edge": 0.4405,
      "winner_recent_form_edge": 0.504,
      "winner_pitcher_matchup_edge": -0.0,
      "winner_simulation_draw_rate": 0.5,
      "blowout_draw_rate_margin_4_plus": 0.5,
      "high_total_draw_rate_11_plus": 0.2,
      "low_total_draw_rate_6_or_less": 0.7,
      "total_runs_spread": {
        "min": 3,
        "median": 6,
        "max": 13,
        "range": 10
      }
    },
    "interpretation": "The internal signal is diagnostic, not a sportsbook fair price. A bet cannot be evaluated without a source-labelled market price; model/market disagreements are a pass until independently validated."
  }
}

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 WASTrue1.02061.02310.888981
Home TEXTrue1.00481.0048190

Away Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
DHAbimelec Ortiz2791.05810.7744neutral0.39100.28000.623016.705092.2012.2020.9022.404.10-0.2000
RFDaylen Lile1711.02770.3698neutral0.31500.25300.42108.503788.5018.6023.90195.600.3429
CFDylan Crews3131.04360.5817positive_batter_regression0.31900.23700.424010.2043.7090.6013.8030.6023.806.800.9429
SSNasim Nuñez1060.9330-0.8933neutral0.26900.22300.27000.4022858.1020.8020.4010.600.0857
LFAndrew Pinckney3371.03740.4993negative_batter_regression0.37600.25200.440011.1055.6095.9011.4023.8021.407.10-1.4286
1BAndrés Chaparro2461.05400.7207neutral0.37700.25000.510015.3049.4089.5014.4031.3022.8011.80-0.3429
CKeibert Ruiz1590.9739-0.3477negative_batter_regression0.28300.24400.36204.7037.4088.5016.8013.5011.604.90-1.2286
3BBrady House3561.05730.7643positive_batter_regression0.33100.26200.445011.4046.5089.308.503328.9060.8857

Home Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
DHWyatt Langford811.00470.0626negative_batter_regression0.30800.23700.39907.8039.3089.7018.1024.5022.807.80-0.8571
LFEzequiel Duran600.9901-0.1321neutral0.29800.24300.37206.3036.3088.5011.802724.407.10-0.7143
1BJake Burger1251.01320.1755neutral0.30200.23100.399010.9046.609013.403426.707.50-0.4000
SSCorey Seager1341.07050.9397neutral0.33700.23300.453014.8047.2091.4012.6034.1024.8012.100.7714
2BJustin Foscue2621.01520.2030neutral0.31900.23500.42601040.9088.9018.7020.4025.607.70-0.7143
RFBrandon Nimmo1111.10191.3582neutral0.36400.28800.488010.4051.5092.3011.1021.9021.407.800.8000
CDanny Jansen3220.9487-0.6838neutral0.24900.16500.26705.8032.6087.2022.8026.1028.808.90-0.3429
3BCody Freeman4800.9269-0.9746negative_batter_regression0.18700.13800.156001581.401724.5023.3010-2
CFEvan Carter1230.9716-0.3784neutral0.28600.20200.32505.703687.8017.8028.7024.1011.600.0857
Raw Savant Batter Quality JSON
{
  "home": {
    "applied": true,
    "offense_factor": 1.0048,
    "raw_average_factor": 1.0048,
    "team_espn_average_rank": 188.67,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "DH",
        "player_id": "694671",
        "player_name": "Wyatt Langford",
        "offense_factor": 1.0047,
        "quality_score": 0.0626,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "694671",
          "espn_id": 4719324,
          "player_name": "Wyatt Langford",
          "team": "TEX",
          "role": "batter",
          "espn_rank": 81,
          "espn_total_ranked": 642,
          "metrics": {
            "espn_rank": 81,
            "gp_value": 75.0,
            "gp_rank": 267,
            "ab_value": 292.0,
            "ab_rank": 197,
            "r_value": 44.0,
            "r_rank": 157,
            "h_value": 74.0,
            "h_rank": 178,
            "avg_value": 0.2534246,
            "avg_rank": null,
            "2b_value": 14.0,
            "2b_rank": 178,
            "3b_value": 2.0,
            "3b_rank": 61,
            "hr_value": 14.0,
            "hr_rank": 107,
            "rbi_value": 33.0,
            "rbi_rank": 215,
            "tb_value": 134.0,
            "tb_rank": 799,
            "bb_value": 25.0,
            "bb_rank": 207,
            "so_value": 73.0,
            "so_rank": 168,
            "sb_value": 9.0,
            "sb_rank": 85,
            "obp_value": 0.31875,
            "obp_rank": "-",
            "slg_value": 0.4589041,
            "slg_rank": "-",
            "ops_value": 0.7776541,
            "ops_rank": null,
            "war_value": 2.3,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 316.0,
          "k_percent": 22.8,
          "bb_percent": 7.8,
          "woba": 0.338,
          "xwoba": 0.308,
          "xba": 0.237,
          "xslg": 0.399,
          "sweet_spot_percent": 32.0,
          "barrel_batted_rate": 7.8,
          "hard_hit_percent": 39.3,
          "exit_velocity_avg": 89.7,
          "launch_angle_avg": 18.1,
          "whiff_percent": 24.5,
          "swing_percent": 48.9
        },
        "components": {
          "expected_quality": 0.2123,
          "regression_edge": -0.8571,
          "xwoba_edge": 0.1714,
          "xba_edge": 0.0,
          "xslg_edge": 0.4429,
          "barrel_edge": 0.2222,
          "hard_hit_edge": 0.2357,
          "exit_velocity_edge": 0.44,
          "sweet_spot_edge": -0.2167,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "LF",
        "player_id": "677649",
        "player_name": "Ezequiel Duran",
        "offense_factor": 0.9901,
        "quality_score": -0.1321,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "677649",
          "espn_id": 42457,
          "player_name": "Ezequiel Duran",
          "team": "TEX",
          "role": "batter",
          "espn_rank": 60,
          "espn_total_ranked": 642,
          "metrics": {
            "espn_rank": 60,
            "gp_value": 118.0,
            "gp_rank": 84,
            "ab_value": 410.0,
            "ab_rank": 95,
            "r_value": 55.0,
            "r_rank": 101,
            "h_value": 107.0,
            "h_rank": 85,
            "avg_value": 0.2609756,
            "avg_rank": 64.0,
            "2b_value": 23.0,
            "2b_rank": 49,
            "3b_value": 3.0,
            "3b_rank": 26,
            "hr_value": 13.0,
            "hr_rank": 118,
            "rbi_value": 64.0,
            "rbi_rank": 49,
            "tb_value": 175.0,
            "tb_rank": 540,
            "bb_value": 32.0,
            "bb_rank": 162,
            "so_value": 110.0,
            "so_rank": 60,
            "sb_value": 9.0,
            "sb_rank": 85,
            "obp_value": 0.3155555,
            "obp_rank": "103",
            "slg_value": 0.4268292,
            "slg_rank": "71",
            "ops_value": 0.7423847,
            "ops_rank": 174.0,
            "war_value": 2.8,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 436.0,
          "k_percent": 24.4,
          "bb_percent": 7.1,
          "woba": 0.323,
          "xwoba": 0.298,
          "xba": 0.243,
          "xslg": 0.372,
          "sweet_spot_percent": 35.6,
          "barrel_batted_rate": 6.3,
          "hard_hit_percent": 36.3,
          "exit_velocity_avg": 88.5,
          "launch_angle_avg": 11.8,
          "whiff_percent": 27.0,
          "swing_percent": 51.4
        },
        "components": {
          "expected_quality": -0.0373,
          "regression_edge": -0.7143,
          "xwoba_edge": -0.1143,
          "xba_edge": 0.1714,
          "xslg_edge": 0.0571,
          "barrel_edge": -0.1111,
          "hard_hit_edge": -0.1929,
          "exit_velocity_edge": -0.04,
          "sweet_spot_edge": 0.3833,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "1B",
        "player_id": "669394",
        "player_name": "Jake Burger",
        "offense_factor": 1.0132,
        "quality_score": 0.1755,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "669394",
          "espn_id": 39882,
          "player_name": "Jake Burger",
          "team": "TEX",
          "role": "batter",
          "espn_rank": 125,
          "espn_total_ranked": 642,
          "metrics": {
            "espn_rank": 125,
            "gp_value": 120.0,
            "gp_rank": 65,
            "ab_value": 439.0,
            "ab_rank": 74,
            "r_value": 52.0,
            "r_rank": 114,
            "h_value": 105.0,
            "h_rank": 90,
            "avg_value": 0.2391799,
            "avg_rank": 109.0,
            "2b_value": 18.0,
            "2b_rank": 115,
            "3b_value": 0.0,
            "3b_rank": 271,
            "hr_value": 21.0,
            "hr_rank": 34,
            "rbi_value": 73.0,
            "rbi_rank": 22,
            "tb_value": 186.0,
            "tb_rank": 849,
            "bb_value": 36.0,
            "bb_rank": 126,
            "so_value": 128.0,
            "so_rank": 29,
            "sb_value": 2.0,
            "sb_rank": 255,
            "obp_value": 0.3,
            "obp_rank": "129",
            "slg_value": 0.4236902,
            "slg_rank": "74",
            "ops_value": 0.7236902,
            "ops_rank": 203.0,
            "war_value": 1.65,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 466.0,
          "k_percent": 26.7,
          "bb_percent": 7.5,
          "woba": 0.316,
          "xwoba": 0.302,
          "xba": 0.231,
          "xslg": 0.399,
          "sweet_spot_percent": 29.7,
          "barrel_batted_rate": 10.9,
          "hard_hit_percent": 46.6,
          "exit_velocity_avg": 90.0,
          "launch_angle_avg": 13.4,
          "whiff_percent": 34.0,
          "swing_percent": 50.4
        },
        "components": {
          "expected_quality": 0.2692,
          "regression_edge": -0.4,
          "xwoba_edge": 0.0,
          "xba_edge": -0.1714,
          "xslg_edge": 0.4429,
          "barrel_edge": 0.9111,
          "hard_hit_edge": 1.2786,
          "exit_velocity_edge": 0.56,
          "sweet_spot_edge": -0.6,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "SS",
        "player_id": "608369",
        "player_name": "Corey Seager",
        "offense_factor": 1.0705,
        "quality_score": 0.9397,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "608369",
          "espn_id": 32691,
          "player_name": "Corey Seager",
          "team": "TEX",
          "role": "batter",
          "espn_rank": 134,
          "espn_total_ranked": 642,
          "metrics": {
            "espn_rank": 134,
            "gp_value": 67.0,
            "gp_rank": 310,
            "ab_value": 244.0,
            "ab_rank": 243,
            "r_value": 37.0,
            "r_rank": 192,
            "h_value": 52.0,
            "h_rank": 260,
            "avg_value": 0.2131147,
            "avg_rank": null,
            "2b_value": 9.0,
            "2b_rank": 267,
            "3b_value": 0.0,
            "3b_rank": 271,
            "hr_value": 12.0,
            "hr_rank": 135,
            "rbi_value": 30.0,
            "rbi_rank": 235,
            "tb_value": 97.0,
            "tb_rank": 1474,
            "bb_value": 34.0,
            "bb_rank": 144,
            "so_value": 70.0,
            "so_rank": 186,
            "sb_value": 1.0,
            "sb_rank": 312,
            "obp_value": 0.3120567,
            "obp_rank": "-",
            "slg_value": 0.3975409,
            "slg_rank": "-",
            "ops_value": 0.7095976,
            "ops_rank": null,
            "war_value": 1.56,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 275.0,
          "k_percent": 24.8,
          "bb_percent": 12.1,
          "woba": 0.31,
          "xwoba": 0.337,
          "xba": 0.233,
          "xslg": 0.453,
          "sweet_spot_percent": 33.0,
          "barrel_batted_rate": 14.8,
          "hard_hit_percent": 47.2,
          "exit_velocity_avg": 91.4,
          "launch_angle_avg": 12.6,
          "whiff_percent": 34.1,
          "swing_percent": 51.8
        },
        "components": {
          "expected_quality": 0.9671,
          "regression_edge": 0.7714,
          "xwoba_edge": 1.0,
          "xba_edge": -0.1143,
          "xslg_edge": 1.2143,
          "barrel_edge": 1.7778,
          "hard_hit_edge": 1.3643,
          "exit_velocity_edge": 1.12,
          "sweet_spot_edge": -0.05,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "2B",
        "player_id": "679822",
        "player_name": "Justin Foscue",
        "offense_factor": 1.0152,
        "quality_score": 0.203,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "679822",
          "espn_id": 4298639,
          "player_name": "Justin Foscue",
          "team": "TEX",
          "role": "batter",
          "espn_rank": 262,
          "espn_total_ranked": 642,
          "metrics": {
            "espn_rank": 262,
            "gp_value": 70.0,
            "gp_rank": 295,
            "ab_value": 152.0,
            "ab_rank": 347,
            "r_value": 17.0,
            "r_rank": 356,
            "h_value": 39.0,
            "h_rank": 319,
            "avg_value": 0.2565789,
            "avg_rank": null,
            "2b_value": 7.0,
            "2b_rank": 305,
            "3b_value": 1.0,
            "3b_rank": 122,
            "hr_value": 8.0,
            "hr_rank": 199,
            "rbi_value": 23.0,
            "rbi_rank": 285,
            "tb_value": 72.0,
            "tb_rank": 1465,
            "bb_value": 13.0,
            "bb_rank": 337,
            "so_value": 43.0,
            "so_rank": 315,
            "sb_value": 0.0,
            "sb_rank": 417,
            "obp_value": 0.3214285,
            "obp_rank": "-",
            "slg_value": 0.4736842,
            "slg_rank": "-",
            "ops_value": 0.7951127,
            "ops_rank": null,
            "war_value": 0.56,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 155.0,
          "k_percent": 25.6,
          "bb_percent": 7.7,
          "woba": 0.344,
          "xwoba": 0.319,
          "xba": 0.235,
          "xslg": 0.426,
          "sweet_spot_percent": 35.5,
          "barrel_batted_rate": 10.0,
          "hard_hit_percent": 40.9,
          "exit_velocity_avg": 88.9,
          "launch_angle_avg": 18.7,
          "whiff_percent": 20.4,
          "swing_percent": 43.2
        },
        "components": {
          "expected_quality": 0.4514,
          "regression_edge": -0.7143,
          "xwoba_edge": 0.4857,
          "xba_edge": -0.0571,
          "xslg_edge": 0.8286,
          "barrel_edge": 0.7111,
          "hard_hit_edge": 0.4643,
          "exit_velocity_edge": 0.12,
          "sweet_spot_edge": 0.3667,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "RF",
        "player_id": "607043",
        "player_name": "Brandon Nimmo",
        "offense_factor": 1.1019,
        "quality_score": 1.3582,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "607043",
          "espn_id": 32159,
          "player_name": "Brandon Nimmo",
          "team": "TEX",
          "role": "batter",
          "espn_rank": 111,
          "espn_total_ranked": 642,
          "metrics": {
            "espn_rank": 111,
            "gp_value": 121.0,
            "gp_rank": 58,
            "ab_value": 462.0,
            "ab_rank": 42,
            "r_value": 52.0,
            "r_rank": 114,
            "h_value": 125.0,
            "h_rank": 29,
            "avg_value": 0.2705627,
            "avg_rank": 43.0,
            "2b_value": 28.0,
            "2b_rank": 9,
            "3b_value": 4.0,
            "3b_rank": 15,
            "hr_value": 13.0,
            "hr_rank": 118,
            "rbi_value": 48.0,
            "rbi_rank": 118,
            "tb_value": 200.0,
            "tb_rank": 422,
            "bb_value": 40.0,
            "bb_rank": 102,
            "so_value": 109.0,
            "so_rank": 61,
            "sb_value": 6.0,
            "sb_rank": 139,
            "obp_value": 0.3352941,
            "obp_rank": "68",
            "slg_value": 0.4329004,
            "slg_rank": "68",
            "ops_value": 0.7681945,
            "ops_rank": 136.0,
            "war_value": 1.81,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 500.0,
          "k_percent": 21.4,
          "bb_percent": 7.8,
          "woba": 0.336,
          "xwoba": 0.364,
          "xba": 0.288,
          "xslg": 0.488,
          "sweet_spot_percent": 35.8,
          "barrel_batted_rate": 10.4,
          "hard_hit_percent": 51.5,
          "exit_velocity_avg": 92.3,
          "launch_angle_avg": 11.1,
          "whiff_percent": 21.9,
          "swing_percent": 50.8
        },
        "components": {
          "expected_quality": 1.4491,
          "regression_edge": 0.8,
          "xwoba_edge": 1.7714,
          "xba_edge": 1.4571,
          "xslg_edge": 1.7143,
          "barrel_edge": 0.8,
          "hard_hit_edge": 1.9786,
          "exit_velocity_edge": 1.48,
          "sweet_spot_edge": 0.4167,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "C",
        "player_id": "643376",
        "player_name": "Danny Jansen",
        "offense_factor": 0.9487,
        "quality_score": -0.6838,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "643376",
          "espn_id": 35004,
          "player_name": "Danny Jansen",
          "team": "TEX",
          "role": "batter",
          "espn_rank": 322,
          "espn_total_ranked": 642,
          "metrics": {
            "espn_rank": 322,
            "gp_value": 42.0,
            "gp_rank": 398,
            "ab_value": 127.0,
            "ab_rank": 376,
            "r_value": 11.0,
            "r_rank": 411,
            "h_value": 21.0,
            "h_rank": 412,
            "avg_value": 0.1653543,
            "avg_rank": null,
            "2b_value": 6.0,
            "2b_rank": 331,
            "3b_value": 1.0,
            "3b_rank": 122,
            "hr_value": 3.0,
            "hr_rank": 347,
            "rbi_value": 12.0,
            "rbi_rank": 379,
            "tb_value": 38.0,
            "tb_rank": 2028,
            "bb_value": 13.0,
            "bb_rank": 337,
            "so_value": 42.0,
            "so_rank": 323,
            "sb_value": 1.0,
            "sb_rank": 312,
            "obp_value": 0.2689655,
            "obp_rank": "-",
            "slg_value": 0.2992125,
            "slg_rank": "-",
            "ops_value": 0.568178,
            "ops_rank": null,
            "war_value": 0.25,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 138.0,
          "k_percent": 28.8,
          "bb_percent": 8.9,
          "woba": 0.261,
          "xwoba": 0.249,
          "xba": 0.165,
          "xslg": 0.267,
          "sweet_spot_percent": 22.1,
          "barrel_batted_rate": 5.8,
          "hard_hit_percent": 32.6,
          "exit_velocity_avg": 87.2,
          "launch_angle_avg": 22.8,
          "whiff_percent": 26.1,
          "swing_percent": 44.7
        },
        "components": {
          "expected_quality": -1.2117,
          "regression_edge": -0.3429,
          "xwoba_edge": -1.5143,
          "xba_edge": -2.0571,
          "xslg_edge": -1.4429,
          "barrel_edge": -0.2222,
          "hard_hit_edge": -0.7214,
          "exit_velocity_edge": -0.56,
          "sweet_spot_edge": -1.8667,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "3B",
        "player_id": "683227",
        "player_name": "Cody Freeman",
        "offense_factor": 0.9269,
        "quality_score": -0.9746,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "683227",
          "espn_id": 42925,
          "player_name": "Cody Freeman",
          "team": "TEX",
          "role": "batter",
          "espn_rank": 480,
          "espn_total_ranked": 642,
          "metrics": {
            "espn_rank": 480,
            "gp_value": 11.0,
            "gp_rank": 555,
            "ab_value": 26.0,
            "ab_rank": 547,
            "r_value": 1.0,
            "r_rank": 568,
            "h_value": 7.0,
            "h_rank": 516,
            "avg_value": 0.2692307,
            "avg_rank": null,
            "2b_value": 0.0,
            "2b_rank": 556,
            "3b_value": 0.0,
            "3b_rank": 271,
            "hr_value": 0.0,
            "hr_rank": 515,
            "rbi_value": 1.0,
            "rbi_rank": 564,
            "tb_value": 7.0,
            "tb_rank": 3159,
            "bb_value": 3.0,
            "bb_rank": 483,
            "so_value": 7.0,
            "so_rank": 551,
            "sb_value": 0.0,
            "sb_rank": 417,
            "obp_value": 0.3448275,
            "obp_rank": "-",
            "slg_value": 0.2692307,
            "slg_rank": "-",
            "ops_value": 0.6140582,
            "ops_rank": null,
            "war_value": -0.13,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 28.0,
          "k_percent": 23.3,
          "bb_percent": 10.0,
          "woba": 0.287,
          "xwoba": 0.187,
          "xba": 0.138,
          "xslg": 0.156,
          "sweet_spot_percent": 20.0,
          "barrel_batted_rate": 0.0,
          "hard_hit_percent": 15.0,
          "exit_velocity_avg": 81.4,
          "launch_angle_avg": 17.0,
          "whiff_percent": 24.5,
          "swing_percent": 43.4
        },
        "components": {
          "expected_quality": -2.1928,
          "regression_edge": -2.0,
          "xwoba_edge": -2.5,
          "xba_edge": -2.5,
          "xslg_edge": -2.5,
          "barrel_edge": -1.5111,
          "hard_hit_edge": -2.5,
          "exit_velocity_edge": -2.5,
          "sweet_spot_edge": -2.2167,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "CF",
        "player_id": "694497",
        "player_name": "Evan Carter",
        "offense_factor": 0.9716,
        "quality_score": -0.3784,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "694497",
          "espn_id": 4917921,
          "player_name": "Evan Carter",
          "team": "TEX",
          "role": "batter",
          "espn_rank": 123,
          "espn_total_ranked": 642,
          "metrics": {
            "espn_rank": 123,
            "gp_value": 108.0,
            "gp_rank": 136,
            "ab_value": 307.0,
            "ab_rank": 181,
            "r_value": 41.0,
            "r_rank": 172,
            "h_value": 60.0,
            "h_rank": 236,
            "avg_value": 0.1954397,
            "avg_rank": null,
            "2b_value": 11.0,
            "2b_rank": 229,
            "3b_value": 2.0,
            "3b_rank": 61,
            "hr_value": 8.0,
            "hr_rank": 199,
            "rbi_value": 31.0,
            "rbi_rank": 227,
            "tb_value": 99.0,
            "tb_rank": 1184,
            "bb_value": 42.0,
            "bb_rank": 89,
            "so_value": 87.0,
            "so_rank": 118,
            "sb_value": 14.0,
            "sb_rank": 51,
            "obp_value": 0.299435,
            "obp_rank": "-",
            "slg_value": 0.3224755,
            "slg_rank": "-",
            "ops_value": 0.6219105,
            "ops_rank": null,
            "war_value": 1.68,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 348.0,
          "k_percent": 24.1,
          "bb_percent": 11.6,
          "woba": 0.283,
          "xwoba": 0.286,
          "xba": 0.202,
          "xslg": 0.325,
          "sweet_spot_percent": 29.4,
          "barrel_batted_rate": 5.7,
          "hard_hit_percent": 36.0,
          "exit_velocity_avg": 87.8,
          "launch_angle_avg": 17.8,
          "whiff_percent": 28.7,
          "swing_percent": 40.2
        },
        "components": {
          "expected_quality": -0.454,
          "regression_edge": 0.0857,
          "xwoba_edge": -0.4571,
          "xba_edge": -1.0,
          "xslg_edge": -0.6143,
          "barrel_edge": -0.2444,
          "hard_hit_edge": -0.2357,
          "exit_velocity_edge": -0.32,
          "sweet_spot_edge": -0.65,
          "launch_angle_hr_bonus": 0.0
        }
      }
    ],
    "source": "all_players_stats.csv embedded Savant batter features"
  },
  "away": {
    "applied": true,
    "offense_factor": 1.0206,
    "raw_average_factor": 1.0231,
    "team_espn_average_rank": 245.88,
    "coverage_weight": 0.8889,
    "covered_batters": 8,
    "missing_batters": 1,
    "players": [
      {
        "position": "DH",
        "player_id": "694673",
        "player_name": "Abimelec Ortiz",
        "offense_factor": 1.0581,
        "quality_score": 0.7744,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "694673",
          "espn_id": 5194635,
          "player_name": "Abimelec Ortiz",
          "team": "WSH",
          "role": "batter",
          "espn_rank": 279,
          "espn_total_ranked": 642,
          "metrics": {
            "espn_rank": 279,
            "gp_value": 16.0,
            "gp_rank": 510,
            "ab_value": 47.0,
            "ab_rank": 496,
            "r_value": 7.0,
            "r_rank": 457,
            "h_value": 13.0,
            "h_rank": 463,
            "avg_value": 0.2765957,
            "avg_rank": null,
            "2b_value": 2.0,
            "2b_rank": 460,
            "3b_value": 0.0,
            "3b_rank": 271,
            "hr_value": 5.0,
            "hr_rank": 281,
            "rbi_value": 9.0,
            "rbi_rank": 424,
            "tb_value": 30.0,
            "tb_rank": 2308,
            "bb_value": 2.0,
            "bb_rank": 506,
            "so_value": 11.0,
            "so_rank": 508,
            "sb_value": 0.0,
            "sb_rank": 417,
            "obp_value": 0.3061224,
            "obp_rank": "-",
            "slg_value": 0.6382978,
            "slg_rank": "-",
            "ops_value": 0.9444202,
            "ops_rank": null,
            "war_value": 0.47,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 44.0,
          "k_percent": 22.4,
          "bb_percent": 4.1,
          "woba": 0.398,
          "xwoba": 0.391,
          "xba": 0.28,
          "xslg": 0.623,
          "sweet_spot_percent": 47.2,
          "barrel_batted_rate": 16.7,
          "hard_hit_percent": 50.0,
          "exit_velocity_avg": 92.2,
          "launch_angle_avg": 12.2,
          "whiff_percent": 20.9,
          "swing_percent": 50.5
        },
        "components": {
          "expected_quality": 2.0335,
          "regression_edge": -0.2,
          "xwoba_edge": 2.5,
          "xba_edge": 1.2286,
          "xslg_edge": 2.5,
          "barrel_edge": 2.2,
          "hard_hit_edge": 1.7643,
          "exit_velocity_edge": 1.44,
          "sweet_spot_edge": 2.3167,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "RF",
        "player_id": "695734",
        "player_name": "Daylen Lile",
        "offense_factor": 1.0277,
        "quality_score": 0.3698,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "695734",
          "espn_id": 4917889,
          "player_name": "Daylen Lile",
          "team": "WSH",
          "role": "batter",
          "espn_rank": 171,
          "espn_total_ranked": 642,
          "metrics": {
            "espn_rank": 171,
            "gp_value": 126.0,
            "gp_rank": 14,
            "ab_value": 482.0,
            "ab_rank": 17,
            "r_value": 62.0,
            "r_rank": 63,
            "h_value": 117.0,
            "h_rank": 46,
            "avg_value": 0.2427385,
            "avg_rank": 99.0,
            "2b_value": 23.0,
            "2b_rank": 49,
            "3b_value": 5.0,
            "3b_rank": 11,
            "hr_value": 15.0,
            "hr_rank": 95,
            "rbi_value": 65.0,
            "rbi_rank": 47,
            "tb_value": 195.0,
            "tb_rank": 402,
            "bb_value": 29.0,
            "bb_rank": 180,
            "so_value": 99.0,
            "so_rank": 85,
            "sb_value": 12.0,
            "sb_rank": 58,
            "obp_value": 0.2917466,
            "obp_rank": "140",
            "slg_value": 0.4045643,
            "slg_rank": "95",
            "ops_value": 0.6963109,
            "ops_rank": 45.0,
            "war_value": 1.24,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 509.0,
          "k_percent": 19.0,
          "bb_percent": 5.6,
          "woba": 0.303,
          "xwoba": 0.315,
          "xba": 0.253,
          "xslg": 0.421,
          "sweet_spot_percent": 37.5,
          "barrel_batted_rate": 8.5,
          "hard_hit_percent": 37.0,
          "exit_velocity_avg": 88.5,
          "launch_angle_avg": 18.6,
          "whiff_percent": 23.9,
          "swing_percent": 56.0
        },
        "components": {
          "expected_quality": 0.3742,
          "regression_edge": 0.3429,
          "xwoba_edge": 0.3714,
          "xba_edge": 0.4571,
          "xslg_edge": 0.7571,
          "barrel_edge": 0.3778,
          "hard_hit_edge": -0.0929,
          "exit_velocity_edge": -0.04,
          "sweet_spot_edge": 0.7,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "CF",
        "player_id": "686611",
        "player_name": "Dylan Crews",
        "offense_factor": 1.0436,
        "quality_score": 0.5817,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "686611",
          "espn_id": 4719511,
          "player_name": "Dylan Crews",
          "team": "WSH",
          "role": "batter",
          "espn_rank": 313,
          "espn_total_ranked": 642,
          "metrics": {
            "espn_rank": 313,
            "gp_value": 76.0,
            "gp_rank": 263,
            "ab_value": 279.0,
            "ab_rank": 209,
            "r_value": 40.0,
            "r_rank": 177,
            "h_value": 59.0,
            "h_rank": 238,
            "avg_value": 0.2114695,
            "avg_rank": null,
            "2b_value": 11.0,
            "2b_rank": 229,
            "3b_value": 0.0,
            "3b_rank": 271,
            "hr_value": 10.0,
            "hr_rank": 160,
            "rbi_value": 27.0,
            "rbi_rank": 263,
            "tb_value": 100.0,
            "tb_rank": 1489,
            "bb_value": 21.0,
            "bb_rank": 243,
            "so_value": 73.0,
            "so_rank": 168,
            "sb_value": 8.0,
            "sb_rank": 101,
            "obp_value": 0.2833876,
            "obp_rank": "-",
            "slg_value": 0.3584229,
            "slg_rank": "-",
            "ops_value": 0.6418105,
            "ops_rank": null,
            "war_value": 0.28,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 300.0,
          "k_percent": 23.8,
          "bb_percent": 6.8,
          "woba": 0.286,
          "xwoba": 0.319,
          "xba": 0.237,
          "xslg": 0.424,
          "sweet_spot_percent": 34.5,
          "barrel_batted_rate": 10.2,
          "hard_hit_percent": 43.7,
          "exit_velocity_avg": 90.6,
          "launch_angle_avg": 13.8,
          "whiff_percent": 30.6,
          "swing_percent": 51.7
        },
        "components": {
          "expected_quality": 0.5229,
          "regression_edge": 0.9429,
          "xwoba_edge": 0.4857,
          "xba_edge": 0.0,
          "xslg_edge": 0.8,
          "barrel_edge": 0.7556,
          "hard_hit_edge": 0.8643,
          "exit_velocity_edge": 0.8,
          "sweet_spot_edge": 0.2,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "SS",
        "player_id": "683083",
        "player_name": "Nasim Nuñez",
        "offense_factor": 0.933,
        "quality_score": -0.8933,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "683083",
          "espn_id": 4728688,
          "player_name": "Nasim Nunez",
          "team": "WSH",
          "role": "batter",
          "espn_rank": 106,
          "espn_total_ranked": 642,
          "metrics": {
            "espn_rank": 106,
            "gp_value": 117.0,
            "gp_rank": 95,
            "ab_value": 363.0,
            "ab_rank": 129,
            "r_value": 46.0,
            "r_rank": 142,
            "h_value": 82.0,
            "h_rank": 151,
            "avg_value": 0.2258953,
            "avg_rank": 127.0,
            "2b_value": 4.0,
            "2b_rank": 390,
            "3b_value": 3.0,
            "3b_rank": 26,
            "hr_value": 1.0,
            "hr_rank": 444,
            "rbi_value": 34.0,
            "rbi_rank": 209,
            "tb_value": 95.0,
            "tb_rank": 1925,
            "bb_value": 44.0,
            "bb_rank": 83,
            "so_value": 85.0,
            "so_rank": 129,
            "sb_value": 40.0,
            "sb_rank": 1,
            "obp_value": 0.309756,
            "obp_rank": "114",
            "slg_value": 0.2617079,
            "slg_rank": "153",
            "ops_value": 0.5714639,
            "ops_rank": 39.0,
            "war_value": 1.94,
            "war_rank": 1.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 400.0,
          "k_percent": 20.4,
          "bb_percent": 10.6,
          "woba": 0.266,
          "xwoba": 0.269,
          "xba": 0.223,
          "xslg": 0.27,
          "sweet_spot_percent": 29.4,
          "barrel_batted_rate": 0.4,
          "hard_hit_percent": 22.0,
          "exit_velocity_avg": 85.0,
          "launch_angle_avg": 8.1,
          "whiff_percent": 20.8,
          "swing_percent": 46.9
        },
        "components": {
          "expected_quality": -1.0526,
          "regression_edge": 0.0857,
          "xwoba_edge": -0.9429,
          "xba_edge": -0.4,
          "xslg_edge": -1.4,
          "barrel_edge": -1.4222,
          "hard_hit_edge": -2.2357,
          "exit_velocity_edge": -1.44,
          "sweet_spot_edge": -0.65,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "LF",
        "player_id": "687605",
        "player_name": "Andrew Pinckney",
        "offense_factor": 1.0374,
        "quality_score": 0.4993,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "687605",
          "espn_id": 5201571,
          "player_name": "Andrew Pinckney",
          "team": "WSH",
          "role": "batter",
          "espn_rank": 337,
          "espn_total_ranked": 642,
          "metrics": {
            "espn_rank": 337,
            "gp_value": 8.0,
            "gp_rank": 576,
            "ab_value": 11.0,
            "ab_rank": 592,
            "r_value": 5.0,
            "r_rank": 484,
            "h_value": 3.0,
            "h_rank": 563,
            "avg_value": 0.2727272,
            "avg_rank": null,
            "2b_value": 0.0,
            "2b_rank": 556,
            "3b_value": 1.0,
            "3b_rank": 122,
            "hr_value": 1.0,
            "hr_rank": 444,
            "rbi_value": 2.0,
            "rbi_rank": 534,
            "tb_value": 8.0,
            "tb_rank": 2695,
            "bb_value": 1.0,
            "bb_rank": 539,
            "so_value": 3.0,
            "so_rank": 589,
            "sb_value": 1.0,
            "sb_rank": 312,
            "obp_value": 0.3571428,
            "obp_rank": "-",
            "slg_value": 0.7272727,
            "slg_rank": "-",
            "ops_value": 1.0844156,
            "ops_rank": null,
            "war_value": 0.2,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 13.0,
          "k_percent": 21.4,
          "bb_percent": 7.1,
          "woba": 0.426,
          "xwoba": 0.376,
          "xba": 0.252,
          "xslg": 0.44,
          "sweet_spot_percent": 44.4,
          "barrel_batted_rate": 11.1,
          "hard_hit_percent": 55.6,
          "exit_velocity_avg": 95.9,
          "launch_angle_avg": 11.4,
          "whiff_percent": 23.8,
          "swing_percent": 42.0
        },
        "components": {
          "expected_quality": 1.5228,
          "regression_edge": -1.4286,
          "xwoba_edge": 2.1143,
          "xba_edge": 0.4286,
          "xslg_edge": 1.0286,
          "barrel_edge": 0.9556,
          "hard_hit_edge": 2.5,
          "exit_velocity_edge": 2.5,
          "sweet_spot_edge": 1.85,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "1B",
        "player_id": "665953",
        "player_name": "Andrés Chaparro",
        "offense_factor": 1.054,
        "quality_score": 0.7207,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "665953",
          "espn_id": 42949,
          "player_name": "Andres Chaparro",
          "team": "WSH",
          "role": "batter",
          "espn_rank": 246,
          "espn_total_ranked": 642,
          "metrics": {
            "espn_rank": 246,
            "gp_value": 56.0,
            "gp_rank": 348,
            "ab_value": 116.0,
            "ab_rank": 389,
            "r_value": 26.0,
            "r_rank": 268,
            "h_value": 29.0,
            "h_rank": 375,
            "avg_value": 0.25,
            "avg_rank": null,
            "2b_value": 10.0,
            "2b_rank": 247,
            "3b_value": 0.0,
            "3b_rank": 271,
            "hr_value": 8.0,
            "hr_rank": 199,
            "rbi_value": 32.0,
            "rbi_rank": 219,
            "tb_value": 63.0,
            "tb_rank": 1761,
            "bb_value": 16.0,
            "bb_rank": 301,
            "so_value": 31.0,
            "so_rank": 380,
            "sb_value": 0.0,
            "sb_rank": 417,
            "obp_value": 0.3602941,
            "obp_rank": "-",
            "slg_value": 0.5431034,
            "slg_rank": "-",
            "ops_value": 0.9033975,
            "ops_rank": null,
            "war_value": 0.64,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 126.0,
          "k_percent": 22.8,
          "bb_percent": 11.8,
          "woba": 0.389,
          "xwoba": 0.377,
          "xba": 0.25,
          "xslg": 0.51,
          "sweet_spot_percent": 29.4,
          "barrel_batted_rate": 15.3,
          "hard_hit_percent": 49.4,
          "exit_velocity_avg": 89.5,
          "launch_angle_avg": 14.4,
          "whiff_percent": 31.3,
          "swing_percent": 46.4
        },
        "components": {
          "expected_quality": 1.519,
          "regression_edge": -0.3429,
          "xwoba_edge": 2.1429,
          "xba_edge": 0.3714,
          "xslg_edge": 2.0286,
          "barrel_edge": 1.8889,
          "hard_hit_edge": 1.6786,
          "exit_velocity_edge": 0.36,
          "sweet_spot_edge": -0.65,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "C",
        "player_id": "660688",
        "player_name": "Keibert Ruiz",
        "offense_factor": 0.9739,
        "quality_score": -0.3477,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "660688",
          "espn_id": 38827,
          "player_name": "Keibert Ruiz",
          "team": "WSH",
          "role": "batter",
          "espn_rank": 159,
          "espn_total_ranked": 642,
          "metrics": {
            "espn_rank": 159,
            "gp_value": 82.0,
            "gp_rank": 243,
            "ab_value": 265.0,
            "ab_rank": 220,
            "r_value": 37.0,
            "r_rank": 192,
            "h_value": 74.0,
            "h_rank": 178,
            "avg_value": 0.2792452,
            "avg_rank": null,
            "2b_value": 21.0,
            "2b_rank": 71,
            "3b_value": 0.0,
            "3b_rank": 271,
            "hr_value": 7.0,
            "hr_rank": 219,
            "rbi_value": 42.0,
            "rbi_rank": 159,
            "tb_value": 116.0,
            "tb_rank": 1448,
            "bb_value": 14.0,
            "bb_rank": 324,
            "so_value": 33.0,
            "so_rank": 366,
            "sb_value": 2.0,
            "sb_rank": 255,
            "obp_value": 0.3169014,
            "obp_rank": "-",
            "slg_value": 0.4377358,
            "slg_rank": "-",
            "ops_value": 0.7546372,
            "ops_rank": null,
            "war_value": 1.35,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 276.0,
          "k_percent": 11.6,
          "bb_percent": 4.9,
          "woba": 0.326,
          "xwoba": 0.283,
          "xba": 0.244,
          "xslg": 0.362,
          "sweet_spot_percent": 34.9,
          "barrel_batted_rate": 4.7,
          "hard_hit_percent": 37.4,
          "exit_velocity_avg": 88.5,
          "launch_angle_avg": 16.8,
          "whiff_percent": 13.5,
          "swing_percent": 52.0
        },
        "components": {
          "expected_quality": -0.2043,
          "regression_edge": -1.2286,
          "xwoba_edge": -0.5429,
          "xba_edge": 0.2,
          "xslg_edge": -0.0857,
          "barrel_edge": -0.4667,
          "hard_hit_edge": -0.0357,
          "exit_velocity_edge": -0.04,
          "sweet_spot_edge": 0.2667,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "3B",
        "player_id": "691781",
        "player_name": "Brady House",
        "offense_factor": 1.0573,
        "quality_score": 0.7643,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "691781",
          "espn_id": 4872681,
          "player_name": "Brady House",
          "team": "WSH",
          "role": "batter",
          "espn_rank": 356,
          "espn_total_ranked": 642,
          "metrics": {
            "espn_rank": 356,
            "gp_value": 65.0,
            "gp_rank": 316,
            "ab_value": 230.0,
            "ab_rank": 256,
            "r_value": 31.0,
            "r_rank": 240,
            "h_value": 54.0,
            "h_rank": 253,
            "avg_value": 0.2347826,
            "avg_rank": null,
            "2b_value": 10.0,
            "2b_rank": 247,
            "3b_value": 0.0,
            "3b_rank": 271,
            "hr_value": 9.0,
            "hr_rank": 182,
            "rbi_value": 31.0,
            "rbi_rank": 227,
            "tb_value": 91.0,
            "tb_rank": 1082,
            "bb_value": 15.0,
            "bb_rank": 320,
            "so_value": 72.0,
            "so_rank": 172,
            "sb_value": 2.0,
            "sb_rank": 255,
            "obp_value": 0.2891566,
            "obp_rank": "-",
            "slg_value": 0.3956521,
            "slg_rank": "-",
            "ops_value": 0.6848087,
            "ops_rank": null,
            "war_value": 0.14,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 247.0,
          "k_percent": 28.9,
          "bb_percent": 6.0,
          "woba": 0.3,
          "xwoba": 0.331,
          "xba": 0.262,
          "xslg": 0.445,
          "sweet_spot_percent": 32.1,
          "barrel_batted_rate": 11.4,
          "hard_hit_percent": 46.5,
          "exit_velocity_avg": 89.3,
          "launch_angle_avg": 8.5,
          "whiff_percent": 33.0,
          "swing_percent": 51.6
        },
        "components": {
          "expected_quality": 0.7445,
          "regression_edge": 0.8857,
          "xwoba_edge": 0.8286,
          "xba_edge": 0.7143,
          "xslg_edge": 1.1,
          "barrel_edge": 1.0222,
          "hard_hit_edge": 1.2643,
          "exit_velocity_edge": 0.28,
          "sweet_spot_edge": -0.2,
          "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 WASTrue111-0.158311.01351.00341.02801.0062neutral0.32600.300021.8010.4026.205.2042.50
Home TEXTrue760.247610.97901.08860.94401.0631neutral0.29700.293029.506.2033.408.8045.60

Pitch Movement And Arsenal

TeamPitcherMovement AvailablePrimary PitchPitchesVeloSpinAxisHBIVBDropRel XRel ZExtensionArm AngleMovement Score
Away WASTrueNone6987.12250600000000-0.1564
Home TEXTrueNone9093.012443000000000.1735
Run FactorValue
away_runs_vs_home_pitcher0.9790
home_runs_vs_away_pitcher1.0135
home_pitcher_quality_edge0.4059
Raw Savant Pitcher Quality JSON
{
  "applied": true,
  "home_pitcher": {
    "available": true,
    "pitcher_id": "594798",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 482.0,
      "k_percent": 29.5,
      "bb_percent": 6.2,
      "woba": 0.293,
      "xwoba": 0.297,
      "sweet_spot_percent": 39.7,
      "barrel_batted_rate": 8.8,
      "hard_hit_percent": 45.6,
      "avg_best_speed": 80.5919,
      "avg_hyper_speed": 94.8051,
      "whiff_percent": 33.4,
      "swing_percent": 51.7
    },
    "league_medians": {
      "pa": 124.0,
      "k_percent": 22.1,
      "bb_percent": 9.0,
      "woba": 0.315,
      "xwoba": 0.312,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.1,
      "hard_hit_percent": 37.6,
      "avg_best_speed": 77.5616,
      "avg_hyper_speed": 93.8797,
      "whiff_percent": 25.3,
      "swing_percent": 47.5
    },
    "components": {
      "contact_quality": -0.0362,
      "command_and_miss": 1.0207,
      "regression_edge": -0.1143,
      "xwoba_edge": 0.4286,
      "barrel_edge": -0.3778,
      "hard_hit_edge": -1.1429,
      "whiff_edge": 1.1571,
      "bb_edge": 0.7,
      "pitch_design_score": 0.1735
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "594798",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 90,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 90,
        "pitch_usage": 0.0,
        "release_speed": 93.01139384257452,
        "release_spin_rate": 2443.0269746624076,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 90,
          "pitch_usage": 0.0,
          "release_speed": 93.01139384257452,
          "release_spin_rate": 2443.0269746624076,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.0114,
        "release_spin_rate": 2443.027,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": 0.1735,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": 1.2393,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -0.0
      },
      "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.2476,
    "sample_weight": 1.0,
    "run_prevention_factor": 0.979,
    "strikeout_factor": 1.0886,
    "walk_factor": 0.944,
    "homer_factor": 1.0631,
    "woba_minus_xwoba": -0.004,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": true,
      "player_id": "594798",
      "espn_id": 32796,
      "player_name": "Jacob deGrom",
      "team": "TEX",
      "role": "pitcher",
      "espn_rank": 76,
      "espn_total_ranked": 819,
      "metrics": {
        "espn_rank": 76,
        "gp_value": 23.0,
        "gp_rank": 303,
        "gs_value": 23.0,
        "gs_rank": 49,
        "qs_value": 8.0,
        "qs_rank": 65,
        "era_value": 3.953,
        "era_rank": null,
        "w_value": 8.0,
        "w_rank": 43,
        "l_value": 8.0,
        "l_rank": 33,
        "sv_value": 0.0,
        "sv_rank": 239,
        "hld_value": 0.0,
        "hld_rank": 323,
        "ip_value": 120.2,
        "ip_rank": 70,
        "h_value": 110.0,
        "h_rank": 73,
        "er_value": 53.0,
        "er_rank": 65,
        "hr_value": 17.0,
        "hr_rank": 45,
        "bb_value": 31.0,
        "bb_rank": 123,
        "k_value": 147.0,
        "k_rank": 19,
        "k_per_9_value": 10.964088,
        "k_per_9_rank": 7.0,
        "whip_value": 1.1685,
        "whip_rank": null,
        "war_value": 1.83,
        "war_rank": null
      },
      "source": "espn_statistics_byathlete"
    }
  },
  "away_pitcher": {
    "available": true,
    "pitcher_id": "674841",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 281.0,
      "k_percent": 21.8,
      "bb_percent": 10.4,
      "woba": 0.3,
      "xwoba": 0.326,
      "sweet_spot_percent": 34.0,
      "barrel_batted_rate": 5.2,
      "hard_hit_percent": 42.5,
      "avg_best_speed": 78.4763,
      "avg_hyper_speed": 94.8231,
      "whiff_percent": 26.2,
      "swing_percent": 44.8
    },
    "league_medians": {
      "pa": 124.0,
      "k_percent": 22.1,
      "bb_percent": 9.0,
      "woba": 0.315,
      "xwoba": 0.312,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.1,
      "hard_hit_percent": 37.6,
      "avg_best_speed": 77.5616,
      "avg_hyper_speed": 93.8797,
      "whiff_percent": 25.3,
      "swing_percent": 47.5
    },
    "components": {
      "contact_quality": -0.1071,
      "command_and_miss": -0.0443,
      "regression_edge": -0.7429,
      "xwoba_edge": -0.4,
      "barrel_edge": 0.4222,
      "hard_hit_edge": -0.7,
      "whiff_edge": 0.1286,
      "bb_edge": -0.35,
      "pitch_design_score": -0.1564
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "674841",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 69,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 69,
        "pitch_usage": 0.0,
        "release_speed": 87.12083909585115,
        "release_spin_rate": 2505.909496129685,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 69,
          "pitch_usage": 0.0,
          "release_speed": 87.12083909585115,
          "release_spin_rate": 2505.909496129685,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.1208,
        "release_spin_rate": 2505.9095,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": -0.1564,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": -1.1169,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -0.0
      },
      "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
    },
    "quality_score": -0.1583,
    "sample_weight": 1.0,
    "run_prevention_factor": 1.0135,
    "strikeout_factor": 1.0034,
    "walk_factor": 1.028,
    "homer_factor": 1.0062,
    "woba_minus_xwoba": -0.026,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": true,
      "player_id": "674841",
      "espn_id": 4300668,
      "player_name": "Andrew Alvarez",
      "team": "WSH",
      "role": "pitcher",
      "espn_rank": 111,
      "espn_total_ranked": 819,
      "metrics": {
        "espn_rank": 111,
        "gp_value": 18.0,
        "gp_rank": 378,
        "gs_value": 10.0,
        "gs_rank": 161,
        "qs_value": 1.0,
        "qs_rank": 171,
        "era_value": 3.72,
        "era_rank": null,
        "w_value": 2.0,
        "w_rank": 286,
        "l_value": 4.0,
        "l_rank": 151,
        "sv_value": 1.0,
        "sv_rank": 123,
        "hld_value": 2.0,
        "hld_rank": 216,
        "ip_value": 75.0,
        "ip_rank": 148,
        "h_value": 67.0,
        "h_rank": 153,
        "er_value": 31.0,
        "er_rank": 166,
        "hr_value": 3.0,
        "hr_rank": 403,
        "bb_value": 33.0,
        "bb_rank": 105,
        "k_value": 69.0,
        "k_rank": 155,
        "k_per_9_value": 8.280001,
        "k_per_9_rank": 28.0,
        "whip_value": 1.3333,
        "whip_rank": null,
        "war_value": 1.39,
        "war_rank": null
      },
      "source": "espn_statistics_byathlete"
    }
  },
  "run_factors": {
    "away_runs_vs_home_pitcher": 0.979,
    "home_runs_vs_away_pitcher": 1.0135,
    "home_pitcher_quality_edge": 0.4059
  },
  "score_before": {
    "away_runs": 3.65,
    "home_runs": 4.2357
  },
  "score_after": {
    "away_runs": 3.5734,
    "home_runs": 4.2928,
    "home_win_probability": 0.5685
  },
  "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 WAS4-60.4004.804.1071Waverageaverage
Home TEX3-70.3002.804.80-201Lcoldaverage

Season Run Differential

TeamRecordWin %Run DiffRD/GameAvailable
Away WAS60-670.472130.102True
Home TEX62-640.492-42-0.333True
Signal---0.436-0.441applied=False

Recent Head-to-Head

DateMatchupScoreWinnerMarginType
2026-08-19WAS @ TEX6 - 0WAS6blowout
2026-08-18WAS @ TEX0 - 5TEX5blowout

Player/Game Reconciliation

LayerABHRHRRBIBBSO
Game target WAS--5----
Game target TEX--4----
Player finalized WAS31920408
Player finalized TEX33920209
Player model fractional WAS29.686.894.401.104.092.246.82
Player model fractional TEX30.646.923.501.063.522.838.16
Simulation box WAS371051509
Simulation box TEX31411147

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 WASStarterAndrew Alvarez5.1004333.711.24True
Away WASMiddle RelieverClayton Beeter1.2001012.771.17True
Away WASMiddle RelieverOrlando Ribalta101003.451.12True
Away WASMiddle RelieverTom Cosgrove111104.441.29True
Home TEXStarterJacob deGrom524305.231.56True
Home TEXMiddle RelieverJacob Latz1.1002002.501.11True
Home TEXMiddle RelieverPeyton Gray100105.971.47True
Home TEXMiddle RelieverRobby Ahlstrom102205.311.23True
Home TEXMiddle RelieverChase Silseth0.2031403.271.27True
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
homeTEXbatterLFEzequiel Duranworse116556predicted_H2.0780boostbetter
awayWASbatterLFAndrew Pinckneyboosted106455predicted_AB1.5000boostbetter
awayWASbatter1BAndrés Chaparroworse116556predicted_AB1.5000boostbetter
homeTEXbatter2BJustin Foscueworse1129110predicted_AB1.5000boostbetter
homeTEXbatter3BCody Freemanworse91827predicted_AB1.5000boostbetter
awayWASbatterSSNasim Nuñezboosted106455predicted_H1.2610boostbetter
awayWASbatterRFDaylen Lileworse1129110predicted_SO1.2140boostworse
awayWASbatterDHAbimelec Ortizworse94536predicted_H1.1880boostbetter
awayWASbatter2BJose F Mirandaworse95445predicted_H1.1580boostbetter
homeTEXbatterRFBrandon Nimmoworse91809predicted_SO1.0990boostworse
homeTEXbatter1BJake Burgerworse112938predicted_SO-1.0670deboostbetter
homeTEXbatterSSCorey Seagerworse92736predicted_SO-1.0610deboostbetter
homeTEXbatterDHWyatt Langfordworse92718predicted_SO1.0270boostworse
awayWASbatterCFDylan Crewsworse1111029predicted_SO-0.9860deboostbetter
awayWASbatter3BBrady Houseworse113829predicted_SO0.8750boostworse
homeTEXbatterCFEvan Carterworse1111029predicted_AB-0.8690deboostworse
awayWASbatterCKeibert Ruizbetter116574predicted_2B0.7370boostbetter
homeTEXbatterCDanny Jansenworse81717predicted_BB0.6830boostbetter
homeTEXpitcherMiddle RelieverChase Silsethworse10101predicted_IP-0.4667deboostworse
awayWASpitcherStarterAndrew Alvarezworse10101predicted_IP-0.2333deboostworse
homeTEXpitcherMiddle RelieverJacob Latzworse10101predicted_IP-0.2333deboostworse
awayWASpitcherMiddle RelieverClayton Beeterbetter11010predicted_IP0.2000boostbetter

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

Away Team: WAS

Away Pitcher Deep Analysis

FieldValue
PitcherAndrew Alvarez
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.1583
ESPN Rank111
Movement AvailableTrue
Primary Pitch-
Movement Score-0.1564
Avg Velo87.1208
Avg Spin2505.9095
HB Inches0
IVB Inches0
Release Extension0
Pre IP5.1000
Pre ER0
Pre H3
Pre BB3
Pre SO4
Season ERA3.7200
Season WHIP1.3333
Role Avg IP4.8330
Recent Avg IP5.4670
Last Start IP5.2000
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "WAS",
    "games": 134,
    "wins": 62,
    "losses": 72,
    "win_pct": 0.4627,
    "runs_scored": 683.0,
    "runs_allowed": 676.0,
    "run_differential": 7.0,
    "run_differential_per_game": 0.0522,
    "avg_runs_scored": 5.097,
    "avg_runs_allowed": 5.0448,
    "offense_index": 1.1344,
    "defense_index": 0.8907,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.8,
      "avg_runs_allowed": 4.1,
      "run_differential": 7.0
    },
    "available": true,
    "quality_score": -0.0603
  },
  "opponent": {
    "team": "TEX",
    "games": 133,
    "wins": 66,
    "losses": 67,
    "win_pct": 0.4962,
    "runs_scored": 543.0,
    "runs_allowed": 587.0,
    "run_differential": -44.0,
    "run_differential_per_game": -0.3308,
    "avg_runs_scored": 4.0827,
    "avg_runs_allowed": 4.4135,
    "offense_index": 0.9086,
    "defense_index": 1.0181,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 2.8,
      "avg_runs_allowed": 4.8,
      "run_differential": -20.0
    },
    "available": true,
    "quality_score": -0.1137
  },
  "edges": {
    "quality_edge": 0.0534,
    "offense_edge": 0.1344,
    "opponent_offense_edge": -0.0914,
    "defense_strength": -0.1093,
    "opponent_defense_weakness": -0.0181,
    "recent_win_pct_edge": 0.1
  },
  "player_factors": {
    "ip": 1.0025,
    "run_prevention": 0.9936,
    "strikeout": 1.0089
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "674841",
    "profile": {
      "available": true,
      "pitcher_id": "674841",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 281.0,
        "k_percent": 21.8,
        "bb_percent": 10.4,
        "woba": 0.3,
        "xwoba": 0.326,
        "sweet_spot_percent": 34.0,
        "barrel_batted_rate": 5.2,
        "hard_hit_percent": 42.5,
        "avg_best_speed": 78.4763,
        "avg_hyper_speed": 94.8231,
        "whiff_percent": 26.2,
        "swing_percent": 44.8
      },
      "league_medians": {
        "pa": 124.0,
        "k_percent": 22.1,
        "bb_percent": 9.0,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.6,
        "avg_best_speed": 77.5616,
        "avg_hyper_speed": 93.8797,
        "whiff_percent": 25.3,
        "swing_percent": 47.5
      },
      "components": {
        "contact_quality": -0.1071,
        "command_and_miss": -0.0443,
        "regression_edge": -0.7429,
        "xwoba_edge": -0.4,
        "barrel_edge": 0.4222,
        "hard_hit_edge": -0.7,
        "whiff_edge": 0.1286,
        "bb_edge": -0.35,
        "pitch_design_score": -0.1564
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "674841",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 69,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 69,
          "pitch_usage": 0.0,
          "release_speed": 87.12083909585115,
          "release_spin_rate": 2505.909496129685,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 69,
            "pitch_usage": 0.0,
            "release_speed": 87.12083909585115,
            "release_spin_rate": 2505.909496129685,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.1208,
          "release_spin_rate": 2505.9095,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.1564,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -1.1169,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": -0.1583,
      "sample_weight": 1.0,
      "run_prevention_factor": 1.0135,
      "strikeout_factor": 1.0034,
      "walk_factor": 1.028,
      "homer_factor": 1.0062,
      "woba_minus_xwoba": -0.026,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "674841",
        "espn_id": 4300668,
        "player_name": "Andrew Alvarez",
        "team": "WSH",
        "role": "pitcher",
        "espn_rank": 111,
        "espn_total_ranked": 819,
        "metrics": {
          "espn_rank": 111,
          "gp_value": 18.0,
          "gp_rank": 378,
          "gs_value": 10.0,
          "gs_rank": 161,
          "qs_value": 1.0,
          "qs_rank": 171,
          "era_value": 3.72,
          "era_rank": null,
          "w_value": 2.0,
          "w_rank": 286,
          "l_value": 4.0,
          "l_rank": 151,
          "sv_value": 1.0,
          "sv_rank": 123,
          "hld_value": 2.0,
          "hld_rank": 216,
          "ip_value": 75.0,
          "ip_rank": 148,
          "h_value": 67.0,
          "h_rank": 153,
          "er_value": 31.0,
          "er_rank": 166,
          "hr_value": 3.0,
          "hr_rank": 403,
          "bb_value": 33.0,
          "bb_rank": 105,
          "k_value": 69.0,
          "k_rank": 155,
          "k_per_9_value": 8.280001,
          "k_per_9_rank": 28.0,
          "whip_value": 1.3333,
          "whip_rank": null,
          "war_value": 1.39,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 2.0,
        "factor": 1.0135,
        "adjusted": 2
      },
      "predicted_H": {
        "original": 4.0,
        "factor": 1.0135,
        "adjusted": 4
      },
      "predicted_BB": {
        "original": 3.0,
        "factor": 1.028,
        "adjusted": 3
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0062,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 4.0,
        "factor": 1.0034,
        "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": 46.2,
    "ER": 20,
    "H": 38,
    "BB": 21,
    "SO": 38,
    "HR": 1,
    "ERA": 3.857142857142857,
    "WHIP": 1.2642857142857145,
    "K9": 7.328571428571429,
    "HR9": 0.19285714285714287,
    "games_pitched": 10,
    "quality_starts": 1,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 1,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-14T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "674841",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 69,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 69,
    "pitch_usage": 0.0,
    "release_speed": 87.12083909585115,
    "release_spin_rate": 2505.909496129685,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 69,
      "pitch_usage": 0.0,
      "release_speed": 87.12083909585115,
      "release_spin_rate": 2505.909496129685,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.1208,
    "release_spin_rate": 2505.9095,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.1564,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -1.1169,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 18.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7826,
    "prior_weight": 0.2174
  },
  "role": "pitcher",
  "player_id": "674841",
  "report_date": "20260820",
  "season_year": 2026,
  "rows_used": 18,
  "reference_playing_time": 5.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 26.0,
        "ER": 9.0,
        "R": 9.0,
        "H": 18.0,
        "BB": 11.0,
        "SO": 16.0,
        "HR": 1.0,
        "BF": 105.0,
        "Pitches": 381.0
      },
      "per_game": {
        "IP": 5.1,
        "ER": 1.8,
        "R": 1.8,
        "H": 3.6,
        "BB": 2.2,
        "SO": 3.2,
        "HR": 0.2,
        "BF": 21.0,
        "Pitches": 76.2
      },
      "rates": {
        "ERA": 3.1154,
        "WHIP": 1.1154,
        "ER_per_IP": 0.34615,
        "H_per_IP": 0.69231,
        "BB_per_IP": 0.42308,
        "SO_per_IP": 0.61538,
        "HR_per_IP": 0.03846
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 46.2,
        "ER": 20.0,
        "R": 20.0,
        "H": 38.0,
        "BB": 21.0,
        "SO": 38.0,
        "HR": 1.0,
        "BF": 196.0,
        "Pitches": 748.0
      },
      "per_game": {
        "IP": 4.2,
        "ER": 2.0,
        "R": 2.0,
        "H": 3.8,
        "BB": 2.1,
        "SO": 3.8,
        "HR": 0.1,
        "BF": 19.6,
        "Pitches": 74.8
      },
      "rates": {
        "ERA": 3.8571,
        "WHIP": 1.2643,
        "ER_per_IP": 0.42857,
        "H_per_IP": 0.81429,
        "BB_per_IP": 0.45,
        "SO_per_IP": 0.81429,
        "HR_per_IP": 0.02143
      }
    },
    "season": {
      "games": 18,
      "totals": {
        "IP": 75.0,
        "ER": 31.0,
        "R": 31.0,
        "H": 67.0,
        "BB": 33.0,
        "SO": 69.0,
        "HR": 3.0,
        "BF": 317.0,
        "Pitches": 1236.0
      },
      "per_game": {
        "IP": 4.0,
        "ER": 1.7222,
        "R": 1.7222,
        "H": 3.7222,
        "BB": 1.8333,
        "SO": 3.8333,
        "HR": 0.1667,
        "BF": 17.6111,
        "Pitches": 68.6667
      },
      "rates": {
        "ERA": 3.72,
        "WHIP": 1.3333,
        "ER_per_IP": 0.41333,
        "H_per_IP": 0.89333,
        "BB_per_IP": 0.44,
        "SO_per_IP": 0.92,
        "HR_per_IP": 0.04
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 5.0,
    "predicted_ER": 2.04,
    "predicted_H": 4.043,
    "predicted_BB": 2.079,
    "predicted_SO": 3.91,
    "predicted_HR": 0.285,
    "predicted_ERA": 3.7146,
    "predicted_WHIP": 1.2387
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4419,
  "form_weight": 0.5581,
  "form_reliability": 0.7826,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 18.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7826,
    "prior_weight": 0.2174
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 5.1,
      "form": 5.0,
      "final": 5.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 2.04,
      "final": 1.1386,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 3.0,
      "form": 4.043,
      "final": 3.5821,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 3.0,
      "form": 2.079,
      "final": 2.4859,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 4.0,
      "form": 3.91,
      "final": 3.9498,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.285,
      "final": 0.1591,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.7146,
      "final": 3.7146,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2387,
      "final": 1.2387,
      "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
PitcherClayton Beeter
RoleMiddle Reliever
Projection Source-
Savant Quality Score-0.0763
ESPN Rank198
Movement AvailableTrue
Primary Pitch-
Movement Score0.0460
Avg Velo90.7352
Avg Spin2613.0454
HB Inches0
IVB Inches0
Release Extension0
Pre IP1.2000
Pre ER0
Pre H0
Pre BB1
Pre SO1
Season ERA3.0789
Season WHIP1.1842
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "WAS",
    "games": 134,
    "wins": 62,
    "losses": 72,
    "win_pct": 0.4627,
    "runs_scored": 683.0,
    "runs_allowed": 676.0,
    "run_differential": 7.0,
    "run_differential_per_game": 0.0522,
    "avg_runs_scored": 5.097,
    "avg_runs_allowed": 5.0448,
    "offense_index": 1.1344,
    "defense_index": 0.8907,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.8,
      "avg_runs_allowed": 4.1,
      "run_differential": 7.0
    },
    "available": true,
    "quality_score": -0.0603
  },
  "opponent": {
    "team": "TEX",
    "games": 133,
    "wins": 66,
    "losses": 67,
    "win_pct": 0.4962,
    "runs_scored": 543.0,
    "runs_allowed": 587.0,
    "run_differential": -44.0,
    "run_differential_per_game": -0.3308,
    "avg_runs_scored": 4.0827,
    "avg_runs_allowed": 4.4135,
    "offense_index": 0.9086,
    "defense_index": 1.0181,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 2.8,
      "avg_runs_allowed": 4.8,
      "run_differential": -20.0
    },
    "available": true,
    "quality_score": -0.1137
  },
  "edges": {
    "quality_edge": 0.0534,
    "offense_edge": 0.1344,
    "opponent_offense_edge": -0.0914,
    "defense_strength": -0.1093,
    "opponent_defense_weakness": -0.0181,
    "recent_win_pct_edge": 0.1
  },
  "player_factors": {
    "ip": 1.0025,
    "run_prevention": 0.9936,
    "strikeout": 1.0089
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "690925",
    "profile": {
      "available": true,
      "pitcher_id": "690925",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 149.0,
        "k_percent": 24.4,
        "bb_percent": 15.0,
        "woba": 0.294,
        "xwoba": 0.323,
        "sweet_spot_percent": 28.4,
        "barrel_batted_rate": 6.4,
        "hard_hit_percent": 43.2,
        "avg_best_speed": 79.8069,
        "avg_hyper_speed": 94.1821,
        "whiff_percent": 28.0,
        "swing_percent": 44.8
      },
      "league_medians": {
        "pa": 124.0,
        "k_percent": 22.1,
        "bb_percent": 9.0,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.6,
        "avg_best_speed": 77.5616,
        "avg_hyper_speed": 93.8797,
        "whiff_percent": 25.3,
        "swing_percent": 47.5
      },
      "components": {
        "contact_quality": -0.0792,
        "command_and_miss": -0.0171,
        "regression_edge": -0.8286,
        "xwoba_edge": -0.3143,
        "barrel_edge": 0.1556,
        "hard_hit_edge": -0.8,
        "whiff_edge": 0.3857,
        "bb_edge": -1.5,
        "pitch_design_score": 0.046
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "690925",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 12,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 12,
          "pitch_usage": 0.0,
          "release_speed": 90.73520356556928,
          "release_spin_rate": 2613.045360463267,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 12,
            "pitch_usage": 0.0,
            "release_speed": 90.73520356556928,
            "release_spin_rate": 2613.045360463267,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.7352,
          "release_spin_rate": 2613.0454,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.046,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.3288,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "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.0763,
      "sample_weight": 0.596,
      "run_prevention_factor": 1.0065,
      "strikeout_factor": 1.017,
      "walk_factor": 1.0715,
      "homer_factor": 1.0173,
      "woba_minus_xwoba": -0.029,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "690925",
        "espn_id": 4313143,
        "player_name": "Clayton Beeter",
        "team": "WSH",
        "role": "pitcher",
        "espn_rank": 198,
        "espn_total_ranked": 819,
        "metrics": {
          "espn_rank": 198,
          "gp_value": 40.0,
          "gp_rank": 136,
          "gs_value": 0.0,
          "gs_rank": 344,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 3.5526,
          "era_rank": null,
          "w_value": 5.0,
          "w_rank": 117,
          "l_value": 3.0,
          "l_rank": 209,
          "sv_value": 12.0,
          "sv_rank": 22,
          "hld_value": 6.0,
          "hld_rank": 134,
          "ip_value": 38.0,
          "ip_rank": 346,
          "h_value": 24.0,
          "h_rank": 435,
          "er_value": 15.0,
          "er_rank": 372,
          "hr_value": 6.0,
          "hr_rank": 244,
          "bb_value": 24.0,
          "bb_rank": 198,
          "k_value": 39.0,
          "k_rank": 321,
          "k_per_9_value": 9.236842,
          "k_per_9_rank": 25.0,
          "whip_value": 1.2631,
          "whip_rank": null,
          "war_value": 0.73,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 1.0039,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 1.0039,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0426,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0103,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0101,
        "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": 3,
    "H": 5,
    "BB": 5,
    "SO": 6,
    "HR": 2,
    "ERA": 2.8928571428571432,
    "WHIP": 1.0714285714285716,
    "K9": 5.7857142857142865,
    "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-08-15T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "690925",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 12,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 12,
    "pitch_usage": 0.0,
    "release_speed": 90.73520356556928,
    "release_spin_rate": 2613.045360463267,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 12,
      "pitch_usage": 0.0,
      "release_speed": 90.73520356556928,
      "release_spin_rate": 2613.045360463267,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.7352,
    "release_spin_rate": 2613.0454,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.046,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.3288,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 7.619,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6038,
    "prior_weight": 0.3962
  },
  "role": "pitcher",
  "player_id": "690925",
  "report_date": "20260820",
  "season_year": 2026,
  "rows_used": 39,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.0,
        "ER": 0.0,
        "R": 1.0,
        "H": 2.0,
        "BB": 3.0,
        "SO": 5.0,
        "HR": 0.0,
        "BF": 18.0,
        "Pitches": 73.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.2,
        "H": 0.4,
        "BB": 0.6,
        "SO": 1.0,
        "HR": 0.0,
        "BF": 3.6,
        "Pitches": 14.6
      },
      "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.0,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.1,
        "ER": 3.0,
        "R": 4.0,
        "H": 5.0,
        "BB": 5.0,
        "SO": 6.0,
        "HR": 2.0,
        "BF": 36.0,
        "Pitches": 132.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3,
        "R": 0.4,
        "H": 0.5,
        "BB": 0.5,
        "SO": 0.6,
        "HR": 0.2,
        "BF": 3.6,
        "Pitches": 13.2
      },
      "rates": {
        "ERA": 2.8929,
        "WHIP": 1.0714,
        "ER_per_IP": 0.32143,
        "H_per_IP": 0.53571,
        "BB_per_IP": 0.53571,
        "SO_per_IP": 0.64286,
        "HR_per_IP": 0.21429
      }
    },
    "season": {
      "games": 39,
      "totals": {
        "IP": 38.0,
        "ER": 13.0,
        "R": 14.0,
        "H": 21.0,
        "BB": 24.0,
        "SO": 39.0,
        "HR": 4.0,
        "BF": 157.0,
        "Pitches": 604.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3333,
        "R": 0.359,
        "H": 0.5385,
        "BB": 0.6154,
        "SO": 1.0,
        "HR": 0.1026,
        "BF": 4.0256,
        "Pitches": 15.4872
      },
      "rates": {
        "ERA": 3.0789,
        "WHIP": 1.1842,
        "ER_per_IP": 0.34211,
        "H_per_IP": 0.55263,
        "BB_per_IP": 0.63158,
        "SO_per_IP": 1.02632,
        "HR_per_IP": 0.10526
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.307,
    "predicted_H": 0.674,
    "predicted_BB": 0.497,
    "predicted_SO": 0.909,
    "predicted_HR": 0.116,
    "predicted_ERA": 2.7667,
    "predicted_WHIP": 1.1712
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5174,
  "form_weight": 0.4826,
  "form_reliability": 0.6038,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 7.619,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6038,
    "prior_weight": 0.3962
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.307,
      "final": 0.1482,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.674,
      "final": 0.3253,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.497,
      "final": 0.7572,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.909,
      "final": 0.9561,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.116,
      "final": 0.056,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.7667,
      "final": 2.7667,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1712,
      "final": 1.1712,
      "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
PitcherOrlando Ribalta
RoleMiddle Reliever
Projection Source-
Savant Quality Score0.1430
ESPN Rank245
Movement AvailableTrue
Primary Pitch-
Movement Score0.0759
Avg Velo91.2690
Avg Spin2286.4472
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO1
Season ERA3.4054
Season WHIP1.1622
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "WAS",
    "games": 134,
    "wins": 62,
    "losses": 72,
    "win_pct": 0.4627,
    "runs_scored": 683.0,
    "runs_allowed": 676.0,
    "run_differential": 7.0,
    "run_differential_per_game": 0.0522,
    "avg_runs_scored": 5.097,
    "avg_runs_allowed": 5.0448,
    "offense_index": 1.1344,
    "defense_index": 0.8907,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.8,
      "avg_runs_allowed": 4.1,
      "run_differential": 7.0
    },
    "available": true,
    "quality_score": -0.0603
  },
  "opponent": {
    "team": "TEX",
    "games": 133,
    "wins": 66,
    "losses": 67,
    "win_pct": 0.4962,
    "runs_scored": 543.0,
    "runs_allowed": 587.0,
    "run_differential": -44.0,
    "run_differential_per_game": -0.3308,
    "avg_runs_scored": 4.0827,
    "avg_runs_allowed": 4.4135,
    "offense_index": 0.9086,
    "defense_index": 1.0181,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 2.8,
      "avg_runs_allowed": 4.8,
      "run_differential": -20.0
    },
    "available": true,
    "quality_score": -0.1137
  },
  "edges": {
    "quality_edge": 0.0534,
    "offense_edge": 0.1344,
    "opponent_offense_edge": -0.0914,
    "defense_strength": -0.1093,
    "opponent_defense_weakness": -0.0181,
    "recent_win_pct_edge": 0.1
  },
  "player_factors": {
    "ip": 1.0025,
    "run_prevention": 0.9936,
    "strikeout": 1.0089
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "687377",
    "profile": {
      "available": true,
      "pitcher_id": "687377",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 147.0,
        "k_percent": 21.9,
        "bb_percent": 9.3,
        "woba": 0.28,
        "xwoba": 0.298,
        "sweet_spot_percent": 26.9,
        "barrel_batted_rate": 7.7,
        "hard_hit_percent": 34.6,
        "avg_best_speed": 72.0926,
        "avg_hyper_speed": 92.7782,
        "whiff_percent": 25.8,
        "swing_percent": 50.5
      },
      "league_medians": {
        "pa": 124.0,
        "k_percent": 22.1,
        "bb_percent": 9.0,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.6,
        "avg_best_speed": 77.5616,
        "avg_hyper_speed": 93.8797,
        "whiff_percent": 25.3,
        "swing_percent": 47.5
      },
      "components": {
        "contact_quality": 0.5167,
        "command_and_miss": -0.0029,
        "regression_edge": -0.5143,
        "xwoba_edge": 0.4,
        "barrel_edge": -0.1333,
        "hard_hit_edge": 0.4286,
        "whiff_edge": 0.0714,
        "bb_edge": -0.075,
        "pitch_design_score": 0.0759
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "687377",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 15,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 15,
          "pitch_usage": 0.0,
          "release_speed": 91.26901411477424,
          "release_spin_rate": 2286.447224555749,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 15,
            "pitch_usage": 0.0,
            "release_speed": 91.26901411477424,
            "release_spin_rate": 2286.447224555749,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.269,
          "release_spin_rate": 2286.4472,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.0759,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.5424,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "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.143,
      "sample_weight": 0.588,
      "run_prevention_factor": 0.9878,
      "strikeout_factor": 1.001,
      "walk_factor": 1.0035,
      "homer_factor": 0.9891,
      "woba_minus_xwoba": -0.018,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "687377",
        "espn_id": 5132036,
        "player_name": "Orlando Ribalta",
        "team": "WSH",
        "role": "pitcher",
        "espn_rank": 245,
        "espn_total_ranked": 819,
        "metrics": {
          "espn_rank": 245,
          "gp_value": 39.0,
          "gp_rank": 141,
          "gs_value": 0.0,
          "gs_rank": 344,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 3.4054,
          "era_rank": null,
          "w_value": 0.0,
          "w_rank": 495,
          "l_value": 2.0,
          "l_rank": 293,
          "sv_value": 2.0,
          "sv_rank": 80,
          "hld_value": 11.0,
          "hld_rank": 58,
          "ip_value": 37.0,
          "ip_rank": 351,
          "h_value": 29.0,
          "h_rank": 387,
          "er_value": 14.0,
          "er_rank": 392,
          "hr_value": 4.0,
          "hr_rank": 336,
          "bb_value": 14.0,
          "bb_rank": 360,
          "k_value": 33.0,
          "k_rank": 360,
          "k_per_9_value": 8.027027,
          "k_per_9_rank": 27.0,
          "whip_value": 1.1621,
          "whip_rank": null,
          "war_value": 0.48,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9928,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9928,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0021,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9936,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0006,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 9.2,
    "ER": 4,
    "H": 7,
    "BB": 4,
    "SO": 10,
    "HR": 2,
    "ERA": 3.724137931034483,
    "WHIP": 1.1379310344827587,
    "K9": 9.310344827586208,
    "HR9": 1.8620689655172415,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 1,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-15T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "687377",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 15,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 15,
    "pitch_usage": 0.0,
    "release_speed": 91.26901411477424,
    "release_spin_rate": 2286.447224555749,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 15,
      "pitch_usage": 0.0,
      "release_speed": 91.26901411477424,
      "release_spin_rate": 2286.447224555749,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.269,
    "release_spin_rate": 2286.4472,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.0759,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.5424,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 7.419,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5974,
    "prior_weight": 0.4026
  },
  "role": "pitcher",
  "player_id": "687377",
  "report_date": "20260820",
  "season_year": 2026,
  "rows_used": 39,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.1,
        "ER": 1.0,
        "R": 2.0,
        "H": 2.0,
        "BB": 2.0,
        "SO": 2.0,
        "HR": 1.0,
        "BF": 20.0,
        "Pitches": 73.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.4,
        "H": 0.4,
        "BB": 0.4,
        "SO": 0.4,
        "HR": 0.2,
        "BF": 4.0,
        "Pitches": 14.6
      },
      "rates": {
        "ERA": 1.6875,
        "WHIP": 0.75,
        "ER_per_IP": 0.1875,
        "H_per_IP": 0.375,
        "BB_per_IP": 0.375,
        "SO_per_IP": 0.375,
        "HR_per_IP": 0.1875
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.2,
        "ER": 4.0,
        "R": 5.0,
        "H": 7.0,
        "BB": 4.0,
        "SO": 10.0,
        "HR": 2.0,
        "BF": 40.0,
        "Pitches": 155.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.5,
        "H": 0.7,
        "BB": 0.4,
        "SO": 1.0,
        "HR": 0.2,
        "BF": 4.0,
        "Pitches": 15.5
      },
      "rates": {
        "ERA": 3.7241,
        "WHIP": 1.1379,
        "ER_per_IP": 0.41379,
        "H_per_IP": 0.72414,
        "BB_per_IP": 0.41379,
        "SO_per_IP": 1.03448,
        "HR_per_IP": 0.2069
      }
    },
    "season": {
      "games": 39,
      "totals": {
        "IP": 37.0,
        "ER": 14.0,
        "R": 17.0,
        "H": 29.0,
        "BB": 14.0,
        "SO": 33.0,
        "HR": 4.0,
        "BF": 151.0,
        "Pitches": 637.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.359,
        "R": 0.4359,
        "H": 0.7436,
        "BB": 0.359,
        "SO": 0.8462,
        "HR": 0.1026,
        "BF": 3.8718,
        "Pitches": 16.3333
      },
      "rates": {
        "ERA": 3.4054,
        "WHIP": 1.1622,
        "ER_per_IP": 0.37838,
        "H_per_IP": 0.78378,
        "BB_per_IP": 0.37838,
        "SO_per_IP": 0.89189,
        "HR_per_IP": 0.10811
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.384,
    "predicted_H": 0.737,
    "predicted_BB": 0.38,
    "predicted_SO": 0.808,
    "predicted_HR": 0.166,
    "predicted_ERA": 3.4516,
    "predicted_WHIP": 1.1171
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5201,
  "form_weight": 0.4799,
  "form_reliability": 0.5974,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 7.419,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5974,
    "prior_weight": 0.4026
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.384,
      "final": 0.1843,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.737,
      "final": 0.3537,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.38,
      "final": 0.1824,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.808,
      "final": 0.9079,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.166,
      "final": 0.0797,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.4516,
      "final": 3.4516,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1171,
      "final": 1.1171,
      "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
PitcherTom Cosgrove
RoleMiddle Reliever
Projection Source-
Savant Quality Score0.1710
ESPN Rank571
Movement AvailableTrue
Primary Pitch-
Movement Score-0.2800
Avg Velo78.3296
Avg Spin2711.7956
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER1
Pre H1
Pre BB0
Pre SO1
Season ERA3.7500
Season WHIP1.2500
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "WAS",
    "games": 134,
    "wins": 62,
    "losses": 72,
    "win_pct": 0.4627,
    "runs_scored": 683.0,
    "runs_allowed": 676.0,
    "run_differential": 7.0,
    "run_differential_per_game": 0.0522,
    "avg_runs_scored": 5.097,
    "avg_runs_allowed": 5.0448,
    "offense_index": 1.1344,
    "defense_index": 0.8907,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.8,
      "avg_runs_allowed": 4.1,
      "run_differential": 7.0
    },
    "available": true,
    "quality_score": -0.0603
  },
  "opponent": {
    "team": "TEX",
    "games": 133,
    "wins": 66,
    "losses": 67,
    "win_pct": 0.4962,
    "runs_scored": 543.0,
    "runs_allowed": 587.0,
    "run_differential": -44.0,
    "run_differential_per_game": -0.3308,
    "avg_runs_scored": 4.0827,
    "avg_runs_allowed": 4.4135,
    "offense_index": 0.9086,
    "defense_index": 1.0181,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 2.8,
      "avg_runs_allowed": 4.8,
      "run_differential": -20.0
    },
    "available": true,
    "quality_score": -0.1137
  },
  "edges": {
    "quality_edge": 0.0534,
    "offense_edge": 0.1344,
    "opponent_offense_edge": -0.0914,
    "defense_strength": -0.1093,
    "opponent_defense_weakness": -0.0181,
    "recent_win_pct_edge": 0.1
  },
  "player_factors": {
    "ip": 1.0025,
    "run_prevention": 0.9936,
    "strikeout": 1.0089
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "676680",
    "profile": {
      "available": true,
      "pitcher_id": "676680",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 47.0,
        "k_percent": 19.6,
        "bb_percent": 5.9,
        "woba": 0.332,
        "xwoba": 0.27,
        "sweet_spot_percent": 27.0,
        "barrel_batted_rate": 5.4,
        "hard_hit_percent": 35.1,
        "avg_best_speed": 72.0522,
        "avg_hyper_speed": 93.2585,
        "whiff_percent": 13.2,
        "swing_percent": 50.6
      },
      "league_medians": {
        "pa": 124.0,
        "k_percent": 22.1,
        "bb_percent": 9.0,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.6,
        "avg_best_speed": 77.5616,
        "avg_hyper_speed": 93.8797,
        "whiff_percent": 25.3,
        "swing_percent": 47.5
      },
      "components": {
        "contact_quality": 0.6857,
        "command_and_miss": -0.6107,
        "regression_edge": 1.7714,
        "xwoba_edge": 1.2,
        "barrel_edge": 0.3778,
        "hard_hit_edge": 0.3571,
        "whiff_edge": -1.7286,
        "bb_edge": 0.775,
        "pitch_design_score": -0.28
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "676680",
        "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": 78.32956193588547,
          "release_spin_rate": 2711.7955750676338,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 78.32956193588547,
            "release_spin_rate": 2711.7955750676338,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 78.3296,
          "release_spin_rate": 2711.7956,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "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.171,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9855,
      "strikeout_factor": 0.9625,
      "walk_factor": 0.9721,
      "homer_factor": 0.9638,
      "woba_minus_xwoba": 0.062,
      "regression_flag": "positive_pitcher_regression",
      "espn_rank": {
        "available": true,
        "player_id": "676680",
        "espn_id": 4990459,
        "player_name": "Tom Cosgrove",
        "team": "WSH",
        "role": "pitcher",
        "espn_rank": 571,
        "espn_total_ranked": 819,
        "metrics": {
          "espn_rank": 571,
          "gp_value": 13.0,
          "gp_rank": 456,
          "gs_value": 0.0,
          "gs_rank": 344,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 3.75,
          "era_rank": null,
          "w_value": 0.0,
          "w_rank": 495,
          "l_value": 2.0,
          "l_rank": 293,
          "sv_value": 1.0,
          "sv_rank": 123,
          "hld_value": 3.0,
          "hld_rank": 193,
          "ip_value": 12.0,
          "ip_rank": 562,
          "h_value": 12.0,
          "h_rank": 568,
          "er_value": 5.0,
          "er_rank": 611,
          "hr_value": 2.0,
          "hr_rank": 480,
          "bb_value": 3.0,
          "bb_rank": 642,
          "k_value": 10.0,
          "k_rank": 552,
          "k_per_9_value": 7.5,
          "k_per_9_rank": 26.0,
          "whip_value": 1.25,
          "whip_rank": null,
          "war_value": -0.1,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "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": 0.9874,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9837,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 0.9831,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 9.1,
    "ER": 5,
    "H": 9,
    "BB": 2,
    "SO": 6,
    "HR": 2,
    "ERA": 4.821428571428572,
    "WHIP": 1.1785714285714288,
    "K9": 5.7857142857142865,
    "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-08-15T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "676680",
  "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": 78.32956193588547,
    "release_spin_rate": 2711.7955750676338,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 78.32956193588547,
      "release_spin_rate": 2711.7955750676338,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 78.3296,
    "release_spin_rate": 2711.7956,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.28,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -2.0,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 2.406,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.3249,
    "prior_weight": 0.6751
  },
  "role": "pitcher",
  "player_id": "676680",
  "report_date": "20260820",
  "season_year": 2026,
  "rows_used": 13,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.1,
        "ER": 2.0,
        "R": 4.0,
        "H": 5.0,
        "BB": 0.0,
        "SO": 5.0,
        "HR": 1.0,
        "BF": 19.0,
        "Pitches": 67.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.8,
        "H": 1.0,
        "BB": 0.0,
        "SO": 1.0,
        "HR": 0.2,
        "BF": 3.8,
        "Pitches": 13.4
      },
      "rates": {
        "ERA": 4.1538,
        "WHIP": 1.1538,
        "ER_per_IP": 0.46154,
        "H_per_IP": 1.15385,
        "BB_per_IP": 0.0,
        "SO_per_IP": 1.15385,
        "HR_per_IP": 0.23077
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.1,
        "ER": 5.0,
        "R": 7.0,
        "H": 9.0,
        "BB": 2.0,
        "SO": 6.0,
        "HR": 2.0,
        "BF": 40.0,
        "Pitches": 130.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.5,
        "R": 0.7,
        "H": 0.9,
        "BB": 0.2,
        "SO": 0.6,
        "HR": 0.2,
        "BF": 4.0,
        "Pitches": 13.0
      },
      "rates": {
        "ERA": 4.8214,
        "WHIP": 1.1786,
        "ER_per_IP": 0.53571,
        "H_per_IP": 0.96429,
        "BB_per_IP": 0.21429,
        "SO_per_IP": 0.64286,
        "HR_per_IP": 0.21429
      }
    },
    "season": {
      "games": 13,
      "totals": {
        "IP": 12.0,
        "ER": 5.0,
        "R": 7.0,
        "H": 12.0,
        "BB": 3.0,
        "SO": 10.0,
        "HR": 2.0,
        "BF": 51.0,
        "Pitches": 180.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3846,
        "R": 0.5385,
        "H": 0.9231,
        "BB": 0.2308,
        "SO": 0.7692,
        "HR": 0.1538,
        "BF": 3.9231,
        "Pitches": 13.8462
      },
      "rates": {
        "ERA": 3.75,
        "WHIP": 1.25,
        "ER_per_IP": 0.41667,
        "H_per_IP": 1.0,
        "BB_per_IP": 0.25,
        "SO_per_IP": 0.83333,
        "HR_per_IP": 0.16667
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.493,
    "predicted_H": 1.0,
    "predicted_BB": 0.287,
    "predicted_SO": 0.94,
    "predicted_HR": 0.168,
    "predicted_ERA": 4.4383,
    "predicted_WHIP": 1.2872
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.6352,
  "form_weight": 0.3648,
  "form_reliability": 0.3249,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 2.406,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.3249,
    "prior_weight": 0.6751
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 0.493,
      "final": 0.8151,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.287,
      "final": 0.1047,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.94,
      "final": 0.9781,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.168,
      "final": 0.6965,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.4383,
      "final": 4.4383,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2872,
      "final": 1.2872,
      "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."
}
Abimelec Ortiz (694673) · BATTER · DH · Team WAS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 50
All-history rows before 20260820: 50
System season_avg: 0.2770
Data season_avg (2026 season-to-date): 0.2443
Diff (system - data): 0.0327
System opponent_avg: 0.1430
System season_avg diverges from 2026 season-to-date by 0.0327. 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.1250.0000.000Hitting_2B0.1401.000-0.140-1.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.9384.0003.000Hitting_AB3.5204.0000.4800.000
predicted_AVG0.2770.5000.333Hitting_AVG0.2440.2500.2560.250
predicted_BB0.1250.0000.000Hitting_BB0.1801.000-0.180-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.8122.0001.000Hitting_H0.8601.0001.1401.000
predicted_HR0.3120.0000.000Hitting_HR0.3200.000-0.3200.000
predicted_OBP0.3060.5000.333Hitting_OBP0.2810.4000.2190.100
predicted_R0.4381.0000.000Hitting_R0.5001.0000.5000.000
predicted_RBI0.5620.0001.000Hitting_RBI0.6800.000-0.6800.000
predicted_SLG0.6380.5000.333Hitting_SLG0.5570.500-0.0570.000
predicted_SO0.6881.0001.000Hitting_SO0.9401.0000.0600.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_H: 0.8120 -> 2.0000 (boost 1.1880, better)
Biggest Deboostpredicted_RBI: 0.5620 -> 0.0000 (deboost -0.5620, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend31212predicted_AB: 2.9380 -> 3.0797 (boost 0.1417, better)predicted_SLG: 0.6380 -> 0.6023 (deboost -0.0357, worse)Final model input calibrated 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.6023 -> 0.6082 (boost 0.0059, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling73425predicted_RBI: 0.5666 -> 1.0000 (boost 0.4334, better)predicted_HR: 0.2973 -> 0.0000 (deboost -0.2973, worse)AB rounded to 3 (raw=3.08), rates preserved: AVG=0.274 HR/AB=0.097
5consistency_constraints10101-predicted_R: 0.4651 -> 0.0000 (deboost -0.4651, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context32121predicted_AVG: 0.2741 -> 0.3330 (boost 0.0589, better)predicted_SLG: 0.6082 -> 0.3330 (deboost -0.2752, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference43131predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final31212predicted_SLG: 0.3330 -> 0.6082 (boost 0.2752, better)predicted_AVG: 0.3330 -> 0.2741 (deboost -0.0589, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "694673",
  "player_name": "Abimelec Ortiz",
  "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.125,
        "predicted_3B": 0.0,
        "predicted_AB": 2.938,
        "predicted_AVG": 0.277,
        "predicted_BB": 0.125,
        "predicted_H": 0.812,
        "predicted_HR": 0.312,
        "predicted_OBP": 0.306,
        "predicted_R": 0.438,
        "predicted_RBI": 0.562,
        "predicted_SLG": 0.638,
        "predicted_SO": 0.688
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1338,
        "predicted_3B": 0.0017,
        "predicted_AB": 3.0797,
        "predicted_AVG": 0.2705,
        "predicted_BB": 0.1433,
        "predicted_H": 0.83,
        "predicted_HBP": 0.011,
        "predicted_HR": 0.2923,
        "predicted_OBP": 0.3036,
        "predicted_R": 0.4522,
        "predicted_RBI": 0.5508,
        "predicted_SLG": 0.6023,
        "predicted_SO": 0.7226
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.125,
          "after": 0.1338,
          "delta": 0.0088,
          "percent_delta": 0.0704,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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": 2.938,
          "after": 3.0797,
          "delta": 0.1417,
          "percent_delta": 0.0482,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.277,
          "after": 0.2705,
          "delta": -0.0065,
          "percent_delta": -0.0235,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.125,
          "after": 0.1433,
          "delta": 0.0183,
          "percent_delta": 0.1464,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.812,
          "after": 0.83,
          "delta": 0.018,
          "percent_delta": 0.0222,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.312,
          "after": 0.2923,
          "delta": -0.0197,
          "percent_delta": -0.0631,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.306,
          "after": 0.3036,
          "delta": -0.0024,
          "percent_delta": -0.0078,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.438,
          "after": 0.4522,
          "delta": 0.0142,
          "percent_delta": 0.0324,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.562,
          "after": 0.5508,
          "delta": -0.0112,
          "percent_delta": -0.0199,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.638,
          "after": 0.6023,
          "delta": -0.0357,
          "percent_delta": -0.056,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.688,
          "after": 0.7226,
          "delta": 0.0346,
          "percent_delta": 0.0503,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.938,
          "after": 3.0797,
          "delta": 0.1417,
          "percent_delta": 0.0482,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.638,
          "after": 0.6023,
          "delta": -0.0357,
          "percent_delta": -0.056,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "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.1338,
        "predicted_3B": 0.0017,
        "predicted_AB": 3.0797,
        "predicted_AVG": 0.2741,
        "predicted_BB": 0.1443,
        "predicted_H": 0.8442,
        "predicted_HBP": 0.011,
        "predicted_HR": 0.2973,
        "predicted_OBP": 0.3066,
        "predicted_R": 0.4651,
        "predicted_RBI": 0.5666,
        "predicted_SLG": 0.6082,
        "predicted_SO": 0.7175
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1338,
          "after": 0.1338,
          "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": 3.0797,
          "after": 3.0797,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2705,
          "after": 0.2741,
          "delta": 0.0036,
          "percent_delta": 0.0133,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.1433,
          "after": 0.1443,
          "delta": 0.001,
          "percent_delta": 0.007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.83,
          "after": 0.8442,
          "delta": 0.0142,
          "percent_delta": 0.0171,
          "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.2923,
          "after": 0.2973,
          "delta": 0.005,
          "percent_delta": 0.0171,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3036,
          "after": 0.3066,
          "delta": 0.003,
          "percent_delta": 0.0099,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4522,
          "after": 0.4651,
          "delta": 0.0129,
          "percent_delta": 0.0285,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5508,
          "after": 0.5666,
          "delta": 0.0158,
          "percent_delta": 0.0287,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.6023,
          "after": 0.6082,
          "delta": 0.0059,
          "percent_delta": 0.0098,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7226,
          "after": 0.7175,
          "delta": -0.0051,
          "percent_delta": -0.0071,
          "direction": "no_change",
          "projection_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.6023,
          "after": 0.6082,
          "delta": 0.0059,
          "percent_delta": 0.0098,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.08), rates preserved: AVG=0.274 HR/AB=0.097",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1338,
          "after": 0.0,
          "delta": -0.1338,
          "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": 3.0797,
          "after": 3.0,
          "delta": -0.0797,
          "percent_delta": -0.0259,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1443,
          "after": 0.0,
          "delta": -0.1443,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8442,
          "after": 1.0,
          "delta": 0.1558,
          "percent_delta": 0.1846,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.011,
          "after": 0.0,
          "delta": -0.011,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2973,
          "after": 0.0,
          "delta": -0.2973,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5666,
          "after": 1.0,
          "delta": 0.4334,
          "percent_delta": 0.7649,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7175,
          "after": 1.0,
          "delta": 0.2825,
          "percent_delta": 0.3937,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 3,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5666,
          "after": 1.0,
          "delta": 0.4334,
          "percent_delta": 0.7649,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.2973,
          "after": 0.0,
          "delta": -0.2973,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4651,
          "after": 0.0,
          "delta": -0.4651,
          "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.4651,
          "after": 0.0,
          "delta": -0.4651,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.333,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.333,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.333,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2741,
          "after": 0.333,
          "delta": 0.0589,
          "percent_delta": 0.2149,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3066,
          "after": 0.333,
          "delta": 0.0264,
          "percent_delta": 0.0861,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.6082,
          "after": 0.333,
          "delta": -0.2752,
          "percent_delta": -0.4525,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.2741,
          "after": 0.333,
          "delta": 0.0589,
          "percent_delta": 0.2149,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.6082,
          "after": 0.333,
          "delta": -0.2752,
          "percent_delta": -0.4525,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 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": 3,
        "deboosted_metrics": 1,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2741,
        "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.3066,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.6082,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.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.2741,
          "delta": -0.0589,
          "percent_delta": -0.1768,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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.3066,
          "delta": -0.0264,
          "percent_delta": -0.0793,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 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.6082,
          "delta": 0.2752,
          "percent_delta": 0.8266,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.6082,
          "delta": 0.2752,
          "percent_delta": 0.8266,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.333,
          "after": 0.2741,
          "delta": -0.0589,
          "percent_delta": -0.1768,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.125,
        "after": 0.0,
        "delta": -0.125,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.938,
        "after": 4.0,
        "delta": 1.062,
        "percent_delta": 0.3615,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.277,
        "after": 0.2741,
        "delta": -0.0029,
        "percent_delta": -0.0105,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.125,
        "after": 0.0,
        "delta": -0.125,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.812,
        "after": 2.0,
        "delta": 1.188,
        "percent_delta": 1.4631,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.312,
        "after": 0.0,
        "delta": -0.312,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.306,
        "after": 0.3066,
        "delta": 0.0006,
        "percent_delta": 0.002,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.438,
        "after": 1.0,
        "delta": 0.562,
        "percent_delta": 1.2831,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.562,
        "after": 0.0,
        "delta": -0.562,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.638,
        "after": 0.6082,
        "delta": -0.0298,
        "percent_delta": -0.0467,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.688,
        "after": 1.0,
        "delta": 0.312,
        "percent_delta": 0.4535,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 4,
      "deboosted_metrics": 5,
      "better_metrics": 3,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.812,
        "after": 2.0,
        "delta": 1.188,
        "percent_delta": 1.4631,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.562,
        "after": 0.0,
        "delta": -0.562,
        "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.125-
predicted_3B0.000-
predicted_AB2.938-
predicted_AVG0.277-
predicted_BB0.125-
predicted_H0.812-
predicted_HR0.312-
predicted_OBP0.306-
predicted_R0.438-
predicted_RBI0.562-
predicted_SLG0.638-
predicted_SO0.688-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1340.009
predicted_3B0.0020.002
predicted_AB3.0800.142
predicted_AVG0.271-0.007
predicted_BB0.1430.018
predicted_H0.8300.018
predicted_HBP0.011-
predicted_HR0.292-0.020
predicted_OBP0.304-0.002
predicted_R0.4520.014
predicted_RBI0.551-0.011
predicted_SLG0.602-0.036
predicted_SO0.7230.035
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1340.000
predicted_3B0.0020.000
predicted_AB3.0800.000
predicted_AVG0.2740.004
predicted_BB0.1440.001
predicted_H0.8440.014
predicted_HBP0.0110.000
predicted_HR0.2970.005
predicted_OBP0.3070.003
predicted_R0.4650.013
predicted_RBI0.5670.016
predicted_SLG0.6080.006
predicted_SO0.718-0.005
4. ab_floor_and_scaling

AB rounded to 3 (raw=3.08), rates preserved: AVG=0.274 HR/AB=0.097

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.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
AB3.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
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.134
predicted_3B0.000-0.002
predicted_AB3.000-0.080
predicted_AVG0.3330.059
predicted_BB0.000-0.144
predicted_H1.0000.156
predicted_HR0.000-0.297
predicted_OBP0.3330.026
predicted_R0.000-0.465
predicted_RBI1.0000.433
predicted_SLG0.333-0.275
predicted_SO1.0000.282
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
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: 16
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-17.0003.0001.0000.0001.0001.0002.0001.0005.0000.17650.22220.41180.17650.05880.05880.05880.2941
last_100.2010-32.00010.0001.0000.0004.0008.0006.0001.0007.0000.31250.33330.71880.31250.12500.25000.03120.2188
season0.6016-47.00013.0002.0000.0005.0009.0007.0002.00011.0000.27660.30610.63830.27660.10640.19150.04250.2340
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1510
predicted_3B0.0050
predicted_AB3.3560
predicted_AVG0.2578
predicted_BB0.1790
predicted_H0.8650
predicted_HBP0.0110
predicted_HR0.2540
predicted_OBP0.2988
predicted_R0.4800
predicted_RBI0.5290
predicted_SLG0.5328
predicted_SO0.7900
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.12500.15100.1338model_form_blend
predicted_3B0.00000.00500.0017model_form_blend
predicted_AB2.93803.35603.0797model_form_blend
predicted_AVG0.27700.25780.2705model_form_blend
predicted_BB0.12500.17900.1433model_form_blend
predicted_H0.81200.86500.8300model_form_blend
predicted_HBP-0.01100.0110form_only
predicted_HR0.31200.25400.2923model_form_blend
predicted_OBP0.30600.29880.3036model_form_blend
predicted_R0.43800.48000.4522model_form_blend
predicted_RBI0.56200.52900.5508model_form_blend
predicted_SLG0.63800.53280.6023model_form_blend
predicted_SO0.68800.79000.7226model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% 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 used16
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_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.277

Latest Real Data Snapshot (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_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
allPositionsPlayed1B
gameID20260819_WAS@TEX
game_typefull
mlbID694673
playerID694673
playerNameAbimelec Ortiz
pos1B
startedTrue
startingPosition1B
teamWAS
teamID30
game_date2026-08-19
game_pk822860.0
sl_k_percent22.4
sl_bb_percent4.1
sl_woba0.398
sl_xwoba0.391
sl_xba0.28
sl_xslg0.623
sl_sweet_spot_percent47.2
sl_barrel_batted_rate16.7
sl_hard_hit_percent50.0
sl_exit_velocity_avg92.2
sl_launch_angle_avg12.2
sl_whiff_percent20.9
sl_swing_percent50.5
at_bat_number67.0
ab_pitcher656756.0
ab_pitcher_nameMontgomery, Jordan
ab_home_teamTEX
ab_away_teamWSH
ab_game_typeR
ab_standL
ab_p_throwsL
ab_inning9.0
ab_inning_topbotTop
ab_outs_when_up0.0
ab_on_2b_start682928.0
ab_balls_start0.0
ab_strikes_start0.0
ab_home_score_start0.0
ab_away_score_start6.0
ab_bat_score_start6.0
ab_fld_score_start0.0
ab_eventstrikeout
ab_event_descriptionAbimelec Ortiz strikes out swinging.
ab_event_typeS
ab_hit_location2.0
ab_pitch_type_lastCU
ab_pitch_name_lastCurveball
ab_zone_last13.0
ab_estimated_woba_last0.0
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_end0.0
ab_away_score_end6.0
ab_bat_score_end6.0
ab_fld_score_end0.0
ab_pitch_count3.0
ab_release_speed_avg83.10000000000001
ab_release_spin_rate_avg2287.6666666666665
ab_effective_speed_avg83.7
ab_delta_run_exp_avg-0.1119999999999999
ab_delta_home_win_exp_avg0.0
ab_delta_pitcher_run_exp_avg0.1119999999999999
ab_bat_speed_avg52.8
ab_swing_length_avg7.45
ab_release_speed_max89.6
ab_release_spin_rate_max2348.0
ab_release_speed_min77.7
ab_release_spin_rate_min2180.0
ab_delta_run_exp_sum-0.3359999999999999
ab_delta_home_win_exp_sum0.0
ab_delta_pitcher_run_exp_sum0.3359999999999999
ab_result_is_hitFalse
ab_result_is_walkFalse
ab_result_is_strikeoutTrue
ab_result_is_hbpFalse
Daylen Lile (695734) · BATTER · RF · Team WAS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 519
All-history rows before 20260820: 519
System season_avg: 0.2430
Data season_avg (2026 season-to-date): 0.2469
Diff (system - data): -0.0039
System opponent_avg: 0.1110

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1830.0000.000Hitting_2B0.1930.000-0.1930.000
predicted_3B0.0400.0000.000Hitting_3B0.0370.000-0.0370.000
predicted_AB3.8255.0004.000Hitting_AB4.0045.0000.9960.000
predicted_AVG0.2430.0000.250Hitting_AVG0.2470.000-0.2470.000
predicted_BB0.2300.0000.000Hitting_BB0.2500.000-0.2500.000
predicted_CS-0.0000.000BaseRunning_CS0.0390.000-0.0390.000
predicted_H0.9290.0001.000Hitting_H0.9880.000-0.9880.000
predicted_HR0.1190.0000.000Hitting_HR0.1310.000-0.1310.000
predicted_OBP0.2860.0000.250Hitting_OBP0.2970.000-0.2970.000
predicted_R0.4920.0000.000Hitting_R0.5320.000-0.5320.000
predicted_RBI0.5160.0001.000Hitting_RBI0.5630.000-0.5630.000
predicted_SLG0.4050.0000.250Hitting_SLG0.4110.000-0.4110.000
predicted_SO0.7862.0001.000Hitting_SO0.8212.0001.1790.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.7860 -> 2.0000 (boost 1.2140, worse)
Biggest Deboostpredicted_H: 0.9290 -> 0.0000 (deboost -0.9290, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend30303-predicted_SLG: 0.4050 -> 0.3652 (deboost -0.0398, worse)Final model input calibrated 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_scaling74334predicted_RBI: 0.4946 -> 1.0000 (boost 0.5054, better)predicted_BB: 0.2198 -> 0.0000 (deboost -0.2198, worse)AB rounded to 4 (raw=3.85), rates preserved: AVG=0.234 HR/AB=0.026
5consistency_constraints10101-predicted_R: 0.4668 -> 0.0000 (deboost -0.4668, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context31212predicted_AVG: 0.2335 -> 0.2500 (boost 0.0165, better)predicted_SLG: 0.3700 -> 0.2500 (deboost -0.1200, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference42213predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better)predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final32121predicted_SLG: 0.2500 -> 0.3700 (boost 0.1200, better)predicted_AVG: 0.2500 -> 0.2335 (deboost -0.0165, 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": "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.183,
        "predicted_3B": 0.04,
        "predicted_AB": 3.825,
        "predicted_AVG": 0.243,
        "predicted_BB": 0.23,
        "predicted_H": 0.929,
        "predicted_HR": 0.119,
        "predicted_OBP": 0.286,
        "predicted_R": 0.492,
        "predicted_RBI": 0.516,
        "predicted_SLG": 0.405,
        "predicted_SO": 0.786
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1535,
        "predicted_3B": 0.0331,
        "predicted_AB": 3.8532,
        "predicted_AVG": 0.2298,
        "predicted_BB": 0.2183,
        "predicted_H": 0.8847,
        "predicted_HBP": 0.029,
        "predicted_HR": 0.1003,
        "predicted_OBP": 0.2727,
        "predicted_R": 0.4538,
        "predicted_RBI": 0.4808,
        "predicted_SLG": 0.3652,
        "predicted_SO": 0.806
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.183,
          "after": 0.1535,
          "delta": -0.0295,
          "percent_delta": -0.1612,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.04,
          "after": 0.0331,
          "delta": -0.0069,
          "percent_delta": -0.1725,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.825,
          "after": 3.8532,
          "delta": 0.0282,
          "percent_delta": 0.0074,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.243,
          "after": 0.2298,
          "delta": -0.0132,
          "percent_delta": -0.0543,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.23,
          "after": 0.2183,
          "delta": -0.0117,
          "percent_delta": -0.0509,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.929,
          "after": 0.8847,
          "delta": -0.0443,
          "percent_delta": -0.0477,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.119,
          "after": 0.1003,
          "delta": -0.0187,
          "percent_delta": -0.1571,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.286,
          "after": 0.2727,
          "delta": -0.0133,
          "percent_delta": -0.0465,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.492,
          "after": 0.4538,
          "delta": -0.0382,
          "percent_delta": -0.0776,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.516,
          "after": 0.4808,
          "delta": -0.0352,
          "percent_delta": -0.0682,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.405,
          "after": 0.3652,
          "delta": -0.0398,
          "percent_delta": -0.0983,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.786,
          "after": 0.806,
          "delta": 0.02,
          "percent_delta": 0.0254,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.405,
          "after": 0.3652,
          "delta": -0.0398,
          "percent_delta": -0.0983,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 126
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1535,
        "predicted_3B": 0.0331,
        "predicted_AB": 3.8532,
        "predicted_AVG": 0.2335,
        "predicted_BB": 0.2198,
        "predicted_H": 0.8998,
        "predicted_HBP": 0.029,
        "predicted_HR": 0.102,
        "predicted_OBP": 0.2749,
        "predicted_R": 0.4668,
        "predicted_RBI": 0.4946,
        "predicted_SLG": 0.37,
        "predicted_SO": 0.8004
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1535,
          "after": 0.1535,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0331,
          "after": 0.0331,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.8532,
          "after": 3.8532,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2298,
          "after": 0.2335,
          "delta": 0.0037,
          "percent_delta": 0.0161,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2183,
          "after": 0.2198,
          "delta": 0.0015,
          "percent_delta": 0.0069,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8847,
          "after": 0.8998,
          "delta": 0.0151,
          "percent_delta": 0.0171,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.029,
          "after": 0.029,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1003,
          "after": 0.102,
          "delta": 0.0017,
          "percent_delta": 0.0169,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2727,
          "after": 0.2749,
          "delta": 0.0022,
          "percent_delta": 0.0081,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4538,
          "after": 0.4668,
          "delta": 0.013,
          "percent_delta": 0.0286,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4808,
          "after": 0.4946,
          "delta": 0.0138,
          "percent_delta": 0.0287,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3652,
          "after": 0.37,
          "delta": 0.0048,
          "percent_delta": 0.0131,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.806,
          "after": 0.8004,
          "delta": -0.0056,
          "percent_delta": -0.0069,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.85), rates preserved: AVG=0.234 HR/AB=0.026",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1535,
          "after": 0.0,
          "delta": -0.1535,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0331,
          "after": 0.0,
          "delta": -0.0331,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.8532,
          "after": 4.0,
          "delta": 0.1468,
          "percent_delta": 0.0381,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2198,
          "after": 0.0,
          "delta": -0.2198,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8998,
          "after": 1.0,
          "delta": 0.1002,
          "percent_delta": 0.1114,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.029,
          "after": 0.0,
          "delta": -0.029,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.102,
          "after": 0.0,
          "delta": -0.102,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4946,
          "after": 1.0,
          "delta": 0.5054,
          "percent_delta": 1.0218,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8004,
          "after": 1.0,
          "delta": 0.1996,
          "percent_delta": 0.2494,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 4,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.4946,
          "after": 1.0,
          "delta": 0.5054,
          "percent_delta": 1.0218,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2198,
          "after": 0.0,
          "delta": -0.2198,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4668,
          "after": 0.0,
          "delta": -0.4668,
          "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.4668,
          "after": 0.0,
          "delta": -0.4668,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.25,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.25,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2335,
          "after": 0.25,
          "delta": 0.0165,
          "percent_delta": 0.0707,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2749,
          "after": 0.25,
          "delta": -0.0249,
          "percent_delta": -0.0906,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "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.37,
          "after": 0.25,
          "delta": -0.12,
          "percent_delta": -0.3243,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.2335,
          "after": 0.25,
          "delta": 0.0165,
          "percent_delta": 0.0707,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.37,
          "after": 0.25,
          "delta": -0.12,
          "percent_delta": -0.3243,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.2335,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2749,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.37,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2335,
          "delta": -0.0165,
          "percent_delta": -0.0659,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.2749,
          "delta": 0.0249,
          "percent_delta": 0.0996,
          "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.37,
          "delta": 0.12,
          "percent_delta": 0.4799,
          "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.37,
          "delta": 0.12,
          "percent_delta": 0.4799,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2335,
          "delta": -0.0165,
          "percent_delta": -0.0659,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "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.04,
        "after": 0.0,
        "delta": -0.04,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.825,
        "after": 5.0,
        "delta": 1.175,
        "percent_delta": 0.3072,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.243,
        "after": 0.2335,
        "delta": -0.0095,
        "percent_delta": -0.0391,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.23,
        "after": 0.0,
        "delta": -0.23,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.929,
        "after": 0.0,
        "delta": -0.929,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.119,
        "after": 0.0,
        "delta": -0.119,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.286,
        "after": 0.2749,
        "delta": -0.0111,
        "percent_delta": -0.0388,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.492,
        "after": 0.0,
        "delta": -0.492,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.516,
        "after": 0.0,
        "delta": -0.516,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.405,
        "after": 0.37,
        "delta": -0.035,
        "percent_delta": -0.0864,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.786,
        "after": 2.0,
        "delta": 1.214,
        "percent_delta": 1.5445,
        "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.786,
        "after": 2.0,
        "delta": 1.214,
        "percent_delta": 1.5445,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.929,
        "after": 0.0,
        "delta": -0.929,
        "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.183-
predicted_3B0.040-
predicted_AB3.825-
predicted_AVG0.243-
predicted_BB0.230-
predicted_H0.929-
predicted_HR0.119-
predicted_OBP0.286-
predicted_R0.492-
predicted_RBI0.516-
predicted_SLG0.405-
predicted_SO0.786-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.153-0.029
predicted_3B0.033-0.007
predicted_AB3.8530.028
predicted_AVG0.230-0.013
predicted_BB0.218-0.012
predicted_H0.885-0.044
predicted_HBP0.029-
predicted_HR0.100-0.019
predicted_OBP0.273-0.013
predicted_R0.454-0.038
predicted_RBI0.481-0.035
predicted_SLG0.365-0.040
predicted_SO0.8060.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.1530.000
predicted_3B0.0330.000
predicted_AB3.8530.000
predicted_AVG0.2340.004
predicted_BB0.2200.002
predicted_H0.9000.015
predicted_HBP0.0290.000
predicted_HR0.1020.002
predicted_OBP0.2750.002
predicted_R0.4670.013
predicted_RBI0.4950.014
predicted_SLG0.3700.005
predicted_SO0.800-0.006
4. ab_floor_and_scaling

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

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.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
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
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.153
predicted_3B0.000-0.033
predicted_AB4.0000.147
predicted_AVG0.2500.016
predicted_BB0.000-0.220
predicted_H1.0000.100
predicted_HR0.000-0.102
predicted_OBP0.250-0.025
predicted_R0.000-0.467
predicted_RBI1.0000.505
predicted_SLG0.250-0.120
predicted_SO1.0000.200
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0001.000
BB0.0000.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R0.0000.000
RBI0.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: 126
Reference playing time: 3.825
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-20.0002.0000.0000.0000.0000.0001.0001.0005.0000.10000.14290.10000.10000.00000.00000.05000.2500
last_100.2010-40.0009.0000.0000.0000.0006.0003.0001.0008.0000.22500.24390.22500.22500.00000.15000.02500.2000
season0.60126-482.000117.00023.0005.00015.00065.00062.00029.00099.0000.24270.29170.40460.24270.03110.13480.06020.2054
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1150
predicted_3B0.0240
predicted_AB3.8900
predicted_AVG0.2127
predicted_BB0.2030
predicted_H0.8270
predicted_HBP0.0290
predicted_HR0.0760
predicted_OBP0.2553
predicted_R0.4040
predicted_RBI0.4350
predicted_SLG0.3132
predicted_SO0.8320
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18300.11500.1535model_form_blend
predicted_3B0.04000.02400.0331model_form_blend
predicted_AB3.82503.89003.8532model_form_blend
predicted_AVG0.24300.21270.2298model_form_blend
predicted_BB0.23000.20300.2183model_form_blend
predicted_H0.92900.82700.8847model_form_blend
predicted_HBP-0.02900.0290form_only
predicted_HR0.11900.07600.1003model_form_blend
predicted_OBP0.28600.25530.2727model_form_blend
predicted_R0.49200.40400.4538model_form_blend
predicted_RBI0.51600.43500.4808model_form_blend
predicted_SLG0.40500.31320.3652model_form_blend
predicted_SO0.78600.83200.8060model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date519
Season rows before report date519
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
PA5
AB5
H0
2B0
3B0
HR0
R0
RBI0
BB0
SO2
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_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_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-LF
gameID20260819_WAS@TEX
game_typefull
mlbID695734
playerID695734
playerNameDaylen Lile
posLF
startedTrue
startingPositionRF
teamWAS
teamID30
game_date2026-08-19
game_pk822860.0
sl_k_percent19.0
sl_bb_percent5.6
sl_woba0.303
sl_xwoba0.315
sl_xba0.253
sl_xslg0.421
sl_sweet_spot_percent37.5
sl_barrel_batted_rate8.5
sl_hard_hit_percent37.0
sl_exit_velocity_avg88.5
sl_launch_angle_avg18.6
sl_whiff_percent23.9
sl_swing_percent56.0
at_bat_number69.0
ab_pitcher656756.0
ab_pitcher_nameMontgomery, Jordan
ab_home_teamTEX
ab_away_teamWSH
ab_game_typeR
ab_standL
ab_p_throwsL
ab_inning9.0
ab_inning_topbotTop
ab_outs_when_up2.0
ab_on_2b_start682928.0
ab_balls_start0.0
ab_strikes_start0.0
ab_home_score_start0.0
ab_away_score_start6.0
ab_bat_score_start6.0
ab_fld_score_start0.0
ab_eventstrikeout
ab_event_descriptionDaylen Lile strikes out swinging.
ab_event_typeS
ab_hit_location2.0
ab_pitch_type_lastSL
ab_pitch_name_lastSlider
ab_zone_last7.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_end6.0
ab_fld_score_end0.0
ab_pitch_count5.0
ab_release_speed_avg85.62
ab_release_spin_rate_avg2330.0
ab_effective_speed_avg86.2
ab_delta_run_exp_avg-0.0556
ab_delta_home_win_exp_avg0.0
ab_delta_pitcher_run_exp_avg0.0556
ab_bat_speed_avg72.44999999999999
ab_swing_length_avg8.5
ab_release_speed_max90.3
ab_release_spin_rate_max2401.0
ab_release_speed_min82.3
ab_release_spin_rate_min2175.0
ab_delta_run_exp_sum-0.2779999999999999
ab_delta_home_win_exp_sum0.0
ab_delta_pitcher_run_exp_sum0.2779999999999999
ab_result_is_hitFalse
ab_result_is_walkFalse
ab_result_is_strikeoutTrue
ab_result_is_hbpFalse
Jose F Miranda (669304) · BATTER · 2B · Team WAS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 0
All-history rows before 20260820: 0
System season_avg: 0.2480
Data season_avg (2026 season-to-date): -
Diff (system - data): -
System opponent_avg: 0.2480

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1561.0000.000Hitting_2B----
predicted_3B0.0150.0000.000Hitting_3B----
predicted_AB3.3514.0003.000Hitting_AB----
predicted_AVG0.2510.5000.333Hitting_AVG----
predicted_BB0.3160.0000.000Hitting_BB----
predicted_CS-0.0000.000BaseRunning_CS----
predicted_H0.8422.0001.000Hitting_H----
predicted_HR0.0850.0000.000Hitting_HR----
predicted_OBP0.3160.5000.333Hitting_OBP----
predicted_R0.4310.0000.000Hitting_R----
predicted_RBI0.3860.0000.000Hitting_RBI----
predicted_SB-0.0000.000BaseRunning_SB----
predicted_SLG0.3820.7500.333Hitting_SLG----
predicted_SO0.7301.0001.000Hitting_SO----

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics9
Boosted Metrics5
Deboosted Metrics4
Better Metrics4
Worse Metrics5
Biggest Boostpredicted_H: 0.8420 -> 2.0000 (boost 1.1580, better)
Biggest Deboostpredicted_R: 0.4310 -> 0.0000 (deboost -0.4310, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend11010predicted_AB: 3.3510 -> 3.4220 (boost 0.0710, 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.3861 -> 0.3930 (boost 0.0069, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling72516predicted_SO: 0.7434 -> 1.0000 (boost 0.2566, worse)predicted_AB: 3.4220 -> 3.0000 (deboost -0.4220, worse)AB rounded to 3 (raw=3.42), rates preserved: AVG=0.255 HR/AB=0.028
5consistency_constraints10101-predicted_R: 0.4543 -> 0.0000 (deboost -0.4543, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context32121predicted_AVG: 0.2550 -> 0.3330 (boost 0.0780, better)predicted_SLG: 0.3930 -> 0.3330 (deboost -0.0600, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference33030predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
8current_json_final31212predicted_SLG: 0.3330 -> 0.3930 (boost 0.0600, better)predicted_AVG: 0.3330 -> 0.2550 (deboost -0.0780, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "669304",
  "player_name": "Jose F Miranda",
  "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.156,
        "predicted_3B": 0.015,
        "predicted_AB": 3.351,
        "predicted_AVG": 0.251,
        "predicted_BB": 0.316,
        "predicted_H": 0.842,
        "predicted_HR": 0.085,
        "predicted_OBP": 0.316,
        "predicted_R": 0.431,
        "predicted_RBI": 0.386,
        "predicted_SLG": 0.382,
        "predicted_SO": 0.73
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1598,
        "predicted_3B": 0.015,
        "predicted_AB": 3.422,
        "predicted_AVG": 0.2505,
        "predicted_BB": 0.308,
        "predicted_H": 0.8579,
        "predicted_HBP": 0.032,
        "predicted_HR": 0.0926,
        "predicted_OBP": 0.3143,
        "predicted_R": 0.4417,
        "predicted_RBI": 0.4011,
        "predicted_SLG": 0.3861,
        "predicted_SO": 0.7486
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.156,
          "after": 0.1598,
          "delta": 0.0038,
          "percent_delta": 0.0244,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.015,
          "after": 0.015,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.351,
          "after": 3.422,
          "delta": 0.071,
          "percent_delta": 0.0212,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.251,
          "after": 0.2505,
          "delta": -0.0005,
          "percent_delta": -0.002,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.316,
          "after": 0.308,
          "delta": -0.008,
          "percent_delta": -0.0253,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.842,
          "after": 0.8579,
          "delta": 0.0159,
          "percent_delta": 0.0189,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.085,
          "after": 0.0926,
          "delta": 0.0076,
          "percent_delta": 0.0894,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.316,
          "after": 0.3143,
          "delta": -0.0017,
          "percent_delta": -0.0054,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.431,
          "after": 0.4417,
          "delta": 0.0107,
          "percent_delta": 0.0248,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.386,
          "after": 0.4011,
          "delta": 0.0151,
          "percent_delta": 0.0391,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.382,
          "after": 0.3861,
          "delta": 0.0041,
          "percent_delta": 0.0107,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.73,
          "after": 0.7486,
          "delta": 0.0186,
          "percent_delta": 0.0255,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.351,
          "after": 3.422,
          "delta": 0.071,
          "percent_delta": 0.0212,
          "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": 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.1598,
        "predicted_3B": 0.015,
        "predicted_AB": 3.422,
        "predicted_AVG": 0.255,
        "predicted_BB": 0.3102,
        "predicted_H": 0.8726,
        "predicted_HBP": 0.032,
        "predicted_HR": 0.0942,
        "predicted_OBP": 0.3169,
        "predicted_R": 0.4543,
        "predicted_RBI": 0.4126,
        "predicted_SLG": 0.393,
        "predicted_SO": 0.7434
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1598,
          "after": 0.1598,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.015,
          "after": 0.015,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.422,
          "after": 3.422,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2505,
          "after": 0.255,
          "delta": 0.0045,
          "percent_delta": 0.018,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.308,
          "after": 0.3102,
          "delta": 0.0022,
          "percent_delta": 0.0071,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8579,
          "after": 0.8726,
          "delta": 0.0147,
          "percent_delta": 0.0171,
          "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.0926,
          "after": 0.0942,
          "delta": 0.0016,
          "percent_delta": 0.0173,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3143,
          "after": 0.3169,
          "delta": 0.0026,
          "percent_delta": 0.0083,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4417,
          "after": 0.4543,
          "delta": 0.0126,
          "percent_delta": 0.0285,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4011,
          "after": 0.4126,
          "delta": 0.0115,
          "percent_delta": 0.0287,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3861,
          "after": 0.393,
          "delta": 0.0069,
          "percent_delta": 0.0179,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7486,
          "after": 0.7434,
          "delta": -0.0052,
          "percent_delta": -0.0069,
          "direction": "no_change",
          "projection_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.3861,
          "after": 0.393,
          "delta": 0.0069,
          "percent_delta": 0.0179,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.42), rates preserved: AVG=0.255 HR/AB=0.028",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1598,
          "after": 0.0,
          "delta": -0.1598,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.015,
          "after": 0.0,
          "delta": -0.015,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.422,
          "after": 3.0,
          "delta": -0.422,
          "percent_delta": -0.1233,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3102,
          "after": 0.0,
          "delta": -0.3102,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8726,
          "after": 1.0,
          "delta": 0.1274,
          "percent_delta": 0.146,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.032,
          "after": 0.0,
          "delta": -0.032,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0942,
          "after": 0.0,
          "delta": -0.0942,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4126,
          "after": 0.0,
          "delta": -0.4126,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7434,
          "after": 1.0,
          "delta": 0.2566,
          "percent_delta": 0.3452,
          "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.7434,
          "after": 1.0,
          "delta": 0.2566,
          "percent_delta": 0.3452,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.422,
          "after": 3.0,
          "delta": -0.422,
          "percent_delta": -0.1233,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4543,
          "after": 0.0,
          "delta": -0.4543,
          "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.4543,
          "after": 0.0,
          "delta": -0.4543,
          "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.255,
          "after": 0.333,
          "delta": 0.078,
          "percent_delta": 0.3059,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3169,
          "after": 0.333,
          "delta": 0.0161,
          "percent_delta": 0.0508,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.393,
          "after": 0.333,
          "delta": -0.06,
          "percent_delta": -0.1527,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.255,
          "after": 0.333,
          "delta": 0.078,
          "percent_delta": 0.3059,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.393,
          "after": 0.333,
          "delta": -0.06,
          "percent_delta": -0.1527,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 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": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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": 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.255,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3169,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.393,
        "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.255,
          "delta": -0.078,
          "percent_delta": -0.2343,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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.3169,
          "delta": -0.0161,
          "percent_delta": -0.0483,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.333,
          "after": 0.393,
          "delta": 0.06,
          "percent_delta": 0.1802,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.393,
          "delta": 0.06,
          "percent_delta": 0.1802,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.333,
          "after": 0.255,
          "delta": -0.078,
          "percent_delta": -0.2343,
          "direction": "deboost",
          "projection_effect": "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": 1.0,
        "delta": 0.844,
        "percent_delta": 5.4103,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.015,
        "after": 0.0,
        "delta": -0.015,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.351,
        "after": 4.0,
        "delta": 0.649,
        "percent_delta": 0.1937,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.251,
        "after": 0.255,
        "delta": 0.004,
        "percent_delta": 0.0159,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.316,
        "after": 0.0,
        "delta": -0.316,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.842,
        "after": 2.0,
        "delta": 1.158,
        "percent_delta": 1.3753,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.085,
        "after": 0.0,
        "delta": -0.085,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.316,
        "after": 0.3169,
        "delta": 0.0009,
        "percent_delta": 0.0028,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.431,
        "after": 0.0,
        "delta": -0.431,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.386,
        "after": 0.0,
        "delta": -0.386,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.382,
        "after": 0.393,
        "delta": 0.011,
        "percent_delta": 0.0288,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.73,
        "after": 1.0,
        "delta": 0.27,
        "percent_delta": 0.3699,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 5,
      "deboosted_metrics": 4,
      "better_metrics": 4,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.842,
        "after": 2.0,
        "delta": 1.158,
        "percent_delta": 1.3753,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.431,
        "after": 0.0,
        "delta": -0.431,
        "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.156-
predicted_3B0.015-
predicted_AB3.351-
predicted_AVG0.251-
predicted_BB0.316-
predicted_H0.842-
predicted_HR0.085-
predicted_OBP0.316-
predicted_R0.431-
predicted_RBI0.386-
predicted_SLG0.382-
predicted_SO0.730-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1600.004
predicted_3B0.0150.000
predicted_AB3.4220.071
predicted_AVG0.251-0.001
predicted_BB0.308-0.008
predicted_H0.8580.016
predicted_HBP0.032-
predicted_HR0.0930.008
predicted_OBP0.314-0.002
predicted_R0.4420.011
predicted_RBI0.4010.015
predicted_SLG0.3860.004
predicted_SO0.7490.019
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1600.000
predicted_3B0.0150.000
predicted_AB3.4220.000
predicted_AVG0.2550.005
predicted_BB0.3100.002
predicted_H0.8730.015
predicted_HBP0.0320.000
predicted_HR0.0940.002
predicted_OBP0.3170.003
predicted_R0.4540.013
predicted_RBI0.4130.012
predicted_SLG0.3930.007
predicted_SO0.743-0.005
4. ab_floor_and_scaling

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

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
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.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.160
predicted_3B0.000-0.015
predicted_AB3.000-0.422
predicted_AVG0.3330.078
predicted_BB0.000-0.310
predicted_H1.0000.127
predicted_HR0.000-0.094
predicted_OBP0.3330.016
predicted_R0.000-0.454
predicted_RBI0.000-0.413
predicted_SLG0.333-0.060
predicted_SO1.0000.257
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
CS0.0000.000
H2.0001.000
HBP0.0000.000
HR0.0000.000
PA4.000-
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: 0
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.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.1800
predicted_3B0.0150
predicted_AB3.8020
predicted_AVG0.2480
predicted_BB0.2650
predicted_H0.9430
predicted_HBP0.0320
predicted_HR0.1330
predicted_OBP0.3054
predicted_R0.4990
predicted_RBI0.4820
predicted_SLG0.4082
predicted_SO0.8480
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15600.18000.1598model_form_blend
predicted_3B0.01500.01500.0150model_form_blend
predicted_AB3.35103.80203.4220model_form_blend
predicted_AVG0.25100.24800.2505model_form_blend
predicted_BB0.31600.26500.3080model_form_blend
predicted_H0.84200.94300.8579model_form_blend
predicted_HBP-0.03200.0320form_only
predicted_HR0.08500.13300.0926model_form_blend
predicted_OBP0.31600.30540.3143model_form_blend
predicted_R0.43100.49900.4417model_form_blend
predicted_RBI0.38600.48200.4011model_form_blend
predicted_SLG0.38200.40820.3861model_form_blend
predicted_SO0.73000.84800.7486model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% 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
H2
2B1
3B0
HR0
R0
RBI0
BB0
SO1
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

No historical data found for this player before report date.

Dylan Crews (686611) · BATTER · CF · Team WAS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 306
All-history rows before 20260820: 306
System season_avg: 0.2110
Data season_avg (2026 season-to-date): 0.2182
Diff (system - data): -0.0072
System opponent_avg: 0.2110

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1490.0000.000Hitting_2B0.1630.000-0.1630.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.7704.0004.000Hitting_AB3.9251.0000.0753.000
predicted_AVG0.2110.0000.250Hitting_AVG0.2180.000-0.2180.000
predicted_BB0.2840.0000.000Hitting_BB0.3040.000-0.3040.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.7970.0001.000Hitting_H0.8560.000-0.8560.000
predicted_HR0.1350.0000.000Hitting_HR0.1370.000-0.1370.000
predicted_OBP0.2670.0000.250Hitting_OBP0.2920.000-0.2920.000
predicted_R0.5410.0000.000Hitting_R0.5720.000-0.5720.000
predicted_RBI0.3650.0000.000Hitting_RBI0.3890.000-0.3890.000
predicted_SLG0.3580.0000.250Hitting_SLG0.3650.000-0.3650.000
predicted_SO0.9860.0001.000Hitting_SO1.0030.000-1.0030.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.7700 -> 4.0000 (boost 0.2300, better)
Biggest Deboostpredicted_SO: 0.9860 -> 0.0000 (deboost -0.9860, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend60606-predicted_AB: 3.7700 -> 3.6602 (deboost -0.1098, worse)Final model input calibrated 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.3349 -> 0.3410 (boost 0.0061, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling83526predicted_AB: 3.6602 -> 4.0000 (boost 0.3398, better)predicted_RBI: 0.3305 -> 0.0000 (deboost -0.3305, worse)AB rounded to 4 (raw=3.77), rates preserved: AVG=0.197 HR/AB=0.032
5consistency_constraints10101-predicted_R: 0.4902 -> 0.0000 (deboost -0.4902, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context31212predicted_AVG: 0.2032 -> 0.2500 (boost 0.0468, better)predicted_SLG: 0.3410 -> 0.2500 (deboost -0.0910, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference20211-predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final32121predicted_SLG: 0.2500 -> 0.3410 (boost 0.0910, better)predicted_AVG: 0.2500 -> 0.2032 (deboost -0.0468, worse)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": "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.149,
        "predicted_3B": 0.0,
        "predicted_AB": 3.77,
        "predicted_AVG": 0.211,
        "predicted_BB": 0.284,
        "predicted_H": 0.797,
        "predicted_HR": 0.135,
        "predicted_OBP": 0.267,
        "predicted_R": 0.541,
        "predicted_RBI": 0.365,
        "predicted_SLG": 0.358,
        "predicted_SO": 0.986
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1397,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.6602,
        "predicted_AVG": 0.1991,
        "predicted_BB": 0.2628,
        "predicted_H": 0.7313,
        "predicted_HBP": 0.051,
        "predicted_HR": 0.1193,
        "predicted_OBP": 0.257,
        "predicted_R": 0.4766,
        "predicted_RBI": 0.3213,
        "predicted_SLG": 0.3349,
        "predicted_SO": 0.9428
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.149,
          "after": 0.1397,
          "delta": -0.0093,
          "percent_delta": -0.0624,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0004,
          "delta": 0.0004,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.77,
          "after": 3.6602,
          "delta": -0.1098,
          "percent_delta": -0.0291,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.211,
          "after": 0.1991,
          "delta": -0.0119,
          "percent_delta": -0.0564,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.284,
          "after": 0.2628,
          "delta": -0.0212,
          "percent_delta": -0.0746,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.797,
          "after": 0.7313,
          "delta": -0.0657,
          "percent_delta": -0.0824,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.135,
          "after": 0.1193,
          "delta": -0.0157,
          "percent_delta": -0.1163,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.267,
          "after": 0.257,
          "delta": -0.01,
          "percent_delta": -0.0375,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.541,
          "after": 0.4766,
          "delta": -0.0644,
          "percent_delta": -0.119,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.365,
          "after": 0.3213,
          "delta": -0.0437,
          "percent_delta": -0.1197,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.358,
          "after": 0.3349,
          "delta": -0.0231,
          "percent_delta": -0.0645,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.986,
          "after": 0.9428,
          "delta": -0.0432,
          "percent_delta": -0.0438,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 0,
        "deboosted_metrics": 6,
        "better_metrics": 0,
        "worse_metrics": 6,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.77,
          "after": 3.6602,
          "delta": -0.1098,
          "percent_delta": -0.0291,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 74
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1397,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.6602,
        "predicted_AVG": 0.2032,
        "predicted_BB": 0.2646,
        "predicted_H": 0.7438,
        "predicted_HBP": 0.051,
        "predicted_HR": 0.1213,
        "predicted_OBP": 0.2569,
        "predicted_R": 0.4902,
        "predicted_RBI": 0.3305,
        "predicted_SLG": 0.341,
        "predicted_SO": 0.9362
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1397,
          "after": 0.1397,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6602,
          "after": 3.6602,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1991,
          "after": 0.2032,
          "delta": 0.0041,
          "percent_delta": 0.0206,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2628,
          "after": 0.2646,
          "delta": 0.0018,
          "percent_delta": 0.0068,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7313,
          "after": 0.7438,
          "delta": 0.0125,
          "percent_delta": 0.0171,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.051,
          "after": 0.051,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1193,
          "after": 0.1213,
          "delta": 0.002,
          "percent_delta": 0.0168,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.257,
          "after": 0.2569,
          "delta": -0.0001,
          "percent_delta": -0.0004,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4766,
          "after": 0.4902,
          "delta": 0.0136,
          "percent_delta": 0.0285,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3213,
          "after": 0.3305,
          "delta": 0.0092,
          "percent_delta": 0.0286,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3349,
          "after": 0.341,
          "delta": 0.0061,
          "percent_delta": 0.0182,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9428,
          "after": 0.9362,
          "delta": -0.0066,
          "percent_delta": -0.007,
          "direction": "no_change",
          "projection_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.3349,
          "after": 0.341,
          "delta": 0.0061,
          "percent_delta": 0.0182,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.77), rates preserved: AVG=0.197 HR/AB=0.032",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1397,
          "after": 0.0,
          "delta": -0.1397,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0,
          "delta": -0.0004,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6602,
          "after": 4.0,
          "delta": 0.3398,
          "percent_delta": 0.0928,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2646,
          "after": 0.0,
          "delta": -0.2646,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7438,
          "after": 1.0,
          "delta": 0.2562,
          "percent_delta": 0.3444,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.051,
          "after": 0.0,
          "delta": -0.051,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1213,
          "after": 0.0,
          "delta": -0.1213,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3305,
          "after": 0.0,
          "delta": -0.3305,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9362,
          "after": 1.0,
          "delta": 0.0638,
          "percent_delta": 0.0681,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 3,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.6602,
          "after": 4.0,
          "delta": 0.3398,
          "percent_delta": 0.0928,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3305,
          "after": 0.0,
          "delta": -0.3305,
          "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.4902,
          "after": 0.0,
          "delta": -0.4902,
          "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.4902,
          "after": 0.0,
          "delta": -0.4902,
          "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.2032,
          "after": 0.25,
          "delta": 0.0468,
          "percent_delta": 0.2303,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2569,
          "after": 0.25,
          "delta": -0.0069,
          "percent_delta": -0.0269,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.341,
          "after": 0.25,
          "delta": -0.091,
          "percent_delta": -0.2669,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.2032,
          "after": 0.25,
          "delta": 0.0468,
          "percent_delta": 0.2303,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.341,
          "after": 0.25,
          "delta": -0.091,
          "percent_delta": -0.2669,
          "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": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2032,
        "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.2569,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.341,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.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.2032,
          "delta": -0.0468,
          "percent_delta": -0.1871,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.2569,
          "delta": 0.0069,
          "percent_delta": 0.0278,
          "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.341,
          "delta": 0.091,
          "percent_delta": 0.3642,
          "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.341,
          "delta": 0.091,
          "percent_delta": 0.3642,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2032,
          "delta": -0.0468,
          "percent_delta": -0.1871,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.149,
        "after": 0.0,
        "delta": -0.149,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.77,
        "after": 4.0,
        "delta": 0.23,
        "percent_delta": 0.061,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.211,
        "after": 0.2032,
        "delta": -0.0078,
        "percent_delta": -0.037,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.284,
        "after": 0.0,
        "delta": -0.284,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.797,
        "after": 0.0,
        "delta": -0.797,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.135,
        "after": 0.0,
        "delta": -0.135,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.267,
        "after": 0.2569,
        "delta": -0.0101,
        "percent_delta": -0.0378,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.541,
        "after": 0.0,
        "delta": -0.541,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.365,
        "after": 0.0,
        "delta": -0.365,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.358,
        "after": 0.341,
        "delta": -0.017,
        "percent_delta": -0.0475,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.986,
        "after": 0.0,
        "delta": -0.986,
        "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.77,
        "after": 4.0,
        "delta": 0.23,
        "percent_delta": 0.061,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.986,
        "after": 0.0,
        "delta": -0.986,
        "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.149-
predicted_3B0.000-
predicted_AB3.770-
predicted_AVG0.211-
predicted_BB0.284-
predicted_H0.797-
predicted_HR0.135-
predicted_OBP0.267-
predicted_R0.541-
predicted_RBI0.365-
predicted_SLG0.358-
predicted_SO0.986-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.140-0.009
predicted_3B0.0000.000
predicted_AB3.660-0.110
predicted_AVG0.199-0.012
predicted_BB0.263-0.021
predicted_H0.731-0.066
predicted_HBP0.051-
predicted_HR0.119-0.016
predicted_OBP0.257-0.010
predicted_R0.477-0.064
predicted_RBI0.321-0.044
predicted_SLG0.335-0.023
predicted_SO0.943-0.043
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1400.000
predicted_3B0.0000.000
predicted_AB3.6600.000
predicted_AVG0.2030.004
predicted_BB0.2650.002
predicted_H0.7440.013
predicted_HBP0.0510.000
predicted_HR0.1210.002
predicted_OBP0.257-0.000
predicted_R0.4900.014
predicted_RBI0.3310.009
predicted_SLG0.3410.006
predicted_SO0.936-0.007
4. ab_floor_and_scaling

AB rounded to 4 (raw=3.77), rates preserved: AVG=0.197 HR/AB=0.032

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
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.140
predicted_3B0.000-0.000
predicted_AB4.0000.340
predicted_AVG0.2500.047
predicted_BB0.000-0.265
predicted_H1.0000.256
predicted_HR0.000-0.121
predicted_OBP0.250-0.007
predicted_R0.000-0.490
predicted_RBI0.000-0.331
predicted_SLG0.250-0.091
predicted_SO1.0000.064
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
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO0.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 74
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-13.0001.0000.0000.0000.0000.0000.0001.0003.0000.07690.14290.07690.07690.00000.00000.07690.2308
last_100.2010-35.0006.0002.0000.0001.0002.0004.0001.0009.0000.17140.19440.31430.17140.02860.05710.02860.2571
season0.6074-279.00059.00011.0000.00010.00027.00040.00021.00073.0000.21150.28340.35840.21150.03580.09680.07530.2616
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1270
predicted_3B0.0010
predicted_AB3.5110
predicted_AVG0.1829
predicted_BB0.2340
predicted_H0.6420
predicted_HBP0.0510
predicted_HR0.0980
predicted_OBP0.2435
predicted_R0.3890
predicted_RBI0.2620
predicted_SLG0.3035
predicted_SO0.8840
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.14900.12700.1397model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.77003.51103.6602model_form_blend
predicted_AVG0.21100.18290.1991model_form_blend
predicted_BB0.28400.23400.2628model_form_blend
predicted_H0.79700.64200.7313model_form_blend
predicted_HBP-0.05100.0510form_only
predicted_HR0.13500.09800.1193model_form_blend
predicted_OBP0.26700.24350.2570model_form_blend
predicted_R0.54100.38900.4766model_form_blend
predicted_RBI0.36500.26200.3213model_form_blend
predicted_SLG0.35800.30350.3349model_form_blend
predicted_SO0.98600.88400.9428model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date306
Season rows before report date306
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
H0
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_SO0
Hitting_TB0
Hitting_battingOrder3
Hitting_substitutionOrder1
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedRF
gameID20260819_WAS@TEX
game_typeshort
mlbID686611
playerID686611
playerNameDylan Crews
posRF
startedFalse
startingPositionRF
teamWAS
teamID30
game_date2026-08-19
game_pk822860.0
sl_k_percent23.8
sl_bb_percent6.8
sl_woba0.286
sl_xwoba0.319
sl_xba0.237
sl_xslg0.424
sl_sweet_spot_percent34.5
sl_barrel_batted_rate10.2
sl_hard_hit_percent43.7
sl_exit_velocity_avg90.6
sl_launch_angle_avg13.8
sl_whiff_percent30.6
sl_swing_percent51.7
at_bat_number68.0
ab_pitcher656756.0
ab_pitcher_nameMontgomery, Jordan
ab_home_teamTEX
ab_away_teamWSH
ab_game_typeR
ab_standR
ab_p_throwsL
ab_inning9.0
ab_inning_topbotTop
ab_outs_when_up1.0
ab_on_2b_start682928.0
ab_balls_start0.0
ab_strikes_start0.0
ab_home_score_start0.0
ab_away_score_start6.0
ab_bat_score_start6.0
ab_fld_score_start0.0
ab_eventfield_out
ab_event_descriptionDylan Crews flies out to center fielder Jarred Kelenic.
ab_event_typeX
ab_bb_typefly_ball
ab_hit_location8.0
ab_pitch_type_lastFF
ab_pitch_name_last4-Seam Fastball
ab_zone_last4.0
ab_launch_speed_last86.5
ab_launch_angle_last38.0
ab_hit_distance_last309.0
ab_estimated_ba_last0.006
ab_estimated_woba_last0.005
ab_estimated_slg_last0.008
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_end6.0
ab_fld_score_end0.0
ab_pitch_count5.0
ab_release_speed_avg83.66
ab_release_spin_rate_avg1980.4
ab_effective_speed_avg84.32000000000001
ab_launch_speed_avg80.25
ab_launch_angle_avg-2.0
ab_delta_run_exp_avg-0.055
ab_delta_home_win_exp_avg0.0002
ab_delta_pitcher_run_exp_avg0.055
ab_bat_speed_avg74.93333333333334
ab_swing_length_avg8.333333333333334
ab_launch_speed_max86.5
ab_hit_distance_sc_max309.0
ab_release_speed_max90.3
ab_release_spin_rate_max2290.0
ab_release_speed_min75.7
ab_release_spin_rate_min1523.0
ab_delta_run_exp_sum-0.275
ab_delta_home_win_exp_sum0.001
ab_delta_pitcher_run_exp_sum0.275
ab_result_is_hitFalse
ab_result_is_walkFalse
ab_result_is_strikeoutFalse
ab_result_is_hbpFalse
Nasim Nuñez (683083) · BATTER · SS · Team WAS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 419
All-history rows before 20260820: 419
System season_avg: 0.2260
Data season_avg (2026 season-to-date): 0.2286
Diff (system - data): -0.0026
System opponent_avg: 0.1250

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0361.0000.000Hitting_2B0.0380.0000.9621.000
predicted_3B0.0270.0000.000Hitting_3B0.0290.000-0.0290.000
predicted_AB3.2704.0003.000Hitting_AB3.4034.0000.5970.000
predicted_AVG0.2260.5000.333Hitting_AVG0.2290.0000.2710.500
predicted_BB0.3960.0000.000Hitting_BB0.4250.000-0.4250.000
predicted_CS-0.0000.000BaseRunning_CS0.0600.000-0.0600.000
predicted_H0.7392.0001.000Hitting_H0.7780.0001.2222.000
predicted_HR0.0090.0000.000Hitting_HR0.0120.000-0.0120.000
predicted_OBP0.3100.5000.333Hitting_OBP0.3150.0000.1850.500
predicted_R0.3961.0000.000Hitting_R0.4390.0000.5611.000
predicted_RBI0.3061.0000.000Hitting_RBI0.3320.0000.6681.000
predicted_SLG0.2620.7500.333Hitting_SLG0.2670.0000.4830.750
predicted_SO0.7661.0001.000Hitting_SO0.8310.0000.1691.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_H: 0.7390 -> 2.0000 (boost 1.2610, better)
Biggest Deboostpredicted_BB: 0.3960 -> 0.0000 (deboost -0.3960, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend51414predicted_AB: 3.2700 -> 3.3465 (boost 0.0765, better)predicted_R: 0.3960 -> 0.3397 (deboost -0.0563, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot00000--Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling52314predicted_H: 0.7289 -> 1.0000 (boost 0.2711, better)predicted_BB: 0.3819 -> 0.0000 (deboost -0.3819, worse)AB rounded to 3 (raw=3.35), rates preserved: AVG=0.218 HR/AB=0.003
5consistency_constraints10101-predicted_R: 0.3494 -> 0.0000 (deboost -0.3494, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context33030predicted_AVG: 0.2178 -> 0.3330 (boost 0.1152, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference55050predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
8current_json_final30303-predicted_AVG: 0.3330 -> 0.2178 (deboost -0.1152, 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": "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.036,
        "predicted_3B": 0.027,
        "predicted_AB": 3.27,
        "predicted_AVG": 0.226,
        "predicted_BB": 0.396,
        "predicted_H": 0.739,
        "predicted_HR": 0.009,
        "predicted_OBP": 0.31,
        "predicted_R": 0.396,
        "predicted_RBI": 0.306,
        "predicted_SLG": 0.262,
        "predicted_SO": 0.766
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0343,
        "predicted_3B": 0.0227,
        "predicted_AB": 3.3465,
        "predicted_AVG": 0.2145,
        "predicted_BB": 0.3792,
        "predicted_H": 0.7166,
        "predicted_HBP": 0.007,
        "predicted_HR": 0.0112,
        "predicted_OBP": 0.2946,
        "predicted_R": 0.3397,
        "predicted_RBI": 0.2729,
        "predicted_SLG": 0.2483,
        "predicted_SO": 0.7441
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.036,
          "after": 0.0343,
          "delta": -0.0017,
          "percent_delta": -0.0472,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.027,
          "after": 0.0227,
          "delta": -0.0043,
          "percent_delta": -0.1593,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.27,
          "after": 3.3465,
          "delta": 0.0765,
          "percent_delta": 0.0234,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.226,
          "after": 0.2145,
          "delta": -0.0115,
          "percent_delta": -0.0509,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.396,
          "after": 0.3792,
          "delta": -0.0168,
          "percent_delta": -0.0424,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.739,
          "after": 0.7166,
          "delta": -0.0224,
          "percent_delta": -0.0303,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.009,
          "after": 0.0112,
          "delta": 0.0022,
          "percent_delta": 0.2444,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.31,
          "after": 0.2946,
          "delta": -0.0154,
          "percent_delta": -0.0497,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.396,
          "after": 0.3397,
          "delta": -0.0563,
          "percent_delta": -0.1422,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.306,
          "after": 0.2729,
          "delta": -0.0331,
          "percent_delta": -0.1082,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.262,
          "after": 0.2483,
          "delta": -0.0137,
          "percent_delta": -0.0523,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.766,
          "after": 0.7441,
          "delta": -0.0219,
          "percent_delta": -0.0286,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.27,
          "after": 3.3465,
          "delta": 0.0765,
          "percent_delta": 0.0234,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 0.396,
          "after": 0.3397,
          "delta": -0.0563,
          "percent_delta": -0.1422,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 111
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0343,
        "predicted_3B": 0.0227,
        "predicted_AB": 3.3465,
        "predicted_AVG": 0.2178,
        "predicted_BB": 0.3819,
        "predicted_H": 0.7289,
        "predicted_HBP": 0.007,
        "predicted_HR": 0.0114,
        "predicted_OBP": 0.2979,
        "predicted_R": 0.3494,
        "predicted_RBI": 0.2807,
        "predicted_SLG": 0.2518,
        "predicted_SO": 0.7389
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0343,
          "after": 0.0343,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0227,
          "after": 0.0227,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.3465,
          "after": 3.3465,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2145,
          "after": 0.2178,
          "delta": 0.0033,
          "percent_delta": 0.0154,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3792,
          "after": 0.3819,
          "delta": 0.0027,
          "percent_delta": 0.0071,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7166,
          "after": 0.7289,
          "delta": 0.0123,
          "percent_delta": 0.0172,
          "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.0112,
          "after": 0.0114,
          "delta": 0.0002,
          "percent_delta": 0.0179,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2946,
          "after": 0.2979,
          "delta": 0.0033,
          "percent_delta": 0.0112,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3397,
          "after": 0.3494,
          "delta": 0.0097,
          "percent_delta": 0.0286,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2729,
          "after": 0.2807,
          "delta": 0.0078,
          "percent_delta": 0.0286,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2483,
          "after": 0.2518,
          "delta": 0.0035,
          "percent_delta": 0.0141,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.7441,
          "after": 0.7389,
          "delta": -0.0052,
          "percent_delta": -0.007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.35), rates preserved: AVG=0.218 HR/AB=0.003",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0343,
          "after": 0.0,
          "delta": -0.0343,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0227,
          "after": 0.0,
          "delta": -0.0227,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.3465,
          "after": 3.0,
          "delta": -0.3465,
          "percent_delta": -0.1035,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3819,
          "after": 0.0,
          "delta": -0.3819,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7289,
          "after": 1.0,
          "delta": 0.2711,
          "percent_delta": 0.3719,
          "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.0114,
          "after": 0.0,
          "delta": -0.0114,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2807,
          "after": 0.0,
          "delta": -0.2807,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7389,
          "after": 1.0,
          "delta": 0.2611,
          "percent_delta": 0.3534,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.7289,
          "after": 1.0,
          "delta": 0.2711,
          "percent_delta": 0.3719,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3819,
          "after": 0.0,
          "delta": -0.3819,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3494,
          "after": 0.0,
          "delta": -0.3494,
          "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.3494,
          "after": 0.0,
          "delta": -0.3494,
          "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.2178,
          "after": 0.333,
          "delta": 0.1152,
          "percent_delta": 0.5289,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2979,
          "after": 0.333,
          "delta": 0.0351,
          "percent_delta": 0.1178,
          "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.2518,
          "after": 0.333,
          "delta": 0.0812,
          "percent_delta": 0.3225,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.2178,
          "after": 0.333,
          "delta": 0.1152,
          "percent_delta": 0.5289,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 5,
        "deboosted_metrics": 0,
        "better_metrics": 5,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2178,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2979,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2518,
        "predicted_SO": 1.0,
        "predicted_SS": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.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.2178,
          "delta": -0.1152,
          "percent_delta": -0.346,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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.2979,
          "delta": -0.0351,
          "percent_delta": -0.1054,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 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.2518,
          "delta": -0.0812,
          "percent_delta": -0.2438,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.2178,
          "delta": -0.1152,
          "percent_delta": -0.346,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.036,
        "after": 1.0,
        "delta": 0.964,
        "percent_delta": 26.7778,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.027,
        "after": 0.0,
        "delta": -0.027,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.27,
        "after": 4.0,
        "delta": 0.73,
        "percent_delta": 0.2232,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.226,
        "after": 0.2178,
        "delta": -0.0082,
        "percent_delta": -0.0363,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.396,
        "after": 0.0,
        "delta": -0.396,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.739,
        "after": 2.0,
        "delta": 1.261,
        "percent_delta": 1.7064,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.009,
        "after": 0.0,
        "delta": -0.009,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_OBP",
        "before": 0.31,
        "after": 0.2979,
        "delta": -0.0121,
        "percent_delta": -0.039,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.396,
        "after": 1.0,
        "delta": 0.604,
        "percent_delta": 1.5253,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.306,
        "after": 1.0,
        "delta": 0.694,
        "percent_delta": 2.268,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.262,
        "after": 0.2518,
        "delta": -0.0102,
        "percent_delta": -0.0389,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.766,
        "after": 1.0,
        "delta": 0.234,
        "percent_delta": 0.3055,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 6,
      "deboosted_metrics": 4,
      "better_metrics": 5,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.739,
        "after": 2.0,
        "delta": 1.261,
        "percent_delta": 1.7064,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.396,
        "after": 0.0,
        "delta": -0.396,
        "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.036-
predicted_3B0.027-
predicted_AB3.270-
predicted_AVG0.226-
predicted_BB0.396-
predicted_H0.739-
predicted_HR0.009-
predicted_OBP0.310-
predicted_R0.396-
predicted_RBI0.306-
predicted_SLG0.262-
predicted_SO0.766-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.034-0.002
predicted_3B0.023-0.004
predicted_AB3.3460.076
predicted_AVG0.214-0.012
predicted_BB0.379-0.017
predicted_H0.717-0.022
predicted_HBP0.007-
predicted_HR0.0110.002
predicted_OBP0.295-0.015
predicted_R0.340-0.056
predicted_RBI0.273-0.033
predicted_SLG0.248-0.014
predicted_SO0.744-0.022
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.0340.000
predicted_3B0.0230.000
predicted_AB3.3460.000
predicted_AVG0.2180.003
predicted_BB0.3820.003
predicted_H0.7290.012
predicted_HBP0.0070.000
predicted_HR0.0110.000
predicted_OBP0.2980.003
predicted_R0.3490.010
predicted_RBI0.2810.008
predicted_SLG0.2520.004
predicted_SO0.739-0.005
4. ab_floor_and_scaling

AB rounded to 3 (raw=3.35), rates preserved: AVG=0.218 HR/AB=0.003

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. 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
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.023
predicted_AB3.000-0.346
predicted_AVG0.3330.115
predicted_BB0.000-0.382
predicted_H1.0000.271
predicted_HR0.000-0.011
predicted_OBP0.3330.035
predicted_R0.000-0.349
predicted_RBI0.000-0.281
predicted_SLG0.3330.081
predicted_SO1.0000.261
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
CS0.0000.000
H2.0001.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0001.000
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: 111
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0003.0000.0000.0000.0000.0000.0001.0003.0000.15790.20000.15790.15790.00000.00000.05260.1579
last_100.2010-35.0005.0000.0000.0000.0001.0000.0004.0006.0000.14290.23080.14290.14290.00000.02860.11430.1714
season0.60111-363.00082.0004.0003.0001.00034.00044.00044.00085.0000.22590.30980.26170.22590.00270.09370.12120.2342
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0320
predicted_3B0.0170
predicted_AB3.4480
predicted_AVG0.1993
predicted_BB0.3570
predicted_H0.6870
predicted_HBP0.0070
predicted_HR0.0140
predicted_OBP0.2743
predicted_R0.2650
predicted_RBI0.2290
predicted_SLG0.2302
predicted_SO0.7150
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.03600.03200.0343model_form_blend
predicted_3B0.02700.01700.0227model_form_blend
predicted_AB3.27003.44803.3465model_form_blend
predicted_AVG0.22600.19930.2145model_form_blend
predicted_BB0.39600.35700.3792model_form_blend
predicted_H0.73900.68700.7166model_form_blend
predicted_HBP-0.00700.0070form_only
predicted_HR0.00900.01400.0112model_form_blend
predicted_OBP0.31000.27430.2946model_form_blend
predicted_R0.39600.26500.3397model_form_blend
predicted_RBI0.30600.22900.2729model_form_blend
predicted_SLG0.26200.23020.2483model_form_blend
predicted_SO0.76600.71500.7441model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date419
Season rows before report date419
Report year2026
Profile rows used111
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest 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_battingOrder9
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed2B
gameID20260819_WAS@TEX
game_typefull
mlbID683083
playerID683083
playerNameNasim Nuñez
pos2B
startedTrue
startingPosition2B
teamWAS
teamID30
game_date2026-08-19
game_pk822860.0
sl_k_percent20.4
sl_bb_percent10.6
sl_woba0.266
sl_xwoba0.269
sl_xba0.223
sl_xslg0.27
sl_sweet_spot_percent29.4
sl_barrel_batted_rate0.4
sl_hard_hit_percent22.0
sl_exit_velocity_avg85.0
sl_launch_angle_avg8.1
sl_whiff_percent20.8
sl_swing_percent46.9
at_bat_number61.0
ab_pitcher656756.0
ab_pitcher_nameMontgomery, Jordan
ab_home_teamTEX
ab_away_teamWSH
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_start0.0
ab_away_score_start6.0
ab_bat_score_start6.0
ab_fld_score_start0.0
ab_eventfield_out
ab_event_descriptionNasim Nuñez grounds out, third baseman Cody Freeman to first baseman Joc Pederson.
ab_event_typeX
ab_bb_typeground_ball
ab_hit_location5.0
ab_pitch_type_lastFF
ab_pitch_name_last4-Seam Fastball
ab_zone_last8.0
ab_launch_speed_last83.2
ab_launch_angle_last-14.0
ab_hit_distance_last7.0
ab_estimated_ba_last0.123
ab_estimated_woba_last0.111
ab_estimated_slg_last0.134
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_end0.0
ab_away_score_end6.0
ab_bat_score_end6.0
ab_fld_score_end0.0
ab_pitch_count4.0
ab_release_speed_avg91.325
ab_release_spin_rate_avg2264.0
ab_effective_speed_avg91.975
ab_launch_speed_avg83.2
ab_launch_angle_avg-14.0
ab_delta_run_exp_avg-0.06475
ab_delta_home_win_exp_avg0.0
ab_delta_pitcher_run_exp_avg0.06475
ab_bat_speed_avg73.0
ab_swing_length_avg7.6
ab_launch_speed_max83.2
ab_hit_distance_sc_max7.0
ab_release_speed_max91.7
ab_release_spin_rate_max2351.0
ab_release_speed_min90.6
ab_release_spin_rate_min2184.0
ab_delta_run_exp_sum-0.259
ab_delta_home_win_exp_sum0.0
ab_delta_pitcher_run_exp_sum0.259
ab_result_is_hitFalse
ab_result_is_walkFalse
ab_result_is_strikeoutFalse
ab_result_is_hbpFalse
Andrew Pinckney (687605) · BATTER · LF · Team WAS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 16
All-history rows before 20260820: 16
System season_avg: 0.2730
Data season_avg (2026 season-to-date): 0.2963
Diff (system - data): -0.0233
System opponent_avg: 0.2730
System season_avg diverges from 2026 season-to-date by -0.0233. This usually means mixed-season window logic.

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0000.0000.000Hitting_2B0.0000.0000.0000.000
predicted_3B0.2271.0000.000Hitting_3B0.1880.0000.8121.000
predicted_AB2.5004.0003.000Hitting_AB1.6881.0002.3123.000
predicted_AVG0.3050.2500.333Hitting_AVG0.2960.000-0.0460.250
predicted_BB0.2270.0000.000Hitting_BB0.1880.000-0.1880.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.1801.0001.000Hitting_H0.5000.0000.5001.000
predicted_HR0.0300.0000.000Hitting_HR0.1250.000-0.1250.000
predicted_OBP0.3050.2500.333Hitting_OBP0.3890.000-0.1390.250
predicted_R0.6821.0001.000Hitting_R0.6250.0000.3751.000
predicted_RBI0.2301.0000.000Hitting_RBI0.3120.0000.6881.000
predicted_SLG0.4100.7500.333Hitting_SLG0.7410.0000.0090.750
predicted_SO0.6821.0001.000Hitting_SO0.5000.0000.5001.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_AB: 2.5000 -> 4.0000 (boost 1.5000, better)
Biggest Deboostpredicted_BB: 0.2270 -> 0.0000 (deboost -0.2270, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend43131predicted_AB: 2.5000 -> 2.6669 (boost 0.1669, better)predicted_AVG: 0.3050 -> 0.2893 (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_snapshot30303-predicted_AVG: 0.2893 -> 0.1248 (deboost -0.1645, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling72516predicted_AB: 2.6669 -> 3.0000 (boost 0.3331, better)predicted_H: 0.3329 -> 0.0000 (deboost -0.3329, worse)AB rounded to 3 (raw=2.67), rates preserved: AVG=0.125 HR/AB=0.017
5consistency_constraints22020predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context22020predicted_AVG: 0.1248 -> 0.3330 (boost 0.2082, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference33030predicted_3B: 0.0000 -> 1.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
8current_json_final20202-predicted_AVG: 0.3330 -> 0.1248 (deboost -0.2082, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "687605",
  "player_name": "Andrew Pinckney",
  "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.0,
        "predicted_3B": 0.227,
        "predicted_AB": 2.5,
        "predicted_AVG": 0.305,
        "predicted_BB": 0.227,
        "predicted_H": 0.18,
        "predicted_HR": 0.03,
        "predicted_OBP": 0.305,
        "predicted_R": 0.682,
        "predicted_RBI": 0.23,
        "predicted_SLG": 0.41,
        "predicted_SO": 0.682
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0256,
        "predicted_3B": 0.1994,
        "predicted_AB": 2.6669,
        "predicted_AVG": 0.2893,
        "predicted_BB": 0.235,
        "predicted_H": 0.3273,
        "predicted_HBP": 0.127,
        "predicted_HR": 0.0453,
        "predicted_OBP": 0.3076,
        "predicted_R": 0.6404,
        "predicted_RBI": 0.2718,
        "predicted_SLG": 0.4162,
        "predicted_SO": 0.7133
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0256,
          "delta": 0.0256,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.227,
          "after": 0.1994,
          "delta": -0.0276,
          "percent_delta": -0.1216,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.5,
          "after": 2.6669,
          "delta": 0.1669,
          "percent_delta": 0.0668,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.305,
          "after": 0.2893,
          "delta": -0.0157,
          "percent_delta": -0.0515,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.227,
          "after": 0.235,
          "delta": 0.008,
          "percent_delta": 0.0352,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.18,
          "after": 0.3273,
          "delta": 0.1473,
          "percent_delta": 0.8183,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.03,
          "after": 0.0453,
          "delta": 0.0153,
          "percent_delta": 0.51,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.305,
          "after": 0.3076,
          "delta": 0.0026,
          "percent_delta": 0.0085,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.682,
          "after": 0.6404,
          "delta": -0.0416,
          "percent_delta": -0.061,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.23,
          "after": 0.2718,
          "delta": 0.0418,
          "percent_delta": 0.1817,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.41,
          "after": 0.4162,
          "delta": 0.0062,
          "percent_delta": 0.0151,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.682,
          "after": 0.7133,
          "delta": 0.0313,
          "percent_delta": 0.0459,
          "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_AB",
          "before": 2.5,
          "after": 2.6669,
          "delta": 0.1669,
          "percent_delta": 0.0668,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.305,
          "after": 0.2893,
          "delta": -0.0157,
          "percent_delta": -0.0515,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "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.0256,
        "predicted_3B": 0.1994,
        "predicted_AB": 2.6669,
        "predicted_AVG": 0.1248,
        "predicted_BB": 0.2366,
        "predicted_H": 0.3329,
        "predicted_HBP": 0.127,
        "predicted_HR": 0.0461,
        "predicted_OBP": 0.1962,
        "predicted_R": 0.6587,
        "predicted_RBI": 0.2796,
        "predicted_SLG": 0.3358,
        "predicted_SO": 0.7083
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0256,
          "after": 0.0256,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.1994,
          "after": 0.1994,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.6669,
          "after": 2.6669,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2893,
          "after": 0.1248,
          "delta": -0.1645,
          "percent_delta": -0.5686,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.235,
          "after": 0.2366,
          "delta": 0.0016,
          "percent_delta": 0.0068,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.3273,
          "after": 0.3329,
          "delta": 0.0056,
          "percent_delta": 0.0171,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.127,
          "after": 0.127,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0453,
          "after": 0.0461,
          "delta": 0.0008,
          "percent_delta": 0.0177,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3076,
          "after": 0.1962,
          "delta": -0.1114,
          "percent_delta": -0.3622,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6404,
          "after": 0.6587,
          "delta": 0.0183,
          "percent_delta": 0.0286,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2718,
          "after": 0.2796,
          "delta": 0.0078,
          "percent_delta": 0.0287,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4162,
          "after": 0.3358,
          "delta": -0.0804,
          "percent_delta": -0.1932,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7133,
          "after": 0.7083,
          "delta": -0.005,
          "percent_delta": -0.007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.2893,
          "after": 0.1248,
          "delta": -0.1645,
          "percent_delta": -0.5686,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.67), rates preserved: AVG=0.125 HR/AB=0.017",
      "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.0256,
          "after": 0.0,
          "delta": -0.0256,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.1994,
          "after": 0.0,
          "delta": -0.1994,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 2.6669,
          "after": 3.0,
          "delta": 0.3331,
          "percent_delta": 0.1249,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2366,
          "after": 0.0,
          "delta": -0.2366,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.3329,
          "after": 0.0,
          "delta": -0.3329,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.127,
          "after": 0.0,
          "delta": -0.127,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0461,
          "after": 0.0,
          "delta": -0.0461,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2796,
          "after": 0.0,
          "delta": -0.2796,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7083,
          "after": 1.0,
          "delta": 0.2917,
          "percent_delta": 0.4118,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 2,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.6669,
          "after": 3.0,
          "delta": 0.3331,
          "percent_delta": 0.1249,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.3329,
          "after": 0.0,
          "delta": -0.3329,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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.6587,
          "after": 1.0,
          "delta": 0.3413,
          "percent_delta": 0.5181,
          "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": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.333,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.333,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.333,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1248,
          "after": 0.333,
          "delta": 0.2082,
          "percent_delta": 1.6683,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.1962,
          "after": 0.333,
          "delta": 0.1368,
          "percent_delta": 0.6972,
          "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.3358,
          "after": 0.333,
          "delta": -0.0028,
          "percent_delta": -0.0083,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.1248,
          "after": 0.333,
          "delta": 0.2082,
          "percent_delta": 1.6683,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 1.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 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_3B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 1.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.1248,
        "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.1962,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3358,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "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.1248,
          "delta": -0.2082,
          "percent_delta": -0.6251,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.1962,
          "delta": -0.1368,
          "percent_delta": -0.4109,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 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.3358,
          "delta": 0.0028,
          "percent_delta": 0.0084,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.333,
          "after": 0.1248,
          "delta": -0.2082,
          "percent_delta": -0.6251,
          "direction": "deboost",
          "projection_effect": "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.227,
        "after": 1.0,
        "delta": 0.773,
        "percent_delta": 3.4053,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 2.5,
        "after": 4.0,
        "delta": 1.5,
        "percent_delta": 0.6,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.305,
        "after": 0.1248,
        "delta": -0.1802,
        "percent_delta": -0.5908,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.227,
        "after": 0.0,
        "delta": -0.227,
        "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.03,
        "after": 0.0,
        "delta": -0.03,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_OBP",
        "before": 0.305,
        "after": 0.1962,
        "delta": -0.1088,
        "percent_delta": -0.3567,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.682,
        "after": 1.0,
        "delta": 0.318,
        "percent_delta": 0.4663,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.23,
        "after": 1.0,
        "delta": 0.77,
        "percent_delta": 3.3478,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.41,
        "after": 0.3358,
        "delta": -0.0742,
        "percent_delta": -0.181,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.682,
        "after": 1.0,
        "delta": 0.318,
        "percent_delta": 0.4663,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 6,
      "deboosted_metrics": 4,
      "better_metrics": 5,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 2.5,
        "after": 4.0,
        "delta": 1.5,
        "percent_delta": 0.6,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.227,
        "after": 0.0,
        "delta": -0.227,
        "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.000-
predicted_3B0.227-
predicted_AB2.500-
predicted_AVG0.305-
predicted_BB0.227-
predicted_H0.180-
predicted_HR0.030-
predicted_OBP0.305-
predicted_R0.682-
predicted_RBI0.230-
predicted_SLG0.410-
predicted_SO0.682-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.0260.026
predicted_3B0.199-0.028
predicted_AB2.6670.167
predicted_AVG0.289-0.016
predicted_BB0.2350.008
predicted_H0.3270.147
predicted_HBP0.127-
predicted_HR0.0450.015
predicted_OBP0.3080.003
predicted_R0.640-0.042
predicted_RBI0.2720.042
predicted_SLG0.4160.006
predicted_SO0.7130.031
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.0260.000
predicted_3B0.1990.000
predicted_AB2.6670.000
predicted_AVG0.125-0.165
predicted_BB0.2370.002
predicted_H0.3330.006
predicted_HBP0.1270.000
predicted_HR0.0460.001
predicted_OBP0.196-0.111
predicted_R0.6590.018
predicted_RBI0.2800.008
predicted_SLG0.336-0.080
predicted_SO0.708-0.005
4. ab_floor_and_scaling

AB rounded to 3 (raw=2.67), rates preserved: AVG=0.125 HR/AB=0.017

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
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.026
predicted_3B0.000-0.199
predicted_AB3.0000.333
predicted_AVG0.3330.208
predicted_BB0.000-0.237
predicted_H1.0000.667
predicted_HR0.000-0.046
predicted_OBP0.3330.137
predicted_R1.0000.341
predicted_RBI0.000-0.280
predicted_SLG0.333-0.003
predicted_SO1.0000.292
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B1.0001.000
AB4.0001.000
BB0.0000.000
CS0.0000.000
H1.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: 6
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-9.0002.0000.0001.0000.0001.0002.0001.0003.0000.22220.33330.44440.22220.00000.11110.11110.3333
last_100.206-11.0003.0000.0001.0001.0002.0003.0001.0003.0000.27270.35710.72730.27270.09090.18180.09090.2727
season0.606-11.0003.0000.0001.0001.0002.0003.0001.0003.0000.27270.35710.72730.27270.09090.18180.09090.2727
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1020
predicted_3B0.1170
predicted_AB3.1660
predicted_AVG0.2425
predicted_BB0.2590
predicted_H0.7680
predicted_HBP0.1270
predicted_HR0.0910
predicted_OBP0.3155
predicted_R0.5160
predicted_RBI0.3970
predicted_SLG0.4347
predicted_SO0.8070
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.00000.10200.0256model_form_blend
predicted_3B0.22700.11700.1994model_form_blend
predicted_AB2.50003.16602.6669model_form_blend
predicted_AVG0.30500.24250.2893model_form_blend
predicted_BB0.22700.25900.2350model_form_blend
predicted_H0.18000.76800.3273model_form_blend
predicted_HBP-0.12700.1270form_only
predicted_HR0.03000.09100.0453model_form_blend
predicted_OBP0.30500.31550.3076model_form_blend
predicted_R0.68200.51600.6404model_form_blend
predicted_RBI0.23000.39700.2718model_form_blend
predicted_SLG0.41000.43470.4162model_form_blend
predicted_SO0.68200.80700.7133model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date16
Season rows before report date16
Report year2026
Profile rows used6
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest 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
allPositionsPlayedPH
gameID20260818_WAS@TEX
game_typeph
mlbID687605
noteLined out for Vivas in the 9th.
playerID687605
playerNameAndrew Pinckney
posLF
startedFalse
startingPositionPH
teamWAS
teamID30
game_date2026-08-18
game_pk822859.0
sl_k_percent21.4
sl_bb_percent7.1
sl_woba0.426
sl_xwoba0.376
sl_xba0.252
sl_xslg0.44
sl_sweet_spot_percent44.4
sl_barrel_batted_rate11.1
sl_hard_hit_percent55.6
sl_exit_velocity_avg95.9
sl_launch_angle_avg11.4
sl_whiff_percent23.8
sl_swing_percent42.0
at_bat_number70.0
ab_pitcher641302.0
ab_pitcher_nameAlexander, Tyler
ab_home_teamTEX
ab_away_teamWSH
ab_game_typeR
ab_standR
ab_p_throwsL
ab_inning9.0
ab_inning_topbotTop
ab_outs_when_up1.0
ab_on_1b_start686611.0
ab_balls_start0.0
ab_strikes_start0.0
ab_home_score_start5.0
ab_away_score_start0.0
ab_bat_score_start0.0
ab_fld_score_start5.0
ab_eventfield_out
ab_event_descriptionAndrew Pinckney lines out to left fielder Jarred Kelenic.
ab_event_typeX
ab_bb_typeline_drive
ab_hit_location7.0
ab_pitch_type_lastCH
ab_pitch_name_lastChangeup
ab_zone_last9.0
ab_launch_speed_last92.4
ab_launch_angle_last19.0
ab_hit_distance_last307.0
ab_estimated_ba_last0.44
ab_estimated_woba_last0.403
ab_estimated_slg_last0.553
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_end5.0
ab_away_score_end0.0
ab_bat_score_end0.0
ab_fld_score_end5.0
ab_pitch_count3.0
ab_release_speed_avg84.83333333333333
ab_release_spin_rate_avg2127.333333333333
ab_effective_speed_avg84.93333333333334
ab_launch_speed_avg92.4
ab_launch_angle_avg19.0
ab_delta_run_exp_avg-0.0863333333333333
ab_delta_home_win_exp_avg0.0016666666666666
ab_delta_pitcher_run_exp_avg0.0863333333333333
ab_launch_speed_max92.4
ab_hit_distance_sc_max307.0
ab_release_speed_max88.3
ab_release_spin_rate_max2517.0
ab_release_speed_min80.4
ab_release_spin_rate_min1454.0
ab_delta_run_exp_sum-0.259
ab_delta_home_win_exp_sum0.005
ab_delta_pitcher_run_exp_sum0.259
ab_result_is_hitFalse
ab_result_is_walkFalse
ab_result_is_strikeoutFalse
ab_result_is_hbpFalse
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 20260820: 137
All-history rows before 20260820: 137
System season_avg: 0.2500
Data season_avg (2026 season-to-date): 0.2654
Diff (system - data): -0.0154
System opponent_avg: 0.8000
System season_avg diverges from 2026 season-to-date by -0.0154. 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.2160.0000.000Hitting_2B0.1821.000-0.182-1.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.5004.0003.000Hitting_AB2.6134.0001.3870.000
predicted_AVG0.3710.2500.333Hitting_AVG0.2650.750-0.015-0.500
predicted_BB0.2590.0000.000Hitting_BB0.3140.000-0.3140.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.7501.0001.000Hitting_H0.6933.0000.307-2.000
predicted_HR0.2401.0000.000Hitting_HR0.2041.0000.7960.000
predicted_OBP0.3810.2500.333Hitting_OBP0.3650.750-0.115-0.500
predicted_R0.5171.0001.000Hitting_R0.6133.0000.387-2.000
predicted_RBI0.6402.0001.000Hitting_RBI0.8543.0001.146-1.000
predicted_SLG0.6731.0000.333Hitting_SLG0.5701.7500.430-0.750
predicted_SO0.6681.0001.000Hitting_SO0.6420.0000.3581.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: 2.5000 -> 4.0000 (boost 1.5000, better)
Biggest Deboostpredicted_BB: 0.2590 -> 0.0000 (deboost -0.2590, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend42222predicted_AB: 2.5000 -> 2.5863 (boost 0.0863, better)predicted_AVG: 0.3710 -> 0.3432 (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_snapshot31212predicted_SLG: 0.6557 -> 0.6654 (boost 0.0097, better)predicted_AVG: 0.3432 -> 0.3054 (deboost -0.0378, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling84435predicted_AB: 2.5863 -> 3.0000 (boost 0.4137, better)predicted_BB: 0.2525 -> 0.0000 (deboost -0.2525, worse)AB rounded to 3 (raw=2.59), rates preserved: AVG=0.305 HR/AB=0.089
5consistency_constraints11010predicted_R: 0.5929 -> 1.0000 (boost 0.4071, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context31212predicted_AVG: 0.3054 -> 0.3330 (boost 0.0276, better)predicted_SLG: 0.6654 -> 0.3330 (deboost -0.3324, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference33030predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
8current_json_final32121predicted_SLG: 0.3330 -> 0.6654 (boost 0.3324, better)predicted_AVG: 0.3330 -> 0.3054 (deboost -0.0276, 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.216,
        "predicted_3B": 0.0,
        "predicted_AB": 2.5,
        "predicted_AVG": 0.371,
        "predicted_BB": 0.259,
        "predicted_H": 0.75,
        "predicted_HR": 0.24,
        "predicted_OBP": 0.381,
        "predicted_R": 0.517,
        "predicted_RBI": 0.64,
        "predicted_SLG": 0.673,
        "predicted_SO": 0.668
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2374,
        "predicted_3B": 0.0008,
        "predicted_AB": 2.5863,
        "predicted_AVG": 0.3432,
        "predicted_BB": 0.2507,
        "predicted_H": 0.7765,
        "predicted_HBP": 0.067,
        "predicted_HR": 0.2269,
        "predicted_OBP": 0.3776,
        "predicted_R": 0.5764,
        "predicted_RBI": 0.6677,
        "predicted_SLG": 0.6557,
        "predicted_SO": 0.6668
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.216,
          "after": 0.2374,
          "delta": 0.0214,
          "percent_delta": 0.0991,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0008,
          "delta": 0.0008,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.5,
          "after": 2.5863,
          "delta": 0.0863,
          "percent_delta": 0.0345,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.371,
          "after": 0.3432,
          "delta": -0.0278,
          "percent_delta": -0.0749,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.259,
          "after": 0.2507,
          "delta": -0.0083,
          "percent_delta": -0.032,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.75,
          "after": 0.7765,
          "delta": 0.0265,
          "percent_delta": 0.0353,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.24,
          "after": 0.2269,
          "delta": -0.0131,
          "percent_delta": -0.0546,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.381,
          "after": 0.3776,
          "delta": -0.0034,
          "percent_delta": -0.0089,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.517,
          "after": 0.5764,
          "delta": 0.0594,
          "percent_delta": 0.1149,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.64,
          "after": 0.6677,
          "delta": 0.0277,
          "percent_delta": 0.0433,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.673,
          "after": 0.6557,
          "delta": -0.0173,
          "percent_delta": -0.0257,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.668,
          "after": 0.6668,
          "delta": -0.0012,
          "percent_delta": -0.0018,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.5,
          "after": 2.5863,
          "delta": 0.0863,
          "percent_delta": 0.0345,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.371,
          "after": 0.3432,
          "delta": -0.0278,
          "percent_delta": -0.0749,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 50
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2374,
        "predicted_3B": 0.0008,
        "predicted_AB": 2.5863,
        "predicted_AVG": 0.3054,
        "predicted_BB": 0.2525,
        "predicted_H": 0.7898,
        "predicted_HBP": 0.067,
        "predicted_HR": 0.2308,
        "predicted_OBP": 0.3671,
        "predicted_R": 0.5929,
        "predicted_RBI": 0.6868,
        "predicted_SLG": 0.6654,
        "predicted_SO": 0.6621
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2374,
          "after": 0.2374,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0008,
          "after": 0.0008,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.5863,
          "after": 2.5863,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3432,
          "after": 0.3054,
          "delta": -0.0378,
          "percent_delta": -0.1101,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2507,
          "after": 0.2525,
          "delta": 0.0018,
          "percent_delta": 0.0072,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7765,
          "after": 0.7898,
          "delta": 0.0133,
          "percent_delta": 0.0171,
          "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.2269,
          "after": 0.2308,
          "delta": 0.0039,
          "percent_delta": 0.0172,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3776,
          "after": 0.3671,
          "delta": -0.0105,
          "percent_delta": -0.0278,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5764,
          "after": 0.5929,
          "delta": 0.0165,
          "percent_delta": 0.0286,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6677,
          "after": 0.6868,
          "delta": 0.0191,
          "percent_delta": 0.0286,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.6557,
          "after": 0.6654,
          "delta": 0.0097,
          "percent_delta": 0.0148,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6668,
          "after": 0.6621,
          "delta": -0.0047,
          "percent_delta": -0.007,
          "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.6557,
          "after": 0.6654,
          "delta": 0.0097,
          "percent_delta": 0.0148,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.3432,
          "after": 0.3054,
          "delta": -0.0378,
          "percent_delta": -0.1101,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.59), rates preserved: AVG=0.305 HR/AB=0.089",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2374,
          "after": 0.0,
          "delta": -0.2374,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0008,
          "after": 0.0,
          "delta": -0.0008,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.5863,
          "after": 3.0,
          "delta": 0.4137,
          "percent_delta": 0.16,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2525,
          "after": 0.0,
          "delta": -0.2525,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7898,
          "after": 1.0,
          "delta": 0.2102,
          "percent_delta": 0.2661,
          "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.2308,
          "after": 0.0,
          "delta": -0.2308,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6868,
          "after": 1.0,
          "delta": 0.3132,
          "percent_delta": 0.456,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6621,
          "after": 1.0,
          "delta": 0.3379,
          "percent_delta": 0.5103,
          "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": 2.5863,
          "after": 3.0,
          "delta": 0.4137,
          "percent_delta": 0.16,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2525,
          "after": 0.0,
          "delta": -0.2525,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5929,
          "after": 1.0,
          "delta": 0.4071,
          "percent_delta": 0.6866,
          "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.5929,
          "after": 1.0,
          "delta": 0.4071,
          "percent_delta": 0.6866,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.333,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.333,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.333,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3054,
          "after": 0.333,
          "delta": 0.0276,
          "percent_delta": 0.0904,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3671,
          "after": 0.333,
          "delta": -0.0341,
          "percent_delta": -0.0929,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 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.6654,
          "after": 0.333,
          "delta": -0.3324,
          "percent_delta": -0.4995,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.3054,
          "after": 0.333,
          "delta": 0.0276,
          "percent_delta": 0.0904,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.6654,
          "after": 0.333,
          "delta": -0.3324,
          "percent_delta": -0.4995,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.3054,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_FB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.3671,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.6654,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.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.3054,
          "delta": -0.0276,
          "percent_delta": -0.083,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "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.3671,
          "delta": 0.0341,
          "percent_delta": 0.1025,
          "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.6654,
          "delta": 0.3324,
          "percent_delta": 0.9983,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.333,
          "after": 0.6654,
          "delta": 0.3324,
          "percent_delta": 0.9983,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.333,
          "after": 0.3054,
          "delta": -0.0276,
          "percent_delta": -0.083,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.216,
        "after": 0.0,
        "delta": -0.216,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.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.371,
        "after": 0.3054,
        "delta": -0.0656,
        "percent_delta": -0.1768,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.259,
        "after": 0.0,
        "delta": -0.259,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.75,
        "after": 1.0,
        "delta": 0.25,
        "percent_delta": 0.3333,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.24,
        "after": 1.0,
        "delta": 0.76,
        "percent_delta": 3.1667,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.381,
        "after": 0.3671,
        "delta": -0.0139,
        "percent_delta": -0.0365,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.517,
        "after": 1.0,
        "delta": 0.483,
        "percent_delta": 0.9342,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.64,
        "after": 2.0,
        "delta": 1.36,
        "percent_delta": 2.125,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.673,
        "after": 0.6654,
        "delta": -0.0076,
        "percent_delta": -0.0113,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.668,
        "after": 1.0,
        "delta": 0.332,
        "percent_delta": 0.497,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 6,
      "deboosted_metrics": 5,
      "better_metrics": 5,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 2.5,
        "after": 4.0,
        "delta": 1.5,
        "percent_delta": 0.6,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.259,
        "after": 0.0,
        "delta": -0.259,
        "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.216-
predicted_3B0.000-
predicted_AB2.500-
predicted_AVG0.371-
predicted_BB0.259-
predicted_H0.750-
predicted_HR0.240-
predicted_OBP0.381-
predicted_R0.517-
predicted_RBI0.640-
predicted_SLG0.673-
predicted_SO0.668-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% 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.021
predicted_3B0.0010.001
predicted_AB2.5860.086
predicted_AVG0.343-0.028
predicted_BB0.251-0.008
predicted_H0.7760.026
predicted_HBP0.067-
predicted_HR0.227-0.013
predicted_OBP0.378-0.003
predicted_R0.5760.059
predicted_RBI0.6680.028
predicted_SLG0.656-0.017
predicted_SO0.667-0.001
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.2370.000
predicted_3B0.0010.000
predicted_AB2.5860.000
predicted_AVG0.305-0.038
predicted_BB0.2530.002
predicted_H0.7900.013
predicted_HBP0.0670.000
predicted_HR0.2310.004
predicted_OBP0.367-0.011
predicted_R0.5930.016
predicted_RBI0.6870.019
predicted_SLG0.6650.010
predicted_SO0.662-0.005
4. ab_floor_and_scaling

AB rounded to 3 (raw=2.59), rates preserved: AVG=0.305 HR/AB=0.089

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.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
AB3.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
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.001
predicted_AB3.0000.414
predicted_AVG0.3330.028
predicted_BB0.000-0.253
predicted_H1.0000.210
predicted_HR0.000-0.231
predicted_OBP0.333-0.034
predicted_R1.0000.407
predicted_RBI1.0000.313
predicted_SLG0.333-0.332
predicted_SO1.0000.338
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
H1.0000.000
HBP0.0000.000
HR1.0001.000
PA4.000-
R1.0000.000
RBI2.0001.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 50
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-14.0006.0002.0000.0002.0004.0006.0001.0003.0000.42860.46671.00000.42860.14290.28570.07140.2143
last_100.2010-26.00010.0004.0000.0002.0009.0008.0002.0006.0000.38460.44830.76920.38460.07690.34620.07690.2308
season0.6050-116.00029.00010.0000.0008.00032.00024.00012.00031.0000.25000.34090.54310.25000.06900.27590.10350.2672
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2700
predicted_3B0.0020
predicted_AB2.7180
predicted_AVG0.3007
predicted_BB0.2380
predicted_H0.8170
predicted_HBP0.0670
predicted_HR0.2070
predicted_OBP0.3723
predicted_R0.6670
predicted_RBI0.7100
predicted_SLG0.6294
predicted_SO0.6650
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.21600.27000.2374model_form_blend
predicted_3B0.00000.00200.0008model_form_blend
predicted_AB2.50002.71802.5863model_form_blend
predicted_AVG0.37100.30070.3432model_form_blend
predicted_BB0.25900.23800.2507model_form_blend
predicted_H0.75000.81700.7765model_form_blend
predicted_HBP-0.06700.0670form_only
predicted_HR0.24000.20700.2269model_form_blend
predicted_OBP0.38100.37230.3776model_form_blend
predicted_R0.51700.66700.5764model_form_blend
predicted_RBI0.64000.71000.6677model_form_blend
predicted_SLG0.67300.62940.6557model_form_blend
predicted_SO0.66800.66500.6668model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date137
Season rows before report date137
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
H1
2B0
3B0
HR1
R1
RBI2
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_2B1
Hitting_3B0
Hitting_AB4
Hitting_AVG0.75
Hitting_BB0
Hitting_GIDP0
Hitting_H3
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R3
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
gameID20260819_WAS@TEX
game_typefull
mlbID665953
playerID665953
playerNameAndrés Chaparro
pos1B
startedTrue
startingPositionDH
teamWAS
teamID30
game_date2026-08-19
game_pk822860.0
sl_k_percent22.8
sl_bb_percent11.8
sl_woba0.389
sl_xwoba0.377
sl_xba0.25
sl_xslg0.51
sl_sweet_spot_percent29.4
sl_barrel_batted_rate15.3
sl_hard_hit_percent49.4
sl_exit_velocity_avg89.5
sl_launch_angle_avg14.4
sl_whiff_percent31.3
sl_swing_percent46.4
at_bat_number54.0
ab_pitcher682608.0
ab_pitcher_nameGray, Peyton
ab_home_teamTEX
ab_away_teamWSH
ab_game_typeR
ab_standR
ab_p_throwsR
ab_inning7.0
ab_inning_topbotTop
ab_outs_when_up2.0
ab_on_2b_start677588.0
ab_on_3b_start694673.0
ab_balls_start0.0
ab_strikes_start0.0
ab_home_score_start0.0
ab_away_score_start3.0
ab_bat_score_start3.0
ab_fld_score_start0.0
ab_eventhome_run
ab_event_descriptionAndrés Chaparro homers (8) on a fly ball to left field. Abimelec Ortiz scores. José Tena scores.
ab_event_typeX
ab_bb_typefly_ball
ab_pitch_type_lastSL
ab_pitch_name_lastSlider
ab_zone_last2.0
ab_launch_speed_last104.5
ab_launch_angle_last34.0
ab_hit_distance_last397.0
ab_estimated_ba_last0.726
ab_estimated_woba_last1.44
ab_estimated_slg_last2.825
ab_woba_value2.0
ab_woba_denom1.0
ab_babip_value0.0
ab_iso_value3.0
ab_balls_end2.0
ab_strikes_end1.0
ab_home_score_end0.0
ab_away_score_end6.0
ab_bat_score_end6.0
ab_fld_score_end0.0
ab_pitch_count4.0
ab_release_speed_avg85.125
ab_release_spin_rate_avg2199.0
ab_effective_speed_avg86.15
ab_launch_speed_avg104.5
ab_launch_angle_avg34.0
ab_delta_run_exp_avg0.3229999999999999
ab_delta_home_win_exp_avg-0.021
ab_delta_pitcher_run_exp_avg-0.3229999999999999
ab_bat_speed_avg73.85
ab_swing_length_avg7.75
ab_launch_speed_max104.5
ab_hit_distance_sc_max397.0
ab_release_speed_max88.0
ab_release_spin_rate_max2584.0
ab_release_speed_min83.3
ab_release_spin_rate_min1785.0
ab_delta_run_exp_sum1.2919999999999998
ab_delta_home_win_exp_sum-0.084
ab_delta_pitcher_run_exp_sum-1.2919999999999998
ab_result_is_hitTrue
ab_result_is_walkFalse
ab_result_is_strikeoutFalse
ab_result_is_hbpFalse
Keibert Ruiz (660688) · BATTER · C · Team WAS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 285
All-history rows before 20260820: 285
System season_avg: 0.2790
Data season_avg (2026 season-to-date): 0.2776
Diff (system - data): 0.0014
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.2631.0000.000Hitting_2B0.2740.0000.7261.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.6604.0004.000Hitting_AB3.4633.0000.5371.000
predicted_AVG0.3030.2500.250Hitting_AVG0.2780.667-0.028-0.417
predicted_BB0.1750.0000.000Hitting_BB0.1931.000-0.193-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0140.000-0.0140.000
predicted_H1.1101.0001.000Hitting_H0.9612.0000.039-1.000
predicted_HR0.0700.0000.000Hitting_HR0.1020.000-0.1020.000
predicted_OBP0.3680.2500.250Hitting_OBP0.3170.750-0.067-0.500
predicted_R0.4621.0000.000Hitting_R0.5050.0000.4951.000
predicted_RBI0.6201.0001.000Hitting_RBI0.5541.0000.4460.000
predicted_SLG0.4190.5000.250Hitting_SLG0.4450.6670.055-0.167
predicted_SO0.4120.0000.000Hitting_SO0.4560.000-0.4560.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.2630 -> 1.0000 (boost 0.7370, better)
Biggest Deboostpredicted_SO: 0.4120 -> 0.0000 (deboost -0.4120, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend32121predicted_AVG: 0.3030 -> 0.3129 (boost 0.0099, better)predicted_AB: 3.6600 -> 3.5389 (deboost -0.1211, worse)Final model input calibrated 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.4250 -> 0.4392 (boost 0.0142, better)predicted_OBP: 0.3719 -> 0.3582 (deboost -0.0137, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling72534predicted_AB: 3.5389 -> 4.0000 (boost 0.4611, better)predicted_SO: 0.4234 -> 0.0000 (deboost -0.4234, better)AB rounded to 4 (raw=3.66), rates preserved: AVG=0.307 HR/AB=0.018
5consistency_constraints10101-predicted_R: 0.4518 -> 0.0000 (deboost -0.4518, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context30303-predicted_SLG: 0.4392 -> 0.2500 (deboost -0.1892, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference22020predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
8current_json_final33030predicted_SLG: 0.2500 -> 0.4392 (boost 0.1892, better)-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.263,
        "predicted_3B": 0.0,
        "predicted_AB": 3.66,
        "predicted_AVG": 0.303,
        "predicted_BB": 0.175,
        "predicted_H": 1.11,
        "predicted_HR": 0.07,
        "predicted_OBP": 0.368,
        "predicted_R": 0.462,
        "predicted_RBI": 0.62,
        "predicted_SLG": 0.419,
        "predicted_SO": 0.412
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2275,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.5389,
        "predicted_AVG": 0.3129,
        "predicted_BB": 0.2206,
        "predicted_H": 1.1062,
        "predicted_HBP": 0.017,
        "predicted_HR": 0.0658,
        "predicted_OBP": 0.3719,
        "predicted_R": 0.4392,
        "predicted_RBI": 0.6052,
        "predicted_SLG": 0.425,
        "predicted_SO": 0.4264
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.263,
          "after": 0.2275,
          "delta": -0.0355,
          "percent_delta": -0.135,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0004,
          "delta": 0.0004,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.66,
          "after": 3.5389,
          "delta": -0.1211,
          "percent_delta": -0.0331,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.303,
          "after": 0.3129,
          "delta": 0.0099,
          "percent_delta": 0.0327,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.175,
          "after": 0.2206,
          "delta": 0.0456,
          "percent_delta": 0.2606,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.11,
          "after": 1.1062,
          "delta": -0.0038,
          "percent_delta": -0.0034,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.07,
          "after": 0.0658,
          "delta": -0.0042,
          "percent_delta": -0.06,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.368,
          "after": 0.3719,
          "delta": 0.0039,
          "percent_delta": 0.0106,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.462,
          "after": 0.4392,
          "delta": -0.0228,
          "percent_delta": -0.0494,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.62,
          "after": 0.6052,
          "delta": -0.0148,
          "percent_delta": -0.0239,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.419,
          "after": 0.425,
          "delta": 0.006,
          "percent_delta": 0.0143,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.412,
          "after": 0.4264,
          "delta": 0.0144,
          "percent_delta": 0.035,
          "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.303,
          "after": 0.3129,
          "delta": 0.0099,
          "percent_delta": 0.0327,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.66,
          "after": 3.5389,
          "delta": -0.1211,
          "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": 5,
        "last_10": 10,
        "season": 80
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2275,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.5389,
        "predicted_AVG": 0.3179,
        "predicted_BB": 0.2221,
        "predicted_H": 1.1251,
        "predicted_HBP": 0.017,
        "predicted_HR": 0.0669,
        "predicted_OBP": 0.3582,
        "predicted_R": 0.4518,
        "predicted_RBI": 0.6225,
        "predicted_SLG": 0.4392,
        "predicted_SO": 0.4234
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2275,
          "after": 0.2275,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.5389,
          "after": 3.5389,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3129,
          "after": 0.3179,
          "delta": 0.005,
          "percent_delta": 0.016,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2206,
          "after": 0.2221,
          "delta": 0.0015,
          "percent_delta": 0.0068,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.1062,
          "after": 1.1251,
          "delta": 0.0189,
          "percent_delta": 0.0171,
          "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.0658,
          "after": 0.0669,
          "delta": 0.0011,
          "percent_delta": 0.0167,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3719,
          "after": 0.3582,
          "delta": -0.0137,
          "percent_delta": -0.0368,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4392,
          "after": 0.4518,
          "delta": 0.0126,
          "percent_delta": 0.0287,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6052,
          "after": 0.6225,
          "delta": 0.0173,
          "percent_delta": 0.0286,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.425,
          "after": 0.4392,
          "delta": 0.0142,
          "percent_delta": 0.0334,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.4264,
          "after": 0.4234,
          "delta": -0.003,
          "percent_delta": -0.007,
          "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.425,
          "after": 0.4392,
          "delta": 0.0142,
          "percent_delta": 0.0334,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3719,
          "after": 0.3582,
          "delta": -0.0137,
          "percent_delta": -0.0368,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.66), rates preserved: AVG=0.307 HR/AB=0.018",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2275,
          "after": 0.0,
          "delta": -0.2275,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0,
          "delta": -0.0004,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.5389,
          "after": 4.0,
          "delta": 0.4611,
          "percent_delta": 0.1303,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2221,
          "after": 0.0,
          "delta": -0.2221,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.1251,
          "after": 1.0,
          "delta": -0.1251,
          "percent_delta": -0.1112,
          "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.0669,
          "after": 0.0,
          "delta": -0.0669,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6225,
          "after": 1.0,
          "delta": 0.3775,
          "percent_delta": 0.6064,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.4234,
          "after": 0.0,
          "delta": -0.4234,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 2,
        "deboosted_metrics": 5,
        "better_metrics": 3,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.5389,
          "after": 4.0,
          "delta": 0.4611,
          "percent_delta": 0.1303,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.4234,
          "after": 0.0,
          "delta": -0.4234,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4518,
          "after": 0.0,
          "delta": -0.4518,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 0.4518,
          "after": 0.0,
          "delta": -0.4518,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.25,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.25,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3179,
          "after": 0.25,
          "delta": -0.0679,
          "percent_delta": -0.2136,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3582,
          "after": 0.25,
          "delta": -0.1082,
          "percent_delta": -0.3021,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "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.4392,
          "after": 0.25,
          "delta": -0.1892,
          "percent_delta": -0.4308,
          "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.4392,
          "after": 0.25,
          "delta": -0.1892,
          "percent_delta": -0.4308,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 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": 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_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.3179,
        "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.3582,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4392,
        "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.3179,
          "delta": 0.0679,
          "percent_delta": 0.2717,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.3582,
          "delta": 0.1082,
          "percent_delta": 0.4329,
          "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.4392,
          "delta": 0.1892,
          "percent_delta": 0.7567,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.4392,
          "delta": 0.1892,
          "percent_delta": 0.7567,
          "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": 1.0,
        "delta": 0.737,
        "percent_delta": 2.8023,
        "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.66,
        "after": 4.0,
        "delta": 0.34,
        "percent_delta": 0.0929,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.303,
        "after": 0.3179,
        "delta": 0.0149,
        "percent_delta": 0.0492,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.175,
        "after": 0.0,
        "delta": -0.175,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.11,
        "after": 1.0,
        "delta": -0.11,
        "percent_delta": -0.0991,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.07,
        "after": 0.0,
        "delta": -0.07,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.368,
        "after": 0.3582,
        "delta": -0.0098,
        "percent_delta": -0.0266,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.462,
        "after": 1.0,
        "delta": 0.538,
        "percent_delta": 1.1645,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.62,
        "after": 1.0,
        "delta": 0.38,
        "percent_delta": 0.6129,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.419,
        "after": 0.4392,
        "delta": 0.0202,
        "percent_delta": 0.0482,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.412,
        "after": 0.0,
        "delta": -0.412,
        "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.263,
        "after": 1.0,
        "delta": 0.737,
        "percent_delta": 2.8023,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.412,
        "after": 0.0,
        "delta": -0.412,
        "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.263-
predicted_3B0.000-
predicted_AB3.660-
predicted_AVG0.303-
predicted_BB0.175-
predicted_H1.110-
predicted_HR0.070-
predicted_OBP0.368-
predicted_R0.462-
predicted_RBI0.620-
predicted_SLG0.419-
predicted_SO0.412-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.228-0.036
predicted_3B0.0000.000
predicted_AB3.539-0.121
predicted_AVG0.3130.010
predicted_BB0.2210.046
predicted_H1.106-0.004
predicted_HBP0.017-
predicted_HR0.066-0.004
predicted_OBP0.3720.004
predicted_R0.439-0.023
predicted_RBI0.605-0.015
predicted_SLG0.4250.006
predicted_SO0.4260.014
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.2280.000
predicted_3B0.0000.000
predicted_AB3.5390.000
predicted_AVG0.3180.005
predicted_BB0.2220.002
predicted_H1.1250.019
predicted_HBP0.0170.000
predicted_HR0.0670.001
predicted_OBP0.358-0.014
predicted_R0.4520.013
predicted_RBI0.6230.017
predicted_SLG0.4390.014
predicted_SO0.423-0.003
4. ab_floor_and_scaling

AB rounded to 4 (raw=3.66), rates preserved: AVG=0.307 HR/AB=0.018

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO0.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-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO0.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.228
predicted_3B0.000-0.000
predicted_AB4.0000.461
predicted_AVG0.250-0.068
predicted_BB0.000-0.222
predicted_H1.000-0.125
predicted_HR0.000-0.067
predicted_OBP0.250-0.108
predicted_R0.000-0.452
predicted_RBI1.0000.377
predicted_SLG0.250-0.189
predicted_SO0.000-0.423
7. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 80
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-17.0007.0000.0000.0000.0004.0001.0002.0002.0000.41180.47370.41180.41180.00000.23530.11770.1177
last_100.2010-33.00014.0001.0000.0000.0006.0004.0005.0004.0000.42420.50000.45450.42420.00000.18180.15150.1212
season0.6080-265.00074.00021.0000.0007.00042.00037.00014.00033.0000.27920.31690.43770.27920.02640.15850.05280.1245
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1790
predicted_3B0.0010
predicted_AB3.3730
predicted_AVG0.3264
predicted_BB0.2830
predicted_H1.1010
predicted_HBP0.0170
predicted_HR0.0600
predicted_OBP0.3773
predicted_R0.4080
predicted_RBI0.5850
predicted_SLG0.4332
predicted_SO0.4460
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.26300.17900.2275model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.66003.37303.5389model_form_blend
predicted_AVG0.30300.32640.3129model_form_blend
predicted_BB0.17500.28300.2206model_form_blend
predicted_H1.11001.10101.1062model_form_blend
predicted_HBP-0.01700.0170form_only
predicted_HR0.07000.06000.0658model_form_blend
predicted_OBP0.36800.37730.3719model_form_blend
predicted_R0.46200.40800.4392model_form_blend
predicted_RBI0.62000.58500.6052model_form_blend
predicted_SLG0.41900.43320.4250model_form_blend
predicted_SO0.41200.44600.4264model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date285
Season rows before report date285
Report year2026
Profile rows used80
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.667
Hitting_BB1
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB2
Hitting_battingOrder6
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedC
gameID20260819_WAS@TEX
game_typefull
mlbID660688
playerID660688
playerNameKeibert Ruiz
posC
startedTrue
startingPositionC
teamWAS
teamID30
game_date2026-08-19
game_pk822860.0
sl_k_percent11.6
sl_bb_percent4.9
sl_woba0.326
sl_xwoba0.283
sl_xba0.244
sl_xslg0.362
sl_sweet_spot_percent34.9
sl_barrel_batted_rate4.7
sl_hard_hit_percent37.4
sl_exit_velocity_avg88.5
sl_launch_angle_avg16.8
sl_whiff_percent13.5
sl_swing_percent52.0
at_bat_number55.0
ab_pitcher682608.0
ab_pitcher_nameGray, Peyton
ab_home_teamTEX
ab_away_teamWSH
ab_game_typeR
ab_standL
ab_p_throwsR
ab_inning7.0
ab_inning_topbotTop
ab_outs_when_up2.0
ab_balls_start0.0
ab_strikes_start0.0
ab_home_score_start0.0
ab_away_score_start6.0
ab_bat_score_start6.0
ab_fld_score_start0.0
ab_eventfield_out
ab_event_descriptionKeibert Ruiz flies out to left fielder Jarred Kelenic.
ab_event_typeX
ab_bb_typefly_ball
ab_hit_location7.0
ab_pitch_type_lastFF
ab_pitch_name_last4-Seam Fastball
ab_zone_last1.0
ab_launch_speed_last83.4
ab_launch_angle_last49.0
ab_hit_distance_last247.0
ab_estimated_ba_last0.014
ab_estimated_woba_last0.015
ab_estimated_slg_last0.022
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_end0.0
ab_away_score_end6.0
ab_bat_score_end6.0
ab_fld_score_end0.0
ab_pitch_count3.0
ab_release_speed_avg94.46666666666664
ab_release_spin_rate_avg2284.6666666666665
ab_effective_speed_avg95.13333333333333
ab_launch_speed_avg78.1
ab_launch_angle_avg43.0
ab_delta_run_exp_avg-0.0863333333333333
ab_delta_home_win_exp_avg0.0
ab_delta_pitcher_run_exp_avg0.0863333333333333
ab_bat_speed_avg62.85
ab_swing_length_avg5.8
ab_launch_speed_max83.4
ab_hit_distance_sc_max247.0
ab_release_speed_max95.1
ab_release_spin_rate_max2354.0
ab_release_speed_min94.1
ab_release_spin_rate_min2233.0
ab_delta_run_exp_sum-0.259
ab_delta_home_win_exp_sum0.0
ab_delta_pitcher_run_exp_sum0.259
ab_result_is_hitFalse
ab_result_is_walkFalse
ab_result_is_strikeoutFalse
ab_result_is_hbpFalse
Brady House (691781) · BATTER · 3B · Team WAS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 250
All-history rows before 20260820: 250
System season_avg: 0.2350
Data season_avg (2026 season-to-date): 0.2413
Diff (system - data): -0.0063
System opponent_avg: 0.2350

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1560.0000.000Hitting_2B0.1760.000-0.1760.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.5944.0004.000Hitting_AB3.8961.0000.1043.000
predicted_AVG0.1890.2500.250Hitting_AVG0.2410.0000.0090.250
predicted_BB0.2340.0000.000Hitting_BB0.2680.000-0.2680.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.3501.0001.000Hitting_H0.9400.0000.0601.000
predicted_HR0.1200.0000.000Hitting_HR0.1600.000-0.1600.000
predicted_OBP0.2610.2500.250Hitting_OBP0.2960.000-0.0460.250
predicted_R0.4840.0000.000Hitting_R0.5480.000-0.5480.000
predicted_RBI0.3000.0000.000Hitting_RBI0.5440.000-0.5440.000
predicted_SLG0.4300.2500.250Hitting_SLG0.4100.000-0.1600.250
predicted_SO1.1252.0001.000Hitting_SO1.2080.0000.7922.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics3
Deboosted Metrics8
Better Metrics2
Worse Metrics9
Biggest Boostpredicted_SO: 1.1250 -> 2.0000 (boost 0.8750, worse)
Biggest Deboostpredicted_R: 0.4840 -> 0.0000 (deboost -0.4840, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend64242predicted_H: 0.3500 -> 0.5463 (boost 0.1963, better)predicted_AB: 3.5940 -> 3.5220 (deboost -0.0720, worse)Final model input calibrated 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.4163 -> 0.3090 (deboost -0.1073, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling82635predicted_AB: 3.5220 -> 4.0000 (boost 0.4780, better)predicted_RBI: 0.4128 -> 0.0000 (deboost -0.4128, worse)AB rounded to 4 (raw=3.59), rates preserved: AVG=0.155 HR/AB=0.037
5consistency_constraints10101-predicted_R: 0.4750 -> 0.0000 (deboost -0.4750, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context32121predicted_AVG: 0.1578 -> 0.2500 (boost 0.0922, better)predicted_SLG: 0.3090 -> 0.2500 (deboost -0.0590, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference11001predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse)-Attached simulation box score without overwriting model prediction
8current_json_final31212predicted_SLG: 0.2500 -> 0.3090 (boost 0.0590, better)predicted_AVG: 0.2500 -> 0.1578 (deboost -0.0922, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "691781",
  "player_name": "Brady House",
  "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.156,
        "predicted_3B": 0.0,
        "predicted_AB": 3.594,
        "predicted_AVG": 0.189,
        "predicted_BB": 0.234,
        "predicted_H": 0.35,
        "predicted_HR": 0.12,
        "predicted_OBP": 0.261,
        "predicted_R": 0.484,
        "predicted_RBI": 0.3,
        "predicted_SLG": 0.43,
        "predicted_SO": 1.125
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1313,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.522,
        "predicted_AVG": 0.2101,
        "predicted_BB": 0.2047,
        "predicted_H": 0.5463,
        "predicted_HBP": 0.151,
        "predicted_HR": 0.1313,
        "predicted_OBP": 0.2786,
        "predicted_R": 0.4618,
        "predicted_RBI": 0.4013,
        "predicted_SLG": 0.4163,
        "predicted_SO": 1.0974
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.156,
          "after": 0.1313,
          "delta": -0.0247,
          "percent_delta": -0.1583,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0004,
          "delta": 0.0004,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.594,
          "after": 3.522,
          "delta": -0.072,
          "percent_delta": -0.02,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.189,
          "after": 0.2101,
          "delta": 0.0211,
          "percent_delta": 0.1116,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.234,
          "after": 0.2047,
          "delta": -0.0293,
          "percent_delta": -0.1252,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.35,
          "after": 0.5463,
          "delta": 0.1963,
          "percent_delta": 0.5609,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.12,
          "after": 0.1313,
          "delta": 0.0113,
          "percent_delta": 0.0942,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.261,
          "after": 0.2786,
          "delta": 0.0176,
          "percent_delta": 0.0674,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.484,
          "after": 0.4618,
          "delta": -0.0222,
          "percent_delta": -0.0459,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3,
          "after": 0.4013,
          "delta": 0.1013,
          "percent_delta": 0.3377,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.43,
          "after": 0.4163,
          "delta": -0.0137,
          "percent_delta": -0.0319,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.125,
          "after": 1.0974,
          "delta": -0.0276,
          "percent_delta": -0.0245,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.35,
          "after": 0.5463,
          "delta": 0.1963,
          "percent_delta": 0.5609,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.594,
          "after": 3.522,
          "delta": -0.072,
          "percent_delta": -0.02,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 64
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1313,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.522,
        "predicted_AVG": 0.1578,
        "predicted_BB": 0.2061,
        "predicted_H": 0.5556,
        "predicted_HBP": 0.151,
        "predicted_HR": 0.1335,
        "predicted_OBP": 0.2043,
        "predicted_R": 0.475,
        "predicted_RBI": 0.4128,
        "predicted_SLG": 0.309,
        "predicted_SO": 1.0897
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1313,
          "after": 0.1313,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.522,
          "after": 3.522,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2101,
          "after": 0.1578,
          "delta": -0.0523,
          "percent_delta": -0.2489,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2047,
          "after": 0.2061,
          "delta": 0.0014,
          "percent_delta": 0.0068,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.5463,
          "after": 0.5556,
          "delta": 0.0093,
          "percent_delta": 0.017,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.151,
          "after": 0.151,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1313,
          "after": 0.1335,
          "delta": 0.0022,
          "percent_delta": 0.0168,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2786,
          "after": 0.2043,
          "delta": -0.0743,
          "percent_delta": -0.2667,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4618,
          "after": 0.475,
          "delta": 0.0132,
          "percent_delta": 0.0286,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4013,
          "after": 0.4128,
          "delta": 0.0115,
          "percent_delta": 0.0287,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4163,
          "after": 0.309,
          "delta": -0.1073,
          "percent_delta": -0.2577,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0974,
          "after": 1.0897,
          "delta": -0.0077,
          "percent_delta": -0.007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.4163,
          "after": 0.309,
          "delta": -0.1073,
          "percent_delta": -0.2577,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.59), rates preserved: AVG=0.155 HR/AB=0.037",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1313,
          "after": 0.0,
          "delta": -0.1313,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0,
          "delta": -0.0004,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.522,
          "after": 4.0,
          "delta": 0.478,
          "percent_delta": 0.1357,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2061,
          "after": 0.0,
          "delta": -0.2061,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.5556,
          "after": 1.0,
          "delta": 0.4444,
          "percent_delta": 0.7999,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.151,
          "after": 0.0,
          "delta": -0.151,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1335,
          "after": 0.0,
          "delta": -0.1335,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4128,
          "after": 0.0,
          "delta": -0.4128,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0897,
          "after": 1.0,
          "delta": -0.0897,
          "percent_delta": -0.0823,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 2,
        "deboosted_metrics": 6,
        "better_metrics": 3,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.522,
          "after": 4.0,
          "delta": 0.478,
          "percent_delta": 0.1357,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4128,
          "after": 0.0,
          "delta": -0.4128,
          "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.475,
          "after": 0.0,
          "delta": -0.475,
          "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.475,
          "after": 0.0,
          "delta": -0.475,
          "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.1578,
          "after": 0.25,
          "delta": 0.0922,
          "percent_delta": 0.5843,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2043,
          "after": 0.25,
          "delta": 0.0457,
          "percent_delta": 0.2237,
          "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.309,
          "after": 0.25,
          "delta": -0.059,
          "percent_delta": -0.1909,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.1578,
          "after": 0.25,
          "delta": 0.0922,
          "percent_delta": 0.5843,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.309,
          "after": 0.25,
          "delta": -0.059,
          "percent_delta": -0.1909,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.1578,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2043,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.309,
        "predicted_SO": 2.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.1578,
          "delta": -0.0922,
          "percent_delta": -0.3689,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.2043,
          "delta": -0.0457,
          "percent_delta": -0.1827,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 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.309,
          "delta": 0.059,
          "percent_delta": 0.236,
          "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.309,
          "delta": 0.059,
          "percent_delta": 0.236,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.1578,
          "delta": -0.0922,
          "percent_delta": -0.3689,
          "direction": "deboost",
          "projection_effect": "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.594,
        "after": 4.0,
        "delta": 0.406,
        "percent_delta": 0.113,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.189,
        "after": 0.1578,
        "delta": -0.0312,
        "percent_delta": -0.1651,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.234,
        "after": 0.0,
        "delta": -0.234,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.35,
        "after": 1.0,
        "delta": 0.65,
        "percent_delta": 1.8571,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.12,
        "after": 0.0,
        "delta": -0.12,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.261,
        "after": 0.2043,
        "delta": -0.0567,
        "percent_delta": -0.2172,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.484,
        "after": 0.0,
        "delta": -0.484,
        "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.43,
        "after": 0.309,
        "delta": -0.121,
        "percent_delta": -0.2814,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.125,
        "after": 2.0,
        "delta": 0.875,
        "percent_delta": 0.7778,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 3,
      "deboosted_metrics": 8,
      "better_metrics": 2,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 1.125,
        "after": 2.0,
        "delta": 0.875,
        "percent_delta": 0.7778,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.484,
        "after": 0.0,
        "delta": -0.484,
        "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.156-
predicted_3B0.000-
predicted_AB3.594-
predicted_AVG0.189-
predicted_BB0.234-
predicted_H0.350-
predicted_HR0.120-
predicted_OBP0.261-
predicted_R0.484-
predicted_RBI0.300-
predicted_SLG0.430-
predicted_SO1.125-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.131-0.025
predicted_3B0.0000.000
predicted_AB3.522-0.072
predicted_AVG0.2100.021
predicted_BB0.205-0.029
predicted_H0.5460.196
predicted_HBP0.151-
predicted_HR0.1310.011
predicted_OBP0.2790.018
predicted_R0.462-0.022
predicted_RBI0.4010.101
predicted_SLG0.416-0.014
predicted_SO1.097-0.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.1310.000
predicted_3B0.0000.000
predicted_AB3.5220.000
predicted_AVG0.158-0.052
predicted_BB0.2060.001
predicted_H0.5560.009
predicted_HBP0.1510.000
predicted_HR0.1340.002
predicted_OBP0.204-0.074
predicted_R0.4750.013
predicted_RBI0.4130.012
predicted_SLG0.309-0.107
predicted_SO1.090-0.008
4. ab_floor_and_scaling

AB rounded to 4 (raw=3.59), rates preserved: AVG=0.155 HR/AB=0.037

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.131
predicted_3B0.000-0.000
predicted_AB4.0000.478
predicted_AVG0.2500.092
predicted_BB0.000-0.206
predicted_H1.0000.444
predicted_HR0.000-0.134
predicted_OBP0.2500.046
predicted_R0.000-0.475
predicted_RBI0.000-0.413
predicted_SLG0.250-0.059
predicted_SO1.000-0.090
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
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO2.0001.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 64
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-14.0003.0000.0000.0001.0004.0001.0000.0005.0000.21430.31250.42860.21430.07140.28570.00000.3571
last_100.2010-33.0009.0000.0000.0001.0004.0005.0001.00010.0000.27270.33330.36360.27270.03030.12120.03030.3030
season0.6064-230.00054.00010.0000.0009.00031.00031.00015.00072.0000.23480.28920.39570.23480.03910.13480.06520.3130
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0970
predicted_3B0.0010
predicted_AB3.4220
predicted_AVG0.2393
predicted_BB0.1640
predicted_H0.8190
predicted_HBP0.1510
predicted_HR0.1470
predicted_OBP0.3030
predicted_R0.4310
predicted_RBI0.5420
predicted_SLG0.3972
predicted_SO1.0590
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15600.09700.1313model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.59403.42203.5220model_form_blend
predicted_AVG0.18900.23930.2101model_form_blend
predicted_BB0.23400.16400.2047model_form_blend
predicted_H0.35000.81900.5463model_form_blend
predicted_HBP-0.15100.1510form_only
predicted_HR0.12000.14700.1313model_form_blend
predicted_OBP0.26100.30300.2786model_form_blend
predicted_R0.48400.43100.4618model_form_blend
predicted_RBI0.30000.54200.4013model_form_blend
predicted_SLG0.43000.39720.4163model_form_blend
predicted_SO1.12501.05901.0974model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date250
Season rows before report date250
Report year2026
Profile rows used64
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest 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_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
allPositionsPlayedPH-3B
gameID20260819_WAS@TEX
game_typeph
mlbID691781
noteLined out for Vivas in the 8th.
playerID691781
playerNameBrady House
pos3B
startedFalse
startingPositionPH
teamWAS
teamID30
game_date2026-08-19
game_pk822860.0
sl_k_percent28.9
sl_bb_percent6.0
sl_woba0.3
sl_xwoba0.331
sl_xba0.262
sl_xslg0.445
sl_sweet_spot_percent32.1
sl_barrel_batted_rate11.4
sl_hard_hit_percent46.5
sl_exit_velocity_avg89.3
sl_launch_angle_avg8.5
sl_whiff_percent33.0
sl_swing_percent51.6
at_bat_number60.0
ab_pitcher656756.0
ab_pitcher_nameMontgomery, Jordan
ab_home_teamTEX
ab_away_teamWSH
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_start0.0
ab_away_score_start6.0
ab_bat_score_start6.0
ab_fld_score_start0.0
ab_eventfield_out
ab_event_descriptionBrady House lines out to shortstop Corey Seager.
ab_event_typeX
ab_bb_typeline_drive
ab_hit_location6.0
ab_pitch_type_lastFF
ab_pitch_name_last4-Seam Fastball
ab_zone_last11.0
ab_launch_speed_last69.9
ab_launch_angle_last14.0
ab_hit_distance_last143.0
ab_estimated_ba_last0.34
ab_estimated_woba_last0.306
ab_estimated_slg_last0.34
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_end6.0
ab_fld_score_end0.0
ab_pitch_count5.0
ab_release_speed_avg85.47999999999999
ab_release_spin_rate_avg1835.8
ab_effective_speed_avg86.36
ab_launch_speed_avg67.93333333333334
ab_launch_angle_avg14.333333333333334
ab_delta_run_exp_avg-0.0524
ab_delta_home_win_exp_avg0.0002
ab_delta_pitcher_run_exp_avg0.0524
ab_bat_speed_avg70.0
ab_swing_length_avg7.6
ab_launch_speed_max69.9
ab_hit_distance_sc_max173.0
ab_release_speed_max91.4
ab_release_spin_rate_max2415.0
ab_release_speed_min81.2
ab_release_spin_rate_min1426.0
ab_delta_run_exp_sum-0.262
ab_delta_home_win_exp_sum0.001
ab_delta_pitcher_run_exp_sum0.262
ab_result_is_hitFalse
ab_result_is_walkFalse
ab_result_is_strikeoutFalse
ab_result_is_hbpFalse
Andrew Alvarez (674841) · PITCHER · Starter · Team WAS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 18
All-history rows before 20260820: 18

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB3.0003.0003.000Pitching_BB1.8331.0001.1672.000
predicted_ER0.0000.0000.000Pitching_ER1.7222.000-1.722-2.000
predicted_H3.0003.0003.000Pitching_H3.7222.000-0.7221.000
predicted_IP5.1005.1005.100Pitching_InningsPitched3.9725.2001.128-0.100
predicted_SO4.0004.0004.000Pitching_SO3.8334.0000.1670.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
2current_json_final10101-predicted_IP: 5.3333 -> 5.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": "674841",
  "player_name": "Andrew Alvarez",
  "position": "Starter",
  "team": "WAS",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 3.0,
        "predicted_ER": 0.0,
        "predicted_H": 3.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.3333,
        "predicted_SO": 4.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 3.0,
        "predicted_ER": 0.0,
        "predicted_H": 3.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.1,
        "predicted_R": 0.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": 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": 5.3333,
          "after": 5.1,
          "delta": -0.2333,
          "percent_delta": -0.0438,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 5.3333,
          "after": 5.1,
          "delta": -0.2333,
          "percent_delta": -0.0438,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 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": 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.3333,
        "after": 5.1,
        "delta": -0.2333,
        "percent_delta": -0.0437,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 4.0,
        "after": 4.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 0,
      "deboosted_metrics": 1,
      "better_metrics": 0,
      "worse_metrics": 1,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 5.3333,
        "after": 5.1,
        "delta": -0.2333,
        "percent_delta": -0.0437,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

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_H3.000-
predicted_HR0.000-
predicted_IP5.333-
predicted_SO4.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 18
Reference playing time: 5.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45526.0009.00018.00011.00016.0001.0003.11541.11540.34620.69230.42310.61540.0385
last_100.351046.20020.00038.00021.00038.0001.0003.85711.26430.42860.81430.45000.81430.0214
season0.201875.00031.00067.00033.00069.0003.0003.72001.33330.41330.89330.44000.92000.0400
Weighted Prediction From Real Data
MetricValue
predicted_BB2.0790
predicted_ER2.0400
predicted_ERA3.7146
predicted_H4.0430
predicted_HR0.2850
predicted_IP5.0000
predicted_SO3.9100
predicted_WHIP1.2387
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB3.00002.07902.4859model_form_blend
predicted_ER0.00002.04001.1386model_form_blend
predicted_ERA-3.71463.7146form_only
predicted_H3.00004.04303.5821model_form_blend
predicted_HR0.00000.28500.1591model_form_blend
predicted_IP5.10005.00005.1000model_form_blend
predicted_SO4.00003.91003.9498model_form_blend
predicted_WHIP-1.23871.2387form_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
IP5.1
H3
R0
ER0
BB3
SO4
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_BB1
Pitching_Balk0
Pitching_Batters Faced21
Pitching_ER2
Pitching_ERA3.72
Pitching_Flyouts5
Pitching_Groundouts5
Pitching_H2
Pitching_HBP0
Pitching_HR1
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched5.2
Pitching_Pitches73
Pitching_R2
Pitching_SO4
Pitching_Strikes47
Pitching_Wild Pitch1
Pitching_decisionL
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260814_WAS@NYM
game_typefull
mlbID674841
playerID674841
playerNameAndrew Alvarez
posP
startedTrue
startingPositionP
teamWAS
teamID30
game_date2026-08-14
game_pk823591.0
sl_k_percent21.8
sl_bb_percent10.4
sl_woba0.3
sl_xwoba0.326
sl_sweet_spot_percent34.0
sl_barrel_batted_rate5.2
sl_hard_hit_percent42.5
sl_whiff_percent26.2
sl_swing_percent44.8
sv_pitch_count73.0
sv_outs_recorded_est18.0
sv_release_speed87.3890410958904
sv_release_spin_rate2490.164383561644
sv_effective_speed87.13150684931507
sv_launch_speed84.87826086956522
sv_launch_angle17.0
sv_woba_value4.3
sv_woba_denom21.0
sv_delta_run_exp-0.7320000000000004
sv_delta_home_win_exp-0.1609999999999999
sl_avg_best_speed78.476306286
sl_avg_hyper_speed94.823149429
Clayton Beeter (690925) · PITCHER · Middle Reliever · Team WAS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 40
All-history rows before 20260820: 40

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.6001.0000.4000.000
predicted_ER0.0000.0000.000Pitching_ER0.3750.000-0.3750.000
predicted_H0.0000.0000.000Pitching_H0.6002.000-0.600-2.000
predicted_IP1.2001.2001.200Pitching_InningsPitched0.8631.0000.3370.200
predicted_SO1.0001.0001.000Pitching_SO0.9751.0000.0250.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": "690925",
  "player_name": "Clayton Beeter",
  "position": "Middle Reliever",
  "team": "WAS",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 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.2,
        "predicted_R": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.2,
          "delta": 0.2,
          "percent_delta": 0.2,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.2,
          "delta": 0.2,
          "percent_delta": 0.2,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "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_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: 39
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.0005.0000.0000.00001.00000.00000.40000.60001.00000.0000
last_100.35109.1003.0005.0005.0006.0002.0002.89291.07140.32140.53570.53570.64290.2143
season0.203938.00013.00021.00024.00039.0004.0003.07891.18420.34210.55260.63161.02630.1053
Weighted Prediction From Real Data
MetricValue
predicted_BB0.4970
predicted_ER0.3070
predicted_ERA2.7667
predicted_H0.6740
predicted_HR0.1160
predicted_IP1.0000
predicted_SO0.9090
predicted_WHIP1.1712
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.49700.7572model_form_blend
predicted_ER0.00000.30700.1482model_form_blend
predicted_ERA-2.76672.7667form_only
predicted_H0.00000.67400.3253model_form_blend
predicted_HR0.00000.11600.0560model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00000.90900.9561model_form_blend
predicted_WHIP-1.17121.1712form_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 date40
Season rows before report date40
Report year2026
Profile rows used39
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.2
H0
R0
ER0
BB1
SO1
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 Faced5
Pitching_ER0
Pitching_ERA3.55
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H2
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches19
Pitching_R0
Pitching_SO1
Pitching_Strikes11
Pitching_Wild Pitch1
Pitching_decisionH
Pitching_pitchingOrder5
allPositionsPlayedP
gameID20260815_WAS@NYM
game_typefull
mlbID690925
playerID690925
playerNameClayton Beeter
posP
startedFalse
startingPositionP
teamWAS
teamID30
game_date2026-08-15
game_pk823588.0
sl_k_percent24.4
sl_bb_percent15.0
sl_woba0.294
sl_xwoba0.323
sl_sweet_spot_percent28.4
sl_barrel_batted_rate6.4
sl_hard_hit_percent43.2
sl_whiff_percent28.0
sl_swing_percent44.8
sv_pitch_count19.0
sv_outs_recorded_est2.0
sv_release_speed90.69473684210529
sv_release_spin_rate2657.4736842105262
sv_effective_speed90.43684210526315
sv_launch_speed84.56666666666666
sv_launch_angle21.5
sv_woba_value2.5
sv_woba_denom5.0
sv_delta_run_exp0.48
sv_delta_home_win_exp-0.1429999999999999
sl_avg_best_speed79.806864783
sl_avg_hyper_speed94.182071304
Orlando Ribalta (687377) · PITCHER · Middle Reliever · Team WAS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 39
All-history rows before 20260820: 39

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.3590.000-0.3590.000
predicted_ER0.0000.0000.000Pitching_ER0.3590.000-0.3590.000
predicted_H0.0000.0000.000Pitching_H0.7440.000-0.7440.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.8591.0000.1410.000
predicted_SO1.0001.0001.000Pitching_SO0.8461.0000.1540.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": "687377",
  "player_name": "Orlando Ribalta",
  "position": "Middle Reliever",
  "team": "WAS",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 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: 39
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.1001.0002.0002.0002.0001.0001.68750.75000.18750.37500.37500.37500.1875
last_100.35109.2004.0007.0004.00010.0002.0003.72411.13790.41380.72410.41381.03450.2069
season0.203937.00014.00029.00014.00033.0004.0003.40541.16220.37840.78380.37840.89190.1081
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3800
predicted_ER0.3840
predicted_ERA3.4516
predicted_H0.7370
predicted_HR0.1660
predicted_IP1.0000
predicted_SO0.8080
predicted_WHIP1.1171
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.38000.1824model_form_blend
predicted_ER0.00000.38400.1843model_form_blend
predicted_ERA-3.45163.4516form_only
predicted_H0.00000.73700.3537model_form_blend
predicted_HR0.00000.16600.0797model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00000.80800.9079model_form_blend
predicted_WHIP-1.11711.1171form_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 date39
Season rows before report date39
Report year2026
Profile rows used39
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 Faced3
Pitching_ER0
Pitching_ERA3.41
Pitching_Flyouts1
Pitching_Groundouts0
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_pitchingOrder4
allPositionsPlayedP
gameID20260815_WAS@NYM
game_typefull
mlbID687377
playerID687377
playerNameOrlando Ribalta
posP
startedFalse
startingPositionP
teamWAS
teamID30
game_date2026-08-15
game_pk823588.0
sl_k_percent21.9
sl_bb_percent9.3
sl_woba0.28
sl_xwoba0.298
sl_sweet_spot_percent26.9
sl_barrel_batted_rate7.7
sl_hard_hit_percent34.6
sl_whiff_percent25.8
sl_swing_percent50.5
sv_pitch_count17.0
sv_outs_recorded_est3.0
sv_release_speed92.25882352941176
sv_release_spin_rate2386.235294117647
sv_effective_speed92.2470588235294
sv_launch_speed86.9
sv_launch_angle46.2
sv_woba_value0.0
sv_woba_denom3.0
sv_delta_run_exp-0.781
sv_delta_home_win_exp-0.109
sl_avg_best_speed72.092582115
sl_avg_hyper_speed92.77818233
Tom Cosgrove (676680) · PITCHER · Middle Reliever · Team WAS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 13
All-history rows before 20260820: 13

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.2310.000-0.2310.000
predicted_ER1.0001.0001.000Pitching_ER0.3851.0000.6150.000
predicted_H1.0001.0001.000Pitching_H0.9232.0000.077-1.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.7081.0000.2920.000
predicted_SO1.0001.0001.000Pitching_SO0.7691.0000.2310.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": "676680",
  "player_name": "Tom Cosgrove",
  "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": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_IP": 1.0,
        "predicted_R": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 0,
      "boosted_metrics": 0,
      "deboosted_metrics": 0,
      "better_metrics": 0,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": null,
      "has_material_change": false,
      "dominant_effect": "neutral"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER1.000-
predicted_H1.000-
predicted_HR1.000-
predicted_IP1.000-
predicted_SO1.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 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.1002.0005.0000.0005.0001.0004.15381.15380.46151.15390.00001.15390.2308
last_100.35109.1005.0009.0002.0006.0002.0004.82141.17860.53570.96430.21430.64290.2143
season0.201312.0005.00012.0003.00010.0002.0003.75001.25000.41671.00000.25000.83330.1667
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2870
predicted_ER0.4930
predicted_ERA4.4383
predicted_H1.0000
predicted_HR0.1680
predicted_IP1.0000
predicted_SO0.9400
predicted_WHIP1.2872
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.28700.1047model_form_blend
predicted_ER1.00000.49300.8151model_form_blend
predicted_ERA-4.43834.4383form_only
predicted_H1.00001.00001.0000model_form_blend
predicted_HR1.00000.16800.6965model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00000.94000.9781model_form_blend
predicted_WHIP-1.28721.2872form_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
IP1.0
H1
R1
ER1
BB0
SO1
HR1
BF4
Pitches16

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced4
Pitching_ER1
Pitching_ERA3.75
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H2
Pitching_HBP0
Pitching_HR1
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches9
Pitching_R1
Pitching_SO1
Pitching_Strikes7
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20260815_WAS@NYM
game_typefull
mlbID676680
playerID676680
playerNameTom Cosgrove
posP
startedFalse
startingPositionP
teamWAS
teamID30
game_date2026-08-15
game_pk823588.0
sl_k_percent19.6
sl_bb_percent5.9
sl_woba0.332
sl_xwoba0.27
sl_sweet_spot_percent27.0
sl_barrel_batted_rate5.4
sl_hard_hit_percent35.1
sl_whiff_percent13.2
sl_swing_percent50.6
sv_pitch_count9.0
sv_outs_recorded_est3.0
sv_release_speed77.07777777777778
sv_release_spin_rate2815.333333333333
sv_effective_speed76.16666666666667
sv_launch_speed67.075
sv_launch_angle-4.75
sv_woba_value2.9
sv_woba_denom4.0
sv_delta_run_exp0.677
sv_delta_home_win_exp0.048
sl_avg_best_speed72.052236667
sl_avg_hyper_speed93.258508056

Home Team: TEX

Home Pitcher Deep Analysis

FieldValue
PitcherJacob deGrom
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.2476
ESPN Rank76
Movement AvailableTrue
Primary Pitch-
Movement Score0.1735
Avg Velo93.0114
Avg Spin2443.0270
HB Inches0
IVB Inches0
Release Extension0
Pre IP5
Pre ER2
Pre H3
Pre BB0
Pre SO4
Season ERA3.9530
Season WHIP1.1685
Role Avg IP5.2460
Recent Avg IP4
Last Start IP2
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "TEX",
    "games": 133,
    "wins": 66,
    "losses": 67,
    "win_pct": 0.4962,
    "runs_scored": 543.0,
    "runs_allowed": 587.0,
    "run_differential": -44.0,
    "run_differential_per_game": -0.3308,
    "avg_runs_scored": 4.0827,
    "avg_runs_allowed": 4.4135,
    "offense_index": 0.9086,
    "defense_index": 1.0181,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 2.8,
      "avg_runs_allowed": 4.8,
      "run_differential": -20.0
    },
    "available": true,
    "quality_score": -0.1137
  },
  "opponent": {
    "team": "WAS",
    "games": 134,
    "wins": 62,
    "losses": 72,
    "win_pct": 0.4627,
    "runs_scored": 683.0,
    "runs_allowed": 676.0,
    "run_differential": 7.0,
    "run_differential_per_game": 0.0522,
    "avg_runs_scored": 5.097,
    "avg_runs_allowed": 5.0448,
    "offense_index": 1.1344,
    "defense_index": 0.8907,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.8,
      "avg_runs_allowed": 4.1,
      "run_differential": 7.0
    },
    "available": true,
    "quality_score": -0.0603
  },
  "edges": {
    "quality_edge": -0.0534,
    "offense_edge": -0.0914,
    "opponent_offense_edge": 0.1344,
    "defense_strength": 0.0181,
    "opponent_defense_weakness": 0.1093,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 0.993,
    "run_prevention": 1.0224,
    "strikeout": 0.9876
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "594798",
    "profile": {
      "available": true,
      "pitcher_id": "594798",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 482.0,
        "k_percent": 29.5,
        "bb_percent": 6.2,
        "woba": 0.293,
        "xwoba": 0.297,
        "sweet_spot_percent": 39.7,
        "barrel_batted_rate": 8.8,
        "hard_hit_percent": 45.6,
        "avg_best_speed": 80.5919,
        "avg_hyper_speed": 94.8051,
        "whiff_percent": 33.4,
        "swing_percent": 51.7
      },
      "league_medians": {
        "pa": 124.0,
        "k_percent": 22.1,
        "bb_percent": 9.0,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.6,
        "avg_best_speed": 77.5616,
        "avg_hyper_speed": 93.8797,
        "whiff_percent": 25.3,
        "swing_percent": 47.5
      },
      "components": {
        "contact_quality": -0.0362,
        "command_and_miss": 1.0207,
        "regression_edge": -0.1143,
        "xwoba_edge": 0.4286,
        "barrel_edge": -0.3778,
        "hard_hit_edge": -1.1429,
        "whiff_edge": 1.1571,
        "bb_edge": 0.7,
        "pitch_design_score": 0.1735
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "594798",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 90,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 90,
          "pitch_usage": 0.0,
          "release_speed": 93.01139384257452,
          "release_spin_rate": 2443.0269746624076,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 90,
            "pitch_usage": 0.0,
            "release_speed": 93.01139384257452,
            "release_spin_rate": 2443.0269746624076,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.0114,
          "release_spin_rate": 2443.027,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.1735,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.2393,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "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.2476,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.979,
      "strikeout_factor": 1.0886,
      "walk_factor": 0.944,
      "homer_factor": 1.0631,
      "woba_minus_xwoba": -0.004,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "594798",
        "espn_id": 32796,
        "player_name": "Jacob deGrom",
        "team": "TEX",
        "role": "pitcher",
        "espn_rank": 76,
        "espn_total_ranked": 819,
        "metrics": {
          "espn_rank": 76,
          "gp_value": 23.0,
          "gp_rank": 303,
          "gs_value": 23.0,
          "gs_rank": 49,
          "qs_value": 8.0,
          "qs_rank": 65,
          "era_value": 3.953,
          "era_rank": null,
          "w_value": 8.0,
          "w_rank": 43,
          "l_value": 8.0,
          "l_rank": 33,
          "sv_value": 0.0,
          "sv_rank": 239,
          "hld_value": 0.0,
          "hld_rank": 323,
          "ip_value": 120.2,
          "ip_rank": 70,
          "h_value": 110.0,
          "h_rank": 73,
          "er_value": 53.0,
          "er_rank": 65,
          "hr_value": 17.0,
          "hr_rank": 45,
          "bb_value": 31.0,
          "bb_rank": 123,
          "k_value": 147.0,
          "k_rank": 19,
          "k_per_9_value": 10.964088,
          "k_per_9_rank": 7.0,
          "whip_value": 1.1685,
          "whip_rank": null,
          "war_value": 1.83,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 3.0,
        "factor": 0.979,
        "adjusted": 3
      },
      "predicted_H": {
        "original": 6.0,
        "factor": 0.979,
        "adjusted": 6
      },
      "predicted_BB": {
        "original": 2.0,
        "factor": 0.944,
        "adjusted": 2
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0631,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 6.0,
        "factor": 1.0886,
        "adjusted": 7
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 50.0,
    "ER": 28,
    "H": 55,
    "BB": 16,
    "SO": 63,
    "HR": 4,
    "ERA": 5.04,
    "WHIP": 1.42,
    "K9": 11.34,
    "HR9": 0.72,
    "games_pitched": 10,
    "quality_starts": 3,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-13T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "594798",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 90,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 90,
    "pitch_usage": 0.0,
    "release_speed": 93.01139384257452,
    "release_spin_rate": 2443.0269746624076,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 90,
      "pitch_usage": 0.0,
      "release_speed": 93.01139384257452,
      "release_spin_rate": 2443.0269746624076,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.0114,
    "release_spin_rate": 2443.027,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1735,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.2393,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 23.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8214,
    "prior_weight": 0.1786
  },
  "role": "pitcher",
  "player_id": "594798",
  "report_date": "20260820",
  "season_year": 2026,
  "rows_used": 23,
  "reference_playing_time": 5.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 20.0,
        "ER": 14.0,
        "R": 14.0,
        "H": 30.0,
        "BB": 9.0,
        "SO": 25.0,
        "HR": 1.0,
        "BF": 97.0,
        "Pitches": 419.0
      },
      "per_game": {
        "IP": 4.0,
        "ER": 2.8,
        "R": 2.8,
        "H": 6.0,
        "BB": 1.8,
        "SO": 5.0,
        "HR": 0.2,
        "BF": 19.4,
        "Pitches": 83.8
      },
      "rates": {
        "ERA": 6.3,
        "WHIP": 1.95,
        "ER_per_IP": 0.7,
        "H_per_IP": 1.5,
        "BB_per_IP": 0.45,
        "SO_per_IP": 1.25,
        "HR_per_IP": 0.05
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 50.0,
        "ER": 28.0,
        "R": 28.0,
        "H": 55.0,
        "BB": 16.0,
        "SO": 63.0,
        "HR": 4.0,
        "BF": 216.0,
        "Pitches": 882.0
      },
      "per_game": {
        "IP": 5.0,
        "ER": 2.8,
        "R": 2.8,
        "H": 5.5,
        "BB": 1.6,
        "SO": 6.3,
        "HR": 0.4,
        "BF": 21.6,
        "Pitches": 88.2
      },
      "rates": {
        "ERA": 5.04,
        "WHIP": 1.42,
        "ER_per_IP": 0.56,
        "H_per_IP": 1.1,
        "BB_per_IP": 0.32,
        "SO_per_IP": 1.26,
        "HR_per_IP": 0.08
      }
    },
    "season": {
      "games": 23,
      "totals": {
        "IP": 120.2,
        "ER": 53.0,
        "R": 53.0,
        "H": 110.0,
        "BB": 31.0,
        "SO": 147.0,
        "HR": 17.0,
        "BF": 498.0,
        "Pitches": 2024.0
      },
      "per_game": {
        "IP": 5.1,
        "ER": 2.3043,
        "R": 2.3043,
        "H": 4.7826,
        "BB": 1.3478,
        "SO": 6.3913,
        "HR": 0.7391,
        "BF": 21.6522,
        "Pitches": 88.0
      },
      "rates": {
        "ERA": 3.953,
        "WHIP": 1.1685,
        "ER_per_IP": 0.43923,
        "H_per_IP": 0.9116,
        "BB_per_IP": 0.25691,
        "SO_per_IP": 1.21823,
        "HR_per_IP": 0.14088
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 4.2,
    "predicted_ER": 2.723,
    "predicted_H": 5.595,
    "predicted_BB": 1.714,
    "predicted_SO": 5.598,
    "predicted_HR": 0.426,
    "predicted_ERA": 5.231,
    "predicted_WHIP": 1.5599
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4255,
  "form_weight": 0.5745,
  "form_reliability": 0.8214,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 23.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8214,
    "prior_weight": 0.1786
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 5.0,
      "form": 4.2,
      "final": 4.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 2.0,
      "form": 2.723,
      "final": 2.4154,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 3.0,
      "form": 5.595,
      "final": 4.4909,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 1.714,
      "final": 0.9848,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 4.0,
      "form": 5.598,
      "final": 4.9181,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.426,
      "final": 0.6702,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 5.231,
      "final": 5.231,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.5599,
      "final": 1.5599,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherJacob Latz
RoleMiddle Reliever
Projection Source-
Savant Quality Score0.6137
ESPN Rank40
Movement AvailableTrue
Primary Pitch-
Movement Score0.0136
Avg Velo90.1566
Avg Spin2349.9084
HB Inches0
IVB Inches0
Release Extension0
Pre IP1.1000
Pre ER0
Pre H0
Pre BB0
Pre SO2
Season ERA1.2857
Season WHIP0.6607
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "TEX",
    "games": 133,
    "wins": 66,
    "losses": 67,
    "win_pct": 0.4962,
    "runs_scored": 543.0,
    "runs_allowed": 587.0,
    "run_differential": -44.0,
    "run_differential_per_game": -0.3308,
    "avg_runs_scored": 4.0827,
    "avg_runs_allowed": 4.4135,
    "offense_index": 0.9086,
    "defense_index": 1.0181,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 2.8,
      "avg_runs_allowed": 4.8,
      "run_differential": -20.0
    },
    "available": true,
    "quality_score": -0.1137
  },
  "opponent": {
    "team": "WAS",
    "games": 134,
    "wins": 62,
    "losses": 72,
    "win_pct": 0.4627,
    "runs_scored": 683.0,
    "runs_allowed": 676.0,
    "run_differential": 7.0,
    "run_differential_per_game": 0.0522,
    "avg_runs_scored": 5.097,
    "avg_runs_allowed": 5.0448,
    "offense_index": 1.1344,
    "defense_index": 0.8907,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.8,
      "avg_runs_allowed": 4.1,
      "run_differential": 7.0
    },
    "available": true,
    "quality_score": -0.0603
  },
  "edges": {
    "quality_edge": -0.0534,
    "offense_edge": -0.0914,
    "opponent_offense_edge": 0.1344,
    "defense_strength": 0.0181,
    "opponent_defense_weakness": 0.1093,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 0.993,
    "run_prevention": 1.0224,
    "strikeout": 0.9876
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "656641",
    "profile": {
      "available": true,
      "pitcher_id": "656641",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 190.0,
        "k_percent": 28.2,
        "bb_percent": 7.3,
        "woba": 0.193,
        "xwoba": 0.242,
        "sweet_spot_percent": 24.8,
        "barrel_batted_rate": 5.3,
        "hard_hit_percent": 37.6,
        "avg_best_speed": 78.4113,
        "avg_hyper_speed": 93.5349,
        "whiff_percent": 28.9,
        "swing_percent": 53.0
      },
      "league_medians": {
        "pa": 124.0,
        "k_percent": 22.1,
        "bb_percent": 9.0,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.6,
        "avg_best_speed": 77.5616,
        "avg_hyper_speed": 93.8797,
        "whiff_percent": 25.3,
        "swing_percent": 47.5
      },
      "components": {
        "contact_quality": 1.385,
        "command_and_miss": 0.6571,
        "regression_edge": -1.4,
        "xwoba_edge": 2.0,
        "barrel_edge": 0.4,
        "hard_hit_edge": 0.0,
        "whiff_edge": 0.5143,
        "bb_edge": 0.425,
        "pitch_design_score": 0.0136
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "656641",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 22,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 22,
          "pitch_usage": 0.0,
          "release_speed": 90.15663588095128,
          "release_spin_rate": 2349.908372972056,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 22,
            "pitch_usage": 0.0,
            "release_speed": 90.15663588095128,
            "release_spin_rate": 2349.908372972056,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.1566,
          "release_spin_rate": 2349.9084,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.0136,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.0974,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "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.6137,
      "sample_weight": 0.76,
      "run_prevention_factor": 0.9478,
      "strikeout_factor": 1.0421,
      "walk_factor": 0.9742,
      "homer_factor": 0.9301,
      "woba_minus_xwoba": -0.049,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": true,
        "player_id": "656641",
        "espn_id": 3210625,
        "player_name": "Jacob Latz",
        "team": "TEX",
        "role": "pitcher",
        "espn_rank": 40,
        "espn_total_ranked": 819,
        "metrics": {
          "espn_rank": 40,
          "gp_value": 44.0,
          "gp_rank": 107,
          "gs_value": 1.0,
          "gs_rank": 288,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 1.7678,
          "era_rank": null,
          "w_value": 3.0,
          "w_rank": 220,
          "l_value": 1.0,
          "l_rank": 392,
          "sv_value": 24.0,
          "sv_rank": 10,
          "hld_value": 2.0,
          "hld_rank": 216,
          "ip_value": 56.0,
          "ip_rank": 213,
          "h_value": 26.0,
          "h_rank": 417,
          "er_value": 11.0,
          "er_rank": 459,
          "hr_value": 3.0,
          "hr_rank": 403,
          "bb_value": 15.0,
          "bb_rank": 347,
          "k_value": 58.0,
          "k_rank": 197,
          "k_per_9_value": 9.321428,
          "k_per_9_rank": 24.0,
          "whip_value": 0.7321,
          "whip_rank": null,
          "war_value": 2.53,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9603,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9603,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9804,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9469,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.032,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 12.1,
    "ER": 3,
    "H": 8,
    "BB": 5,
    "SO": 12,
    "HR": 0,
    "ERA": 2.189189189189189,
    "WHIP": 1.054054054054054,
    "K9": 8.756756756756756,
    "HR9": 0.0,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-15T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "656641",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 22,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 22,
    "pitch_usage": 0.0,
    "release_speed": 90.15663588095128,
    "release_spin_rate": 2349.908372972056,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 22,
      "pitch_usage": 0.0,
      "release_speed": 90.15663588095128,
      "release_spin_rate": 2349.908372972056,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.1566,
    "release_spin_rate": 2349.9084,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.0136,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.0974,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 11.228,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6919,
    "prior_weight": 0.3081
  },
  "role": "pitcher",
  "player_id": "656641",
  "report_date": "20260820",
  "season_year": 2026,
  "rows_used": 43,
  "reference_playing_time": 1.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 7.0,
        "ER": 1.0,
        "R": 2.0,
        "H": 4.0,
        "BB": 4.0,
        "SO": 7.0,
        "HR": 0.0,
        "BF": 27.0,
        "Pitches": 126.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.2,
        "R": 0.4,
        "H": 0.8,
        "BB": 0.8,
        "SO": 1.4,
        "HR": 0.0,
        "BF": 5.4,
        "Pitches": 25.2
      },
      "rates": {
        "ERA": 1.2857,
        "WHIP": 1.1429,
        "ER_per_IP": 0.14286,
        "H_per_IP": 0.57143,
        "BB_per_IP": 0.57143,
        "SO_per_IP": 1.0,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 12.1,
        "ER": 3.0,
        "R": 4.0,
        "H": 8.0,
        "BB": 5.0,
        "SO": 12.0,
        "HR": 0.0,
        "BF": 47.0,
        "Pitches": 207.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.3,
        "R": 0.4,
        "H": 0.8,
        "BB": 0.5,
        "SO": 1.2,
        "HR": 0.0,
        "BF": 4.7,
        "Pitches": 20.7
      },
      "rates": {
        "ERA": 2.1892,
        "WHIP": 1.0541,
        "ER_per_IP": 0.24324,
        "H_per_IP": 0.64865,
        "BB_per_IP": 0.40541,
        "SO_per_IP": 0.97297,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 43,
      "totals": {
        "IP": 56.0,
        "ER": 8.0,
        "R": 9.0,
        "H": 23.0,
        "BB": 14.0,
        "SO": 58.0,
        "HR": 3.0,
        "BF": 202.0,
        "Pitches": 859.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.186,
        "R": 0.2093,
        "H": 0.5349,
        "BB": 0.3256,
        "SO": 1.3488,
        "HR": 0.0698,
        "BF": 4.6977,
        "Pitches": 19.9767
      },
      "rates": {
        "ERA": 1.2857,
        "WHIP": 0.6607,
        "ER_per_IP": 0.14286,
        "H_per_IP": 0.41071,
        "BB_per_IP": 0.25,
        "SO_per_IP": 1.03571,
        "HR_per_IP": 0.05357
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.1,
    "predicted_ER": 0.37,
    "predicted_H": 0.922,
    "predicted_BB": 0.564,
    "predicted_SO": 1.312,
    "predicted_HR": 0.07,
    "predicted_ERA": 2.4953,
    "predicted_WHIP": 1.1148
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4802,
  "form_weight": 0.5198,
  "form_reliability": 0.6919,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 11.228,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6919,
    "prior_weight": 0.3081
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.1,
      "form": 1.1,
      "final": 1.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.37,
      "final": 0.1923,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.922,
      "final": 0.4793,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.564,
      "final": 0.2932,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 1.312,
      "final": 1.6424,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.07,
      "final": 0.0364,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.4953,
      "final": 2.4953,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1148,
      "final": 1.1148,
      "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
PitcherPeyton Gray
RoleMiddle Reliever
Projection Source-
Savant Quality Score0.2936
ESPN Rank500
Movement AvailableTrue
Primary Pitch-
Movement Score-0.1105
Avg Velo87.9405
Avg Spin2170.5306
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H1
Pre BB0
Pre SO0
Season ERA3.8311
Season WHIP1.2770
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "TEX",
    "games": 133,
    "wins": 66,
    "losses": 67,
    "win_pct": 0.4962,
    "runs_scored": 543.0,
    "runs_allowed": 587.0,
    "run_differential": -44.0,
    "run_differential_per_game": -0.3308,
    "avg_runs_scored": 4.0827,
    "avg_runs_allowed": 4.4135,
    "offense_index": 0.9086,
    "defense_index": 1.0181,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 2.8,
      "avg_runs_allowed": 4.8,
      "run_differential": -20.0
    },
    "available": true,
    "quality_score": -0.1137
  },
  "opponent": {
    "team": "WAS",
    "games": 134,
    "wins": 62,
    "losses": 72,
    "win_pct": 0.4627,
    "runs_scored": 683.0,
    "runs_allowed": 676.0,
    "run_differential": 7.0,
    "run_differential_per_game": 0.0522,
    "avg_runs_scored": 5.097,
    "avg_runs_allowed": 5.0448,
    "offense_index": 1.1344,
    "defense_index": 0.8907,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.8,
      "avg_runs_allowed": 4.1,
      "run_differential": 7.0
    },
    "available": true,
    "quality_score": -0.0603
  },
  "edges": {
    "quality_edge": -0.0534,
    "offense_edge": -0.0914,
    "opponent_offense_edge": 0.1344,
    "defense_strength": 0.0181,
    "opponent_defense_weakness": 0.1093,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 0.993,
    "run_prevention": 1.0224,
    "strikeout": 0.9876
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "682608",
    "profile": {
      "available": true,
      "pitcher_id": "682608",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 206.0,
        "k_percent": 22.8,
        "bb_percent": 7.3,
        "woba": 0.309,
        "xwoba": 0.287,
        "sweet_spot_percent": 30.9,
        "barrel_batted_rate": 6.8,
        "hard_hit_percent": 32.9,
        "avg_best_speed": 75.0035,
        "avg_hyper_speed": 92.9151,
        "whiff_percent": 26.0,
        "swing_percent": 49.8
      },
      "league_medians": {
        "pa": 124.0,
        "k_percent": 22.1,
        "bb_percent": 9.0,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.6,
        "avg_best_speed": 77.5616,
        "avg_hyper_speed": 93.8797,
        "whiff_percent": 25.3,
        "swing_percent": 47.5
      },
      "components": {
        "contact_quality": 0.4632,
        "command_and_miss": 0.165,
        "regression_edge": 0.6286,
        "xwoba_edge": 0.7143,
        "barrel_edge": 0.0667,
        "hard_hit_edge": 0.6714,
        "whiff_edge": 0.1,
        "bb_edge": 0.425,
        "pitch_design_score": -0.1105
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "682608",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 16,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 16,
          "pitch_usage": 0.0,
          "release_speed": 87.94048713316539,
          "release_spin_rate": 2170.530570749743,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 16,
            "pitch_usage": 0.0,
            "release_speed": 87.94048713316539,
            "release_spin_rate": 2170.530570749743,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.9405,
          "release_spin_rate": 2170.5306,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.1105,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.789,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "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.2936,
      "sample_weight": 0.824,
      "run_prevention_factor": 0.975,
      "strikeout_factor": 1.0066,
      "walk_factor": 0.972,
      "homer_factor": 0.9558,
      "woba_minus_xwoba": 0.022,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "682608",
        "espn_id": 4187628,
        "player_name": "Peyton Gray",
        "team": "TEX",
        "role": "pitcher",
        "espn_rank": 500,
        "espn_total_ranked": 819,
        "metrics": {
          "espn_rank": 500,
          "gp_value": 43.0,
          "gp_rank": 112,
          "gs_value": 0.0,
          "gs_rank": 344,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 3.831,
          "era_rank": null,
          "w_value": 6.0,
          "w_rank": 88,
          "l_value": 0.0,
          "l_rank": 548,
          "sv_value": 0.0,
          "sv_rank": 239,
          "hld_value": 8.0,
          "hld_rank": 97,
          "ip_value": 49.1,
          "ip_rank": 266,
          "h_value": 47.0,
          "h_rank": 218,
          "er_value": 21.0,
          "er_rank": 266,
          "hr_value": 7.0,
          "hr_rank": 205,
          "bb_value": 16.0,
          "bb_rank": 325,
          "k_value": 50.0,
          "k_rank": 245,
          "k_per_9_value": 9.121621,
          "k_per_9_rank": 24.0,
          "whip_value": 1.277,
          "whip_rank": null,
          "war_value": -0.01,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 0.9794,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9794,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9769,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9636,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0054,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 10.0,
    "ER": 6,
    "H": 10,
    "BB": 4,
    "SO": 8,
    "HR": 4,
    "ERA": 5.4,
    "WHIP": 1.4,
    "K9": 7.2,
    "HR9": 3.6,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-19T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "682608",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 16,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 16,
    "pitch_usage": 0.0,
    "release_speed": 87.94048713316539,
    "release_spin_rate": 2170.530570749743,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 16,
      "pitch_usage": 0.0,
      "release_speed": 87.94048713316539,
      "release_spin_rate": 2170.530570749743,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.9405,
    "release_spin_rate": 2170.5306,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.1105,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.789,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 9.892,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6642,
    "prior_weight": 0.3358
  },
  "role": "pitcher",
  "player_id": "682608",
  "report_date": "20260820",
  "season_year": 2026,
  "rows_used": 43,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.0,
        "ER": 4.0,
        "R": 4.0,
        "H": 5.0,
        "BB": 2.0,
        "SO": 3.0,
        "HR": 2.0,
        "BF": 22.0,
        "Pitches": 78.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.8,
        "R": 0.8,
        "H": 1.0,
        "BB": 0.4,
        "SO": 0.6,
        "HR": 0.4,
        "BF": 4.4,
        "Pitches": 15.6
      },
      "rates": {
        "ERA": 9.0,
        "WHIP": 1.75,
        "ER_per_IP": 1.0,
        "H_per_IP": 1.25,
        "BB_per_IP": 0.5,
        "SO_per_IP": 0.75,
        "HR_per_IP": 0.5
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.0,
        "ER": 6.0,
        "R": 6.0,
        "H": 10.0,
        "BB": 4.0,
        "SO": 8.0,
        "HR": 4.0,
        "BF": 47.0,
        "Pitches": 164.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.6,
        "R": 0.6,
        "H": 1.0,
        "BB": 0.4,
        "SO": 0.8,
        "HR": 0.4,
        "BF": 4.7,
        "Pitches": 16.4
      },
      "rates": {
        "ERA": 5.4,
        "WHIP": 1.4,
        "ER_per_IP": 0.6,
        "H_per_IP": 1.0,
        "BB_per_IP": 0.4,
        "SO_per_IP": 0.8,
        "HR_per_IP": 0.4
      }
    },
    "season": {
      "games": 43,
      "totals": {
        "IP": 49.1,
        "ER": 21.0,
        "R": 25.0,
        "H": 47.0,
        "BB": 16.0,
        "SO": 50.0,
        "HR": 7.0,
        "BF": 219.0,
        "Pitches": 828.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4884,
        "R": 0.5814,
        "H": 1.093,
        "BB": 0.3721,
        "SO": 1.1628,
        "HR": 0.1628,
        "BF": 5.093,
        "Pitches": 19.2558
      },
      "rates": {
        "ERA": 3.8311,
        "WHIP": 1.277,
        "ER_per_IP": 0.42568,
        "H_per_IP": 0.9527,
        "BB_per_IP": 0.32432,
        "SO_per_IP": 1.01351,
        "HR_per_IP": 0.14189
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.597,
    "predicted_H": 0.954,
    "predicted_BB": 0.368,
    "predicted_SO": 0.779,
    "predicted_HR": 0.28,
    "predicted_ERA": 5.9659,
    "predicted_WHIP": 1.4674
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4919,
  "form_weight": 0.5081,
  "form_reliability": 0.6642,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 9.892,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6642,
    "prior_weight": 0.3358
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.597,
      "final": 0.3034,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.954,
      "final": 0.9766,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.368,
      "final": 0.187,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 0.779,
      "final": 0.3958,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.28,
      "final": 0.1423,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 5.9659,
      "final": 5.9659,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.4674,
      "final": 1.4674,
      "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
PitcherRobby Ahlstrom
RoleMiddle Reliever
Projection Source-
Savant Quality Score0.0742
ESPN Rank605
Movement AvailableTrue
Primary Pitch-
Movement Score0.0477
Avg Velo90.7647
Avg Spin2102.8229
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H2
Pre BB0
Pre SO2
Season ERA4.1786
Season WHIP1.1071
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "TEX",
    "games": 133,
    "wins": 66,
    "losses": 67,
    "win_pct": 0.4962,
    "runs_scored": 543.0,
    "runs_allowed": 587.0,
    "run_differential": -44.0,
    "run_differential_per_game": -0.3308,
    "avg_runs_scored": 4.0827,
    "avg_runs_allowed": 4.4135,
    "offense_index": 0.9086,
    "defense_index": 1.0181,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 2.8,
      "avg_runs_allowed": 4.8,
      "run_differential": -20.0
    },
    "available": true,
    "quality_score": -0.1137
  },
  "opponent": {
    "team": "WAS",
    "games": 134,
    "wins": 62,
    "losses": 72,
    "win_pct": 0.4627,
    "runs_scored": 683.0,
    "runs_allowed": 676.0,
    "run_differential": 7.0,
    "run_differential_per_game": 0.0522,
    "avg_runs_scored": 5.097,
    "avg_runs_allowed": 5.0448,
    "offense_index": 1.1344,
    "defense_index": 0.8907,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.8,
      "avg_runs_allowed": 4.1,
      "run_differential": 7.0
    },
    "available": true,
    "quality_score": -0.0603
  },
  "edges": {
    "quality_edge": -0.0534,
    "offense_edge": -0.0914,
    "opponent_offense_edge": 0.1344,
    "defense_strength": 0.0181,
    "opponent_defense_weakness": 0.1093,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 0.993,
    "run_prevention": 1.0224,
    "strikeout": 0.9876
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "695239",
    "profile": {
      "available": true,
      "pitcher_id": "695239",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 113.0,
        "k_percent": 22.0,
        "bb_percent": 6.8,
        "woba": 0.311,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 6.2,
        "hard_hit_percent": 33.3,
        "avg_best_speed": 74.1977,
        "avg_hyper_speed": 92.777,
        "whiff_percent": 27.6,
        "swing_percent": 49.0
      },
      "league_medians": {
        "pa": 124.0,
        "k_percent": 22.1,
        "bb_percent": 9.0,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.6,
        "avg_best_speed": 77.5616,
        "avg_hyper_speed": 93.8797,
        "whiff_percent": 25.3,
        "swing_percent": 47.5
      },
      "components": {
        "contact_quality": 0.1849,
        "command_and_miss": 0.2186,
        "regression_edge": 0.0,
        "xwoba_edge": 0.0286,
        "barrel_edge": 0.2,
        "hard_hit_edge": 0.6143,
        "whiff_edge": 0.3286,
        "bb_edge": 0.55,
        "pitch_design_score": 0.0477
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "695239",
        "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.76471199691781,
          "release_spin_rate": 2102.8229369352753,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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.76471199691781,
            "release_spin_rate": 2102.8229369352753,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.7647,
          "release_spin_rate": 2102.8229,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.0477,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.3407,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "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.0742,
      "sample_weight": 0.452,
      "run_prevention_factor": 0.9937,
      "strikeout_factor": 1.0057,
      "walk_factor": 0.9801,
      "homer_factor": 0.9813,
      "woba_minus_xwoba": 0.0,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "695239",
        "espn_id": 4832142,
        "player_name": "Robby Ahlstrom",
        "team": "TEX",
        "role": "pitcher",
        "espn_rank": 605,
        "espn_total_ranked": 819,
        "metrics": {
          "espn_rank": 605,
          "gp_value": 33.0,
          "gp_rank": 180,
          "gs_value": 0.0,
          "gs_rank": 344,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 4.8214,
          "era_rank": null,
          "w_value": 3.0,
          "w_rank": 220,
          "l_value": 1.0,
          "l_rank": 392,
          "sv_value": 0.0,
          "sv_rank": 239,
          "hld_value": 6.0,
          "hld_rank": 134,
          "ip_value": 28.0,
          "ip_rank": 420,
          "h_value": 27.0,
          "h_rank": 404,
          "er_value": 15.0,
          "er_rank": 372,
          "hr_value": 3.0,
          "hr_rank": 403,
          "bb_value": 8.0,
          "bb_rank": 493,
          "k_value": 26.0,
          "k_rank": 414,
          "k_per_9_value": 8.357142,
          "k_per_9_rank": 26.0,
          "whip_value": 1.25,
          "whip_rank": null,
          "war_value": -0.15,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 0.9972,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9972,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.991,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9915,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0026,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 8.2,
    "ER": 4,
    "H": 7,
    "BB": 0,
    "SO": 9,
    "HR": 1,
    "ERA": 4.153846153846153,
    "WHIP": 0.8076923076923076,
    "K9": 9.346153846153845,
    "HR9": 1.0384615384615383,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-18T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "695239",
  "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.76471199691781,
    "release_spin_rate": 2102.8229369352753,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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.76471199691781,
      "release_spin_rate": 2102.8229369352753,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.7647,
    "release_spin_rate": 2102.8229,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.0477,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.3407,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 5.614,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5289,
    "prior_weight": 0.4711
  },
  "role": "pitcher",
  "player_id": "695239",
  "report_date": "20260820",
  "season_year": 2026,
  "rows_used": 32,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.1,
        "ER": 4.0,
        "R": 4.0,
        "H": 6.0,
        "BB": 0.0,
        "SO": 5.0,
        "HR": 1.0,
        "BF": 19.0,
        "Pitches": 77.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.8,
        "R": 0.8,
        "H": 1.2,
        "BB": 0.0,
        "SO": 1.0,
        "HR": 0.2,
        "BF": 3.8,
        "Pitches": 15.4
      },
      "rates": {
        "ERA": 8.3077,
        "WHIP": 1.3846,
        "ER_per_IP": 0.92308,
        "H_per_IP": 1.38462,
        "BB_per_IP": 0.0,
        "SO_per_IP": 1.15385,
        "HR_per_IP": 0.23077
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 8.2,
        "ER": 4.0,
        "R": 4.0,
        "H": 7.0,
        "BB": 0.0,
        "SO": 9.0,
        "HR": 1.0,
        "BF": 34.0,
        "Pitches": 137.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.4,
        "H": 0.7,
        "BB": 0.0,
        "SO": 0.9,
        "HR": 0.1,
        "BF": 3.4,
        "Pitches": 13.7
      },
      "rates": {
        "ERA": 4.1538,
        "WHIP": 0.8077,
        "ER_per_IP": 0.46154,
        "H_per_IP": 0.80769,
        "BB_per_IP": 0.0,
        "SO_per_IP": 1.03846,
        "HR_per_IP": 0.11538
      }
    },
    "season": {
      "games": 32,
      "totals": {
        "IP": 28.0,
        "ER": 13.0,
        "R": 13.0,
        "H": 24.0,
        "BB": 7.0,
        "SO": 26.0,
        "HR": 3.0,
        "BF": 113.0,
        "Pitches": 454.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4062,
        "R": 0.4062,
        "H": 0.75,
        "BB": 0.2188,
        "SO": 0.8125,
        "HR": 0.0938,
        "BF": 3.5312,
        "Pitches": 14.1875
      },
      "rates": {
        "ERA": 4.1786,
        "WHIP": 1.1071,
        "ER_per_IP": 0.46429,
        "H_per_IP": 0.85714,
        "BB_per_IP": 0.25,
        "SO_per_IP": 0.92857,
        "HR_per_IP": 0.10714
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.59,
    "predicted_H": 1.028,
    "predicted_BB": 0.199,
    "predicted_SO": 1.015,
    "predicted_HR": 0.157,
    "predicted_ERA": 5.3089,
    "predicted_WHIP": 1.2265
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.549,
  "form_weight": 0.451,
  "form_reliability": 0.5289,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 5.614,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5289,
    "prior_weight": 0.4711
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.59,
      "final": 0.2661,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 1.028,
      "final": 1.5617,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.199,
      "final": 0.0897,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 1.015,
      "final": 1.5558,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.157,
      "final": 0.0708,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 5.3089,
      "final": 5.3089,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2265,
      "final": 1.2265,
      "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
PitcherChase Silseth
RoleMiddle Reliever
Projection Source-
Savant Quality Score0.0733
ESPN Rank140
Movement AvailableTrue
Primary Pitch-
Movement Score0.1079
Avg Velo91.8406
Avg Spin2101.7851
HB Inches0
IVB Inches0
Release Extension0
Pre IP0.2000
Pre ER3
Pre H4
Pre BB0
Pre SO1
Season ERA2.8322
Season WHIP1.4266
Role Avg IP-
Recent Avg IP-
Last Start IP-
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "TEX",
    "games": 133,
    "wins": 66,
    "losses": 67,
    "win_pct": 0.4962,
    "runs_scored": 543.0,
    "runs_allowed": 587.0,
    "run_differential": -44.0,
    "run_differential_per_game": -0.3308,
    "avg_runs_scored": 4.0827,
    "avg_runs_allowed": 4.4135,
    "offense_index": 0.9086,
    "defense_index": 1.0181,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 2.8,
      "avg_runs_allowed": 4.8,
      "run_differential": -20.0
    },
    "available": true,
    "quality_score": -0.1137
  },
  "opponent": {
    "team": "WAS",
    "games": 134,
    "wins": 62,
    "losses": 72,
    "win_pct": 0.4627,
    "runs_scored": 683.0,
    "runs_allowed": 676.0,
    "run_differential": 7.0,
    "run_differential_per_game": 0.0522,
    "avg_runs_scored": 5.097,
    "avg_runs_allowed": 5.0448,
    "offense_index": 1.1344,
    "defense_index": 0.8907,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.8,
      "avg_runs_allowed": 4.1,
      "run_differential": 7.0
    },
    "available": true,
    "quality_score": -0.0603
  },
  "edges": {
    "quality_edge": -0.0534,
    "offense_edge": -0.0914,
    "opponent_offense_edge": 0.1344,
    "defense_strength": 0.0181,
    "opponent_defense_weakness": 0.1093,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 0.993,
    "run_prevention": 1.0224,
    "strikeout": 0.9876
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "681217",
    "profile": {
      "available": true,
      "pitcher_id": "681217",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 196.0,
        "k_percent": 26.2,
        "bb_percent": 13.3,
        "woba": 0.308,
        "xwoba": 0.311,
        "sweet_spot_percent": 41.6,
        "barrel_batted_rate": 9.6,
        "hard_hit_percent": 32.0,
        "avg_best_speed": 75.0944,
        "avg_hyper_speed": 93.3744,
        "whiff_percent": 32.0,
        "swing_percent": 47.5
      },
      "league_medians": {
        "pa": 124.0,
        "k_percent": 22.1,
        "bb_percent": 9.0,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.6,
        "avg_best_speed": 77.5616,
        "avg_hyper_speed": 93.8797,
        "whiff_percent": 25.3,
        "swing_percent": 47.5
      },
      "components": {
        "contact_quality": -0.0112,
        "command_and_miss": 0.3836,
        "regression_edge": -0.0857,
        "xwoba_edge": 0.0286,
        "barrel_edge": -0.5556,
        "hard_hit_edge": 0.8,
        "whiff_edge": 0.9571,
        "bb_edge": -1.075,
        "pitch_design_score": 0.1079
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "681217",
        "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.84063598389444,
          "release_spin_rate": 2101.7851184725855,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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.84063598389444,
            "release_spin_rate": 2101.7851184725855,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.8406,
          "release_spin_rate": 2101.7851,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.1079,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.771,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "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.0733,
      "sample_weight": 0.784,
      "run_prevention_factor": 0.9938,
      "strikeout_factor": 1.0484,
      "walk_factor": 1.0674,
      "homer_factor": 1.0091,
      "woba_minus_xwoba": -0.003,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "681217",
        "espn_id": 4413990,
        "player_name": "Chase Silseth",
        "team": "TEX",
        "role": "pitcher",
        "espn_rank": 140,
        "espn_total_ranked": 819,
        "metrics": {
          "espn_rank": 140,
          "gp_value": 56.0,
          "gp_rank": 26,
          "gs_value": 0.0,
          "gs_rank": 344,
          "qs_value": 0.0,
          "qs_rank": 203,
          "era_value": 2.8321,
          "era_rank": null,
          "w_value": 3.0,
          "w_rank": 220,
          "l_value": 3.0,
          "l_rank": 209,
          "sv_value": 0.0,
          "sv_rank": 239,
          "hld_value": 11.0,
          "hld_rank": 58,
          "ip_value": 47.2,
          "ip_rank": 278,
          "h_value": 40.0,
          "h_rank": 279,
          "er_value": 15.0,
          "er_rank": 372,
          "hr_value": 5.0,
          "hr_rank": 285,
          "bb_value": 28.0,
          "bb_rank": 152,
          "k_value": 55.0,
          "k_rank": 218,
          "k_per_9_value": 10.384616,
          "k_per_9_rank": 21.0,
          "whip_value": 1.4265,
          "whip_rank": null,
          "war_value": 1.18,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9951,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9951,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0528,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0071,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0379,
        "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": 6,
    "BB": 7,
    "SO": 8,
    "HR": 2,
    "ERA": 3.0,
    "WHIP": 1.4444444444444444,
    "K9": 8.0,
    "HR9": 2.0,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-16T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "681217",
  "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.84063598389444,
    "release_spin_rate": 2101.7851184725855,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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.84063598389444,
      "release_spin_rate": 2101.7851184725855,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.8406,
    "release_spin_rate": 2101.7851,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1079,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.771,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 9.558,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6565,
    "prior_weight": 0.3435
  },
  "role": "pitcher",
  "player_id": "681217",
  "report_date": "20260820",
  "season_year": 2026,
  "rows_used": 56,
  "reference_playing_time": 0.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.0,
        "ER": 1.0,
        "R": 1.0,
        "H": 2.0,
        "BB": 2.0,
        "SO": 4.0,
        "HR": 1.0,
        "BF": 16.0,
        "Pitches": 51.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.4,
        "BB": 0.4,
        "SO": 0.8,
        "HR": 0.2,
        "BF": 3.2,
        "Pitches": 10.2
      },
      "rates": {
        "ERA": 2.25,
        "WHIP": 1.0,
        "ER_per_IP": 0.25,
        "H_per_IP": 0.5,
        "BB_per_IP": 0.5,
        "SO_per_IP": 1.0,
        "HR_per_IP": 0.25
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.0,
        "ER": 3.0,
        "R": 3.0,
        "H": 6.0,
        "BB": 7.0,
        "SO": 8.0,
        "HR": 2.0,
        "BF": 40.0,
        "Pitches": 139.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3,
        "R": 0.3,
        "H": 0.6,
        "BB": 0.7,
        "SO": 0.8,
        "HR": 0.2,
        "BF": 4.0,
        "Pitches": 13.9
      },
      "rates": {
        "ERA": 3.0,
        "WHIP": 1.4444,
        "ER_per_IP": 0.33333,
        "H_per_IP": 0.66667,
        "BB_per_IP": 0.77778,
        "SO_per_IP": 0.88889,
        "HR_per_IP": 0.22222
      }
    },
    "season": {
      "games": 56,
      "totals": {
        "IP": 47.2,
        "ER": 15.0,
        "R": 17.0,
        "H": 40.0,
        "BB": 28.0,
        "SO": 55.0,
        "HR": 5.0,
        "BF": 210.0,
        "Pitches": 848.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2679,
        "R": 0.3036,
        "H": 0.7143,
        "BB": 0.5,
        "SO": 0.9821,
        "HR": 0.0893,
        "BF": 3.75,
        "Pitches": 15.1429
      },
      "rates": {
        "ERA": 2.8322,
        "WHIP": 1.4266,
        "ER_per_IP": 0.31469,
        "H_per_IP": 0.83916,
        "BB_per_IP": 0.58741,
        "SO_per_IP": 1.15385,
        "HR_per_IP": 0.1049
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 0.2,
    "predicted_ER": 0.286,
    "predicted_H": 0.586,
    "predicted_BB": 0.416,
    "predicted_SO": 0.77,
    "predicted_HR": 0.149,
    "predicted_ERA": 3.2722,
    "predicted_WHIP": 1.2742
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4951,
  "form_weight": 0.5049,
  "form_reliability": 0.6565,
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 9.558,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6565,
    "prior_weight": 0.3435
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.2,
      "form": 0.2,
      "final": 0.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 3.0,
      "form": 0.286,
      "final": 1.6298,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 4.0,
      "form": 0.586,
      "final": 2.2764,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.416,
      "final": 0.21,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.77,
      "final": 0.8839,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.149,
      "final": 0.0752,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.2722,
      "final": 3.2722,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2742,
      "final": 1.2742,
      "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."
}
Wyatt Langford (694671) · BATTER · DH · Team TEX
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 320
All-history rows before 20260820: 320
System season_avg: 0.2530
Data season_avg (2026 season-to-date): 0.2603
Diff (system - data): -0.0073
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.1870.0000.000Hitting_2B0.1970.000-0.1970.000
predicted_3B0.0270.0000.000Hitting_3B0.0280.000-0.0280.000
predicted_AB3.8934.0004.000Hitting_AB4.0094.000-0.0090.000
predicted_AVG0.2530.0000.250Hitting_AVG0.2600.000-0.2600.000
predicted_BB0.3330.0000.000Hitting_BB0.3440.000-0.3440.000
predicted_CS-0.0000.000BaseRunning_CS0.0250.000-0.0250.000
predicted_H0.9870.0001.000Hitting_H1.0440.000-1.0440.000
predicted_HR0.1870.0000.000Hitting_HR0.1910.000-0.1910.000
predicted_OBP0.3120.0000.250Hitting_OBP0.3250.000-0.3250.000
predicted_R0.5870.0001.000Hitting_R0.6160.000-0.6160.000
predicted_RBI0.4400.0000.000Hitting_RBI0.4660.000-0.4660.000
predicted_SLG0.4590.0000.250Hitting_SLG0.4660.000-0.4660.000
predicted_SO0.9732.0001.000Hitting_SO0.9943.0001.006-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.9730 -> 2.0000 (boost 1.0270, worse)
Biggest Deboostpredicted_H: 0.9870 -> 0.0000 (deboost -0.9870, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend21111predicted_OBP: 0.3120 -> 0.3196 (boost 0.0076, better)predicted_SLG: 0.4590 -> 0.4414 (deboost -0.0176, worse)Final model input calibrated 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_scaling62415predicted_AB: 3.8441 -> 4.0000 (boost 0.1559, better)predicted_RBI: 0.4138 -> 0.0000 (deboost -0.4138, worse)AB rounded to 4 (raw=3.89), rates preserved: AVG=0.246 HR/AB=0.046
5consistency_constraints11010predicted_R: 0.5954 -> 1.0000 (boost 0.4046, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context20202-predicted_SLG: 0.4401 -> 0.2500 (deboost -0.1901, 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_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final22020predicted_SLG: 0.2500 -> 0.4401 (boost 0.1901, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "694671",
  "player_name": "Wyatt Langford",
  "position": "DH",
  "team": "TEX",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.187,
        "predicted_3B": 0.027,
        "predicted_AB": 3.893,
        "predicted_AVG": 0.253,
        "predicted_BB": 0.333,
        "predicted_H": 0.987,
        "predicted_HR": 0.187,
        "predicted_OBP": 0.312,
        "predicted_R": 0.587,
        "predicted_RBI": 0.44,
        "predicted_SLG": 0.459,
        "predicted_SO": 0.973
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1564,
        "predicted_3B": 0.0219,
        "predicted_AB": 3.8441,
        "predicted_AVG": 0.25,
        "predicted_BB": 0.3746,
        "predicted_H": 0.9628,
        "predicted_HBP": 0.044,
        "predicted_HR": 0.1785,
        "predicted_OBP": 0.3196,
        "predicted_R": 0.6019,
        "predicted_RBI": 0.4183,
        "predicted_SLG": 0.4414,
        "predicted_SO": 0.9343
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.187,
          "after": 0.1564,
          "delta": -0.0306,
          "percent_delta": -0.1636,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.027,
          "after": 0.0219,
          "delta": -0.0051,
          "percent_delta": -0.1889,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.893,
          "after": 3.8441,
          "delta": -0.0489,
          "percent_delta": -0.0126,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.253,
          "after": 0.25,
          "delta": -0.003,
          "percent_delta": -0.0119,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.333,
          "after": 0.3746,
          "delta": 0.0416,
          "percent_delta": 0.1249,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.987,
          "after": 0.9628,
          "delta": -0.0242,
          "percent_delta": -0.0245,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.187,
          "after": 0.1785,
          "delta": -0.0085,
          "percent_delta": -0.0455,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.312,
          "after": 0.3196,
          "delta": 0.0076,
          "percent_delta": 0.0244,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.587,
          "after": 0.6019,
          "delta": 0.0149,
          "percent_delta": 0.0254,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.44,
          "after": 0.4183,
          "delta": -0.0217,
          "percent_delta": -0.0493,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.459,
          "after": 0.4414,
          "delta": -0.0176,
          "percent_delta": -0.0383,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.973,
          "after": 0.9343,
          "delta": -0.0387,
          "percent_delta": -0.0398,
          "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.312,
          "after": 0.3196,
          "delta": 0.0076,
          "percent_delta": 0.0244,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.459,
          "after": 0.4414,
          "delta": -0.0176,
          "percent_delta": -0.0383,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 75
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1564,
        "predicted_3B": 0.0219,
        "predicted_AB": 3.8441,
        "predicted_AVG": 0.2491,
        "predicted_BB": 0.3726,
        "predicted_H": 0.9575,
        "predicted_HBP": 0.044,
        "predicted_HR": 0.178,
        "predicted_OBP": 0.3154,
        "predicted_R": 0.5954,
        "predicted_RBI": 0.4138,
        "predicted_SLG": 0.4401,
        "predicted_SO": 0.9393
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1564,
          "after": 0.1564,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0219,
          "after": 0.0219,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.8441,
          "after": 3.8441,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2491,
          "delta": -0.0009,
          "percent_delta": -0.0036,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3746,
          "after": 0.3726,
          "delta": -0.002,
          "percent_delta": -0.0053,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9628,
          "after": 0.9575,
          "delta": -0.0053,
          "percent_delta": -0.0055,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.044,
          "after": 0.044,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1785,
          "after": 0.178,
          "delta": -0.0005,
          "percent_delta": -0.0028,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3196,
          "after": 0.3154,
          "delta": -0.0042,
          "percent_delta": -0.0131,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.6019,
          "after": 0.5954,
          "delta": -0.0065,
          "percent_delta": -0.0108,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4183,
          "after": 0.4138,
          "delta": -0.0045,
          "percent_delta": -0.0108,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4414,
          "after": 0.4401,
          "delta": -0.0013,
          "percent_delta": -0.0029,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.9343,
          "after": 0.9393,
          "delta": 0.005,
          "percent_delta": 0.0054,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.89), rates preserved: AVG=0.246 HR/AB=0.046",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1564,
          "after": 0.0,
          "delta": -0.1564,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0219,
          "after": 0.0,
          "delta": -0.0219,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.8441,
          "after": 4.0,
          "delta": 0.1559,
          "percent_delta": 0.0406,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3726,
          "after": 0.0,
          "delta": -0.3726,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9575,
          "after": 1.0,
          "delta": 0.0425,
          "percent_delta": 0.0444,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.044,
          "after": 0.0,
          "delta": -0.044,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.178,
          "after": 0.0,
          "delta": -0.178,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4138,
          "after": 0.0,
          "delta": -0.4138,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9393,
          "after": 1.0,
          "delta": 0.0607,
          "percent_delta": 0.0646,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.8441,
          "after": 4.0,
          "delta": 0.1559,
          "percent_delta": 0.0406,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4138,
          "after": 0.0,
          "delta": -0.4138,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5954,
          "after": 1.0,
          "delta": 0.4046,
          "percent_delta": 0.6795,
          "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.5954,
          "after": 1.0,
          "delta": 0.4046,
          "percent_delta": 0.6795,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.25,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.25,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2491,
          "after": 0.25,
          "delta": 0.0009,
          "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.3154,
          "after": 0.25,
          "delta": -0.0654,
          "percent_delta": -0.2074,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 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.4401,
          "after": 0.25,
          "delta": -0.1901,
          "percent_delta": -0.4319,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "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.4401,
          "after": 0.25,
          "delta": -0.1901,
          "percent_delta": -0.4319,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.2491,
        "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.3154,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4401,
        "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.2491,
          "delta": -0.0009,
          "percent_delta": -0.0037,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.3154,
          "delta": 0.0654,
          "percent_delta": 0.2618,
          "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.4401,
          "delta": 0.1901,
          "percent_delta": 0.7604,
          "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.25,
          "after": 0.4401,
          "delta": 0.1901,
          "percent_delta": 0.7604,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.187,
        "after": 0.0,
        "delta": -0.187,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.027,
        "after": 0.0,
        "delta": -0.027,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.893,
        "after": 4.0,
        "delta": 0.107,
        "percent_delta": 0.0275,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.253,
        "after": 0.2491,
        "delta": -0.0039,
        "percent_delta": -0.0154,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.333,
        "after": 0.0,
        "delta": -0.333,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.987,
        "after": 0.0,
        "delta": -0.987,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.187,
        "after": 0.0,
        "delta": -0.187,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.312,
        "after": 0.3154,
        "delta": 0.0034,
        "percent_delta": 0.0109,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.587,
        "after": 0.0,
        "delta": -0.587,
        "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.459,
        "after": 0.4401,
        "delta": -0.0189,
        "percent_delta": -0.0412,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.973,
        "after": 2.0,
        "delta": 1.027,
        "percent_delta": 1.0555,
        "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.973,
        "after": 2.0,
        "delta": 1.027,
        "percent_delta": 1.0555,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.987,
        "after": 0.0,
        "delta": -0.987,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.187-
predicted_3B0.027-
predicted_AB3.893-
predicted_AVG0.253-
predicted_BB0.333-
predicted_H0.987-
predicted_HR0.187-
predicted_OBP0.312-
predicted_R0.587-
predicted_RBI0.440-
predicted_SLG0.459-
predicted_SO0.973-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.156-0.031
predicted_3B0.022-0.005
predicted_AB3.844-0.049
predicted_AVG0.250-0.003
predicted_BB0.3750.042
predicted_H0.963-0.024
predicted_HBP0.044-
predicted_HR0.178-0.009
predicted_OBP0.3200.008
predicted_R0.6020.015
predicted_RBI0.418-0.022
predicted_SLG0.441-0.018
predicted_SO0.934-0.039
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1560.000
predicted_3B0.0220.000
predicted_AB3.8440.000
predicted_AVG0.249-0.001
predicted_BB0.373-0.002
predicted_H0.958-0.005
predicted_HBP0.0440.000
predicted_HR0.178-0.001
predicted_OBP0.315-0.004
predicted_R0.595-0.006
predicted_RBI0.414-0.005
predicted_SLG0.440-0.001
predicted_SO0.9390.005
4. ab_floor_and_scaling

AB rounded to 4 (raw=3.89), rates preserved: AVG=0.246 HR/AB=0.046

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
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
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.156
predicted_3B0.000-0.022
predicted_AB4.0000.156
predicted_AVG0.2500.001
predicted_BB0.000-0.373
predicted_H1.0000.042
predicted_HR0.000-0.178
predicted_OBP0.250-0.065
predicted_R1.0000.405
predicted_RBI0.000-0.414
predicted_SLG0.250-0.190
predicted_SO1.0000.061
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
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-1.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO2.0001.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 75
Reference playing time: 3.893
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0005.0000.0000.0001.0002.0004.0003.0003.0000.26320.36360.42110.26320.05260.10530.15790.1579
last_100.2010-34.0007.0000.0000.0001.0002.0006.0006.0009.0000.20590.34150.29410.20590.02940.05880.17650.2647
season0.6075-292.00074.00014.0002.00014.00033.00044.00025.00073.0000.25340.31870.45890.25340.04790.11300.08560.2500
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1150
predicted_3B0.0150
predicted_AB3.7780
predicted_AVG0.2460
predicted_BB0.4310
predicted_H0.9300
predicted_HBP0.0440
predicted_HR0.1670
predicted_OBP0.3299
predicted_R0.6220
predicted_RBI0.3890
predicted_SLG0.4175
predicted_SO0.8820
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18700.11500.1564model_form_blend
predicted_3B0.02700.01500.0219model_form_blend
predicted_AB3.89303.77803.8441model_form_blend
predicted_AVG0.25300.24600.2500model_form_blend
predicted_BB0.33300.43100.3746model_form_blend
predicted_H0.98700.93000.9628model_form_blend
predicted_HBP-0.04400.0440form_only
predicted_HR0.18700.16700.1785model_form_blend
predicted_OBP0.31200.32990.3196model_form_blend
predicted_R0.58700.62200.6019model_form_blend
predicted_RBI0.44000.38900.4183model_form_blend
predicted_SLG0.45900.41750.4414model_form_blend
predicted_SO0.97300.88200.9343model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date320
Season rows before report date320
Report year2026
Profile rows used75
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_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_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_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
gameID20260819_WAS@TEX
game_typefull
mlbID694671
playerID694671
playerNameWyatt Langford
posLF
startedTrue
startingPositionDH
teamTEX
teamID28
game_date2026-08-19
game_pk822860.0
sl_k_percent22.8
sl_bb_percent7.8
sl_woba0.338
sl_xwoba0.308
sl_xba0.237
sl_xslg0.399
sl_sweet_spot_percent32.0
sl_barrel_batted_rate7.8
sl_hard_hit_percent39.3
sl_exit_velocity_avg89.7
sl_launch_angle_avg18.1
sl_whiff_percent24.5
sl_swing_percent48.9
at_bat_number70.0
ab_pitcher656234.0
ab_pitcher_nameBird, Jake
ab_home_teamTEX
ab_away_teamWSH
ab_game_typeR
ab_standR
ab_p_throwsR
ab_inning9.0
ab_inning_topbotBot
ab_outs_when_up0.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_descriptionWyatt Langford strikes out swinging.
ab_event_typeS
ab_hit_location2.0
ab_pitch_type_lastST
ab_pitch_name_lastSweeper
ab_zone_last14.0
ab_launch_speed_last69.0
ab_launch_angle_last64.0
ab_hit_distance_last155.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_count5.0
ab_release_speed_avg88.36
ab_release_spin_rate_avg2576.4
ab_effective_speed_avg87.24
ab_launch_speed_avg69.0
ab_launch_angle_avg64.0
ab_delta_run_exp_avg-0.052
ab_delta_home_win_exp_avg-0.0004
ab_delta_pitcher_run_exp_avg0.052
ab_bat_speed_avg67.43333333333334
ab_swing_length_avg6.3
ab_launch_speed_max69.0
ab_hit_distance_sc_max155.0
ab_release_speed_max94.3
ab_release_spin_rate_max2783.0
ab_release_speed_min81.8
ab_release_spin_rate_min2297.0
ab_delta_run_exp_sum-0.26
ab_delta_home_win_exp_sum-0.002
ab_delta_pitcher_run_exp_sum0.26
ab_result_is_hitFalse
ab_result_is_walkFalse
ab_result_is_strikeoutTrue
ab_result_is_hbpFalse
Ezequiel Duran (677649) · BATTER · LF · Team TEX
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 450
All-history rows before 20260820: 450
System season_avg: 0.2610
Data season_avg (2026 season-to-date): 0.2713
Diff (system - data): -0.0103
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.1980.0000.000Hitting_2B0.2180.000-0.2180.000
predicted_3B0.0260.0000.000Hitting_3B0.0290.000-0.0290.000
predicted_AB3.5344.0004.000Hitting_AB3.6444.0000.3560.000
predicted_AVG0.2610.7500.250Hitting_AVG0.2710.0000.4790.750
predicted_BB0.2760.0000.000Hitting_BB0.3000.000-0.3000.000
predicted_CS-0.0000.000BaseRunning_CS0.0200.000-0.0200.000
predicted_H0.9223.0001.000Hitting_H0.9890.0002.0113.000
predicted_HR0.1121.0000.000Hitting_HR0.1090.0000.8911.000
predicted_OBP0.3140.7500.250Hitting_OBP0.3280.0000.4220.750
predicted_R0.4741.0000.000Hitting_R0.4930.0000.5071.000
predicted_RBI0.5521.0001.000Hitting_RBI0.5960.0000.4041.000
predicted_SLG0.4271.5000.250Hitting_SLG0.4370.0001.0631.500
predicted_SO0.9481.0001.000Hitting_SO0.9582.0000.042-1.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_H: 0.9220 -> 3.0000 (boost 2.0780, better)
Biggest Deboostpredicted_BB: 0.2760 -> 0.0000 (deboost -0.2760, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend72516predicted_SO: 0.9480 -> 1.0318 (boost 0.0838, worse)predicted_RBI: 0.5520 -> 0.4730 (deboost -0.0790, worse)Final model input calibrated 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_scaling63333predicted_RBI: 0.4679 -> 1.0000 (boost 0.5321, better)predicted_BB: 0.2703 -> 0.0000 (deboost -0.2703, worse)AB rounded to 4 (raw=3.59), rates preserved: AVG=0.240 HR/AB=0.026
5consistency_constraints10101-predicted_R: 0.4355 -> 0.0000 (deboost -0.4355, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context31212predicted_AVG: 0.2397 -> 0.2500 (boost 0.0103, better)predicted_SLG: 0.3840 -> 0.2500 (deboost -0.1340, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference33030predicted_H: 1.0000 -> 3.0000 (boost 2.0000, better)-Attached simulation box score without overwriting model prediction
8current_json_final32121predicted_SLG: 0.2500 -> 0.3840 (boost 0.1340, better)predicted_AVG: 0.2500 -> 0.2397 (deboost -0.0103, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "677649",
  "player_name": "Ezequiel Duran",
  "position": "LF",
  "team": "TEX",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.198,
        "predicted_3B": 0.026,
        "predicted_AB": 3.534,
        "predicted_AVG": 0.261,
        "predicted_BB": 0.276,
        "predicted_H": 0.922,
        "predicted_HR": 0.112,
        "predicted_OBP": 0.314,
        "predicted_R": 0.474,
        "predicted_RBI": 0.552,
        "predicted_SLG": 0.427,
        "predicted_SO": 0.948
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1902,
        "predicted_3B": 0.0217,
        "predicted_AB": 3.5927,
        "predicted_AVG": 0.2416,
        "predicted_BB": 0.2717,
        "predicted_H": 0.8659,
        "predicted_HBP": 0.017,
        "predicted_HR": 0.0952,
        "predicted_OBP": 0.2949,
        "predicted_R": 0.4403,
        "predicted_RBI": 0.473,
        "predicted_SLG": 0.3868,
        "predicted_SO": 1.0318
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.198,
          "after": 0.1902,
          "delta": -0.0078,
          "percent_delta": -0.0394,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.026,
          "after": 0.0217,
          "delta": -0.0043,
          "percent_delta": -0.1654,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.534,
          "after": 3.5927,
          "delta": 0.0587,
          "percent_delta": 0.0166,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.261,
          "after": 0.2416,
          "delta": -0.0194,
          "percent_delta": -0.0743,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.276,
          "after": 0.2717,
          "delta": -0.0043,
          "percent_delta": -0.0156,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.922,
          "after": 0.8659,
          "delta": -0.0561,
          "percent_delta": -0.0608,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.112,
          "after": 0.0952,
          "delta": -0.0168,
          "percent_delta": -0.15,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.314,
          "after": 0.2949,
          "delta": -0.0191,
          "percent_delta": -0.0608,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.474,
          "after": 0.4403,
          "delta": -0.0337,
          "percent_delta": -0.0711,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.552,
          "after": 0.473,
          "delta": -0.079,
          "percent_delta": -0.1431,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.427,
          "after": 0.3868,
          "delta": -0.0402,
          "percent_delta": -0.0941,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.948,
          "after": 1.0318,
          "delta": 0.0838,
          "percent_delta": 0.0884,
          "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.948,
          "after": 1.0318,
          "delta": 0.0838,
          "percent_delta": 0.0884,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.552,
          "after": 0.473,
          "delta": -0.079,
          "percent_delta": -0.1431,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 116
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1902,
        "predicted_3B": 0.0217,
        "predicted_AB": 3.5927,
        "predicted_AVG": 0.2397,
        "predicted_BB": 0.2703,
        "predicted_H": 0.8611,
        "predicted_HBP": 0.017,
        "predicted_HR": 0.0949,
        "predicted_OBP": 0.2929,
        "predicted_R": 0.4355,
        "predicted_RBI": 0.4679,
        "predicted_SLG": 0.384,
        "predicted_SO": 1.0373
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1902,
          "after": 0.1902,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0217,
          "after": 0.0217,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.5927,
          "after": 3.5927,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2416,
          "after": 0.2397,
          "delta": -0.0019,
          "percent_delta": -0.0079,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2717,
          "after": 0.2703,
          "delta": -0.0014,
          "percent_delta": -0.0052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8659,
          "after": 0.8611,
          "delta": -0.0048,
          "percent_delta": -0.0055,
          "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.0952,
          "after": 0.0949,
          "delta": -0.0003,
          "percent_delta": -0.0032,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2949,
          "after": 0.2929,
          "delta": -0.002,
          "percent_delta": -0.0068,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4403,
          "after": 0.4355,
          "delta": -0.0048,
          "percent_delta": -0.0109,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.473,
          "after": 0.4679,
          "delta": -0.0051,
          "percent_delta": -0.0108,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3868,
          "after": 0.384,
          "delta": -0.0028,
          "percent_delta": -0.0072,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0318,
          "after": 1.0373,
          "delta": 0.0055,
          "percent_delta": 0.0053,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.59), rates preserved: AVG=0.240 HR/AB=0.026",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1902,
          "after": 0.0,
          "delta": -0.1902,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0217,
          "after": 0.0,
          "delta": -0.0217,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.5927,
          "after": 4.0,
          "delta": 0.4073,
          "percent_delta": 0.1134,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2703,
          "after": 0.0,
          "delta": -0.2703,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8611,
          "after": 1.0,
          "delta": 0.1389,
          "percent_delta": 0.1613,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.017,
          "after": 0.0,
          "delta": -0.017,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0949,
          "after": 0.0,
          "delta": -0.0949,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4679,
          "after": 1.0,
          "delta": 0.5321,
          "percent_delta": 1.1372,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0373,
          "after": 1.0,
          "delta": -0.0373,
          "percent_delta": -0.036,
          "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.4679,
          "after": 1.0,
          "delta": 0.5321,
          "percent_delta": 1.1372,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2703,
          "after": 0.0,
          "delta": -0.2703,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4355,
          "after": 0.0,
          "delta": -0.4355,
          "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.4355,
          "after": 0.0,
          "delta": -0.4355,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.25,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.25,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2397,
          "after": 0.25,
          "delta": 0.0103,
          "percent_delta": 0.043,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2929,
          "after": 0.25,
          "delta": -0.0429,
          "percent_delta": -0.1465,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 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.384,
          "after": 0.25,
          "delta": -0.134,
          "percent_delta": -0.349,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.2397,
          "after": 0.25,
          "delta": 0.0103,
          "percent_delta": 0.043,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.384,
          "after": 0.25,
          "delta": -0.134,
          "percent_delta": -0.349,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 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": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2397,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_LF": 0.0,
        "predicted_OBP": 0.2929,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.384,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.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.2397,
          "delta": -0.0103,
          "percent_delta": -0.0412,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.25,
          "after": 0.2929,
          "delta": 0.0429,
          "percent_delta": 0.1715,
          "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.384,
          "delta": 0.134,
          "percent_delta": 0.536,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.384,
          "delta": 0.134,
          "percent_delta": 0.536,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2397,
          "delta": -0.0103,
          "percent_delta": -0.0412,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.198,
        "after": 0.0,
        "delta": -0.198,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.026,
        "after": 0.0,
        "delta": -0.026,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.534,
        "after": 4.0,
        "delta": 0.466,
        "percent_delta": 0.1319,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.261,
        "after": 0.2397,
        "delta": -0.0213,
        "percent_delta": -0.0816,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.276,
        "after": 0.0,
        "delta": -0.276,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.922,
        "after": 3.0,
        "delta": 2.078,
        "percent_delta": 2.2538,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.112,
        "after": 1.0,
        "delta": 0.888,
        "percent_delta": 7.9286,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.314,
        "after": 0.2929,
        "delta": -0.0211,
        "percent_delta": -0.0672,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.474,
        "after": 1.0,
        "delta": 0.526,
        "percent_delta": 1.1097,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.552,
        "after": 1.0,
        "delta": 0.448,
        "percent_delta": 0.8116,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.427,
        "after": 0.384,
        "delta": -0.043,
        "percent_delta": -0.1007,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.948,
        "after": 1.0,
        "delta": 0.052,
        "percent_delta": 0.0549,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 6,
      "deboosted_metrics": 5,
      "better_metrics": 5,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.922,
        "after": 3.0,
        "delta": 2.078,
        "percent_delta": 2.2538,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.276,
        "after": 0.0,
        "delta": -0.276,
        "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.026-
predicted_AB3.534-
predicted_AVG0.261-
predicted_BB0.276-
predicted_H0.922-
predicted_HR0.112-
predicted_OBP0.314-
predicted_R0.474-
predicted_RBI0.552-
predicted_SLG0.427-
predicted_SO0.948-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.190-0.008
predicted_3B0.022-0.004
predicted_AB3.5930.059
predicted_AVG0.242-0.019
predicted_BB0.272-0.004
predicted_H0.866-0.056
predicted_HBP0.017-
predicted_HR0.095-0.017
predicted_OBP0.295-0.019
predicted_R0.440-0.034
predicted_RBI0.473-0.079
predicted_SLG0.387-0.040
predicted_SO1.0320.084
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1900.000
predicted_3B0.0220.000
predicted_AB3.5930.000
predicted_AVG0.240-0.002
predicted_BB0.270-0.001
predicted_H0.861-0.005
predicted_HBP0.0170.000
predicted_HR0.095-0.000
predicted_OBP0.293-0.002
predicted_R0.435-0.005
predicted_RBI0.468-0.005
predicted_SLG0.384-0.003
predicted_SO1.0370.006
4. ab_floor_and_scaling

AB rounded to 4 (raw=3.59), rates preserved: AVG=0.240 HR/AB=0.026

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.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
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
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.190
predicted_3B0.000-0.022
predicted_AB4.0000.407
predicted_AVG0.2500.010
predicted_BB0.000-0.270
predicted_H1.0000.139
predicted_HR0.000-0.095
predicted_OBP0.250-0.043
predicted_R0.000-0.435
predicted_RBI1.0000.532
predicted_SLG0.250-0.134
predicted_SO1.000-0.037
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
H3.0002.000
HBP0.0000.000
HR1.0001.000
PA4.000-
R1.0001.000
RBI1.0000.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 116
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0003.0001.0000.0000.0000.0001.0001.0008.0000.15790.20000.21050.15790.00000.00000.05260.4210
last_100.2010-39.0005.0001.0000.0000.0001.0003.0003.00014.0000.12820.19050.15380.12820.00000.02560.07690.3590
season0.60116-410.000107.00023.0003.00013.00064.00055.00032.000110.0000.26100.31560.42680.26100.03170.15610.07800.2683
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1800
predicted_3B0.0160
predicted_AB3.6700
predicted_AVG0.2160
predicted_BB0.2660
predicted_H0.7920
predicted_HBP0.0170
predicted_HR0.0730
predicted_OBP0.2698
predicted_R0.3960
predicted_RBI0.3690
predicted_SLG0.3339
predicted_SO1.1420
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.19800.18000.1902model_form_blend
predicted_3B0.02600.01600.0217model_form_blend
predicted_AB3.53403.67003.5927model_form_blend
predicted_AVG0.26100.21600.2416model_form_blend
predicted_BB0.27600.26600.2717model_form_blend
predicted_H0.92200.79200.8659model_form_blend
predicted_HBP-0.01700.0170form_only
predicted_HR0.11200.07300.0952model_form_blend
predicted_OBP0.31400.26980.2949model_form_blend
predicted_R0.47400.39600.4403model_form_blend
predicted_RBI0.55200.36900.4730model_form_blend
predicted_SLG0.42700.33390.3868model_form_blend
predicted_SO0.94801.14201.0318model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date450
Season rows before report date450
Report year2026
Profile rows used116
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H3
2B0
3B0
HR1
R1
RBI1
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_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
allPositionsPlayed3B-LF
gameID20260819_WAS@TEX
game_typefull
mlbID677649
playerID677649
playerNameEzequiel Duran
posSS
startedTrue
startingPosition3B
teamTEX
teamID28
game_date2026-08-19
game_pk822860.0
sl_k_percent24.4
sl_bb_percent7.1
sl_woba0.323
sl_xwoba0.298
sl_xba0.243
sl_xslg0.372
sl_sweet_spot_percent35.6
sl_barrel_batted_rate6.3
sl_hard_hit_percent36.3
sl_exit_velocity_avg88.5
sl_launch_angle_avg11.8
sl_whiff_percent27.0
sl_swing_percent51.4
at_bat_number72.0
ab_pitcher656234.0
ab_pitcher_nameBird, Jake
ab_home_teamTEX
ab_away_teamWSH
ab_game_typeR
ab_standR
ab_p_throwsR
ab_inning9.0
ab_inning_topbotBot
ab_outs_when_up2.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_eventfield_out
ab_event_descriptionEzequiel Duran pops out to second baseman Nasim Nuñez.
ab_event_typeX
ab_bb_typepopup
ab_hit_location4.0
ab_pitch_type_lastST
ab_pitch_name_lastSweeper
ab_zone_last7.0
ab_launch_speed_last74.1
ab_launch_angle_last66.0
ab_hit_distance_last125.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_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_count5.0
ab_release_speed_avg86.53999999999999
ab_release_spin_rate_avg2630.8
ab_effective_speed_avg85.9
ab_launch_speed_avg72.19999999999999
ab_launch_angle_avg45.5
ab_delta_run_exp_avg-0.052
ab_delta_home_win_exp_avg-0.0002
ab_delta_pitcher_run_exp_avg0.052
ab_bat_speed_avg76.06666666666666
ab_swing_length_avg7.433333333333334
ab_launch_speed_max74.1
ab_hit_distance_sc_max125.0
ab_release_speed_max92.2
ab_release_spin_rate_max2826.0
ab_release_speed_min82.0
ab_release_spin_rate_min2449.0
ab_delta_run_exp_sum-0.26
ab_delta_home_win_exp_sum-0.001
ab_delta_pitcher_run_exp_sum0.26
ab_result_is_hitFalse
ab_result_is_walkFalse
ab_result_is_strikeoutFalse
ab_result_is_hbpFalse
Jake Burger (669394) · BATTER · 1B · Team TEX
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 476
All-history rows before 20260820: 476
System season_avg: 0.2390
Data season_avg (2026 season-to-date): 0.2422
Diff (system - data): -0.0032
System opponent_avg: 0.2390

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1500.0000.000Hitting_2B0.1550.000-0.1550.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.6583.0004.000Hitting_AB3.7564.000-0.756-1.000
predicted_AVG0.2660.0000.250Hitting_AVG0.2420.250-0.242-0.250
predicted_BB0.3001.0000.000Hitting_BB0.3150.0000.6851.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.9600.0001.000Hitting_H0.9101.000-0.910-1.000
predicted_HR0.1900.0000.000Hitting_HR0.1700.000-0.1700.000
predicted_OBP0.3280.2500.250Hitting_OBP0.3040.250-0.0540.000
predicted_R0.4330.0000.000Hitting_R0.4430.000-0.4430.000
predicted_RBI0.6100.0001.000Hitting_RBI0.6320.000-0.6320.000
predicted_SLG0.4600.0000.250Hitting_SLG0.4190.250-0.419-0.250
predicted_SO1.0670.0001.000Hitting_SO1.1092.000-1.109-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.3000 -> 1.0000 (boost 0.7000, better)
Biggest Deboostpredicted_SO: 1.0670 -> 0.0000 (deboost -1.0670, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend11010predicted_SLG: 0.4600 -> 0.4709 (boost 0.0109, better)-Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot10101-predicted_OBP: 0.3269 -> 0.3191 (deboost -0.0078, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling63333predicted_RBI: 0.6394 -> 1.0000 (boost 0.3606, better)predicted_BB: 0.3143 -> 0.0000 (deboost -0.3143, worse)AB rounded to 4 (raw=3.66), rates preserved: AVG=0.259 HR/AB=0.055
5consistency_constraints10101-predicted_R: 0.4326 -> 0.0000 (deboost -0.4326, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context30303-predicted_SLG: 0.4685 -> 0.2500 (deboost -0.2185, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference51423predicted_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_final33030predicted_SLG: 0.2500 -> 0.4685 (boost 0.2185, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "669394",
  "player_name": "Jake Burger",
  "position": "1B",
  "team": "TEX",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.15,
        "predicted_3B": 0.0,
        "predicted_AB": 3.658,
        "predicted_AVG": 0.266,
        "predicted_BB": 0.3,
        "predicted_H": 0.96,
        "predicted_HR": 0.19,
        "predicted_OBP": 0.328,
        "predicted_R": 0.433,
        "predicted_RBI": 0.61,
        "predicted_SLG": 0.46,
        "predicted_SO": 1.067
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1504,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.6442,
        "predicted_AVG": 0.2637,
        "predicted_BB": 0.316,
        "predicted_H": 0.9539,
        "predicted_HBP": 0.016,
        "predicted_HR": 0.203,
        "predicted_OBP": 0.3269,
        "predicted_R": 0.4373,
        "predicted_RBI": 0.6464,
        "predicted_SLG": 0.4709,
        "predicted_SO": 1.0259
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.15,
          "after": 0.1504,
          "delta": 0.0004,
          "percent_delta": 0.0027,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0004,
          "delta": 0.0004,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.658,
          "after": 3.6442,
          "delta": -0.0138,
          "percent_delta": -0.0038,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.266,
          "after": 0.2637,
          "delta": -0.0023,
          "percent_delta": -0.0086,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3,
          "after": 0.316,
          "delta": 0.016,
          "percent_delta": 0.0533,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.96,
          "after": 0.9539,
          "delta": -0.0061,
          "percent_delta": -0.0064,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.19,
          "after": 0.203,
          "delta": 0.013,
          "percent_delta": 0.0684,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.328,
          "after": 0.3269,
          "delta": -0.0011,
          "percent_delta": -0.0034,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.433,
          "after": 0.4373,
          "delta": 0.0043,
          "percent_delta": 0.0099,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.61,
          "after": 0.6464,
          "delta": 0.0364,
          "percent_delta": 0.0597,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.46,
          "after": 0.4709,
          "delta": 0.0109,
          "percent_delta": 0.0237,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.067,
          "after": 1.0259,
          "delta": -0.0411,
          "percent_delta": -0.0385,
          "direction": "no_change",
          "projection_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.46,
          "after": 0.4709,
          "delta": 0.0109,
          "percent_delta": 0.0237,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 120
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1504,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.6442,
        "predicted_AVG": 0.2603,
        "predicted_BB": 0.3143,
        "predicted_H": 0.9487,
        "predicted_HBP": 0.016,
        "predicted_HR": 0.2025,
        "predicted_OBP": 0.3191,
        "predicted_R": 0.4326,
        "predicted_RBI": 0.6394,
        "predicted_SLG": 0.4685,
        "predicted_SO": 1.0313
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1504,
          "after": 0.1504,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6442,
          "after": 3.6442,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2637,
          "after": 0.2603,
          "delta": -0.0034,
          "percent_delta": -0.0129,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.316,
          "after": 0.3143,
          "delta": -0.0017,
          "percent_delta": -0.0054,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9539,
          "after": 0.9487,
          "delta": -0.0052,
          "percent_delta": -0.0055,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.016,
          "after": 0.016,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.203,
          "after": 0.2025,
          "delta": -0.0005,
          "percent_delta": -0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3269,
          "after": 0.3191,
          "delta": -0.0078,
          "percent_delta": -0.0239,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4373,
          "after": 0.4326,
          "delta": -0.0047,
          "percent_delta": -0.0107,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6464,
          "after": 0.6394,
          "delta": -0.007,
          "percent_delta": -0.0108,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4709,
          "after": 0.4685,
          "delta": -0.0024,
          "percent_delta": -0.0051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0259,
          "after": 1.0313,
          "delta": 0.0054,
          "percent_delta": 0.0053,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.3269,
          "after": 0.3191,
          "delta": -0.0078,
          "percent_delta": -0.0239,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.66), rates preserved: AVG=0.259 HR/AB=0.055",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1504,
          "after": 0.0,
          "delta": -0.1504,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0,
          "delta": -0.0004,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6442,
          "after": 4.0,
          "delta": 0.3558,
          "percent_delta": 0.0976,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3143,
          "after": 0.0,
          "delta": -0.3143,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9487,
          "after": 1.0,
          "delta": 0.0513,
          "percent_delta": 0.0541,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.016,
          "after": 0.0,
          "delta": -0.016,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2025,
          "after": 0.0,
          "delta": -0.2025,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6394,
          "after": 1.0,
          "delta": 0.3606,
          "percent_delta": 0.564,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0313,
          "after": 1.0,
          "delta": -0.0313,
          "percent_delta": -0.0304,
          "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.6394,
          "after": 1.0,
          "delta": 0.3606,
          "percent_delta": 0.564,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3143,
          "after": 0.0,
          "delta": -0.3143,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4326,
          "after": 0.0,
          "delta": -0.4326,
          "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.4326,
          "after": 0.0,
          "delta": -0.4326,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.25,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.25,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2603,
          "after": 0.25,
          "delta": -0.0103,
          "percent_delta": -0.0396,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3191,
          "after": 0.25,
          "delta": -0.0691,
          "percent_delta": -0.2165,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "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.4685,
          "after": 0.25,
          "delta": -0.2185,
          "percent_delta": -0.4664,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.4685,
          "after": 0.25,
          "delta": -0.2185,
          "percent_delta": -0.4664,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_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.2603,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_FB": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3191,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4685,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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.2603,
          "delta": 0.0103,
          "percent_delta": 0.0413,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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.3191,
          "delta": 0.0691,
          "percent_delta": 0.2762,
          "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.4685,
          "delta": 0.2185,
          "percent_delta": 0.8739,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.25,
          "after": 0.4685,
          "delta": 0.2185,
          "percent_delta": 0.8739,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.15,
        "after": 0.0,
        "delta": -0.15,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.658,
        "after": 3.0,
        "delta": -0.658,
        "percent_delta": -0.1799,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.266,
        "after": 0.2603,
        "delta": -0.0057,
        "percent_delta": -0.0214,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.3,
        "after": 1.0,
        "delta": 0.7,
        "percent_delta": 2.3333,
        "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.19,
        "after": 0.0,
        "delta": -0.19,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.328,
        "after": 0.3191,
        "delta": -0.0089,
        "percent_delta": -0.0271,
        "direction": "deboost",
        "projection_effect": "worse",
        "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.61,
        "after": 0.0,
        "delta": -0.61,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.46,
        "after": 0.4685,
        "delta": 0.0085,
        "percent_delta": 0.0185,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.067,
        "after": 0.0,
        "delta": -1.067,
        "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.3,
        "after": 1.0,
        "delta": 0.7,
        "percent_delta": 2.3333,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.067,
        "after": 0.0,
        "delta": -1.067,
        "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.150-
predicted_3B0.000-
predicted_AB3.658-
predicted_AVG0.266-
predicted_BB0.300-
predicted_H0.960-
predicted_HR0.190-
predicted_OBP0.328-
predicted_R0.433-
predicted_RBI0.610-
predicted_SLG0.460-
predicted_SO1.067-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% 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.000
predicted_3B0.0000.000
predicted_AB3.644-0.014
predicted_AVG0.264-0.002
predicted_BB0.3160.016
predicted_H0.954-0.006
predicted_HBP0.016-
predicted_HR0.2030.013
predicted_OBP0.327-0.001
predicted_R0.4370.004
predicted_RBI0.6460.036
predicted_SLG0.4710.011
predicted_SO1.026-0.041
3. team_form_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.0000.000
predicted_AB3.6440.000
predicted_AVG0.260-0.003
predicted_BB0.314-0.002
predicted_H0.949-0.005
predicted_HBP0.0160.000
predicted_HR0.203-0.001
predicted_OBP0.319-0.008
predicted_R0.433-0.005
predicted_RBI0.639-0.007
predicted_SLG0.469-0.002
predicted_SO1.0310.005
4. ab_floor_and_scaling

AB rounded to 4 (raw=3.66), rates preserved: AVG=0.259 HR/AB=0.055

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
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-
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.150
predicted_3B0.000-0.000
predicted_AB4.0000.356
predicted_AVG0.250-0.010
predicted_BB0.000-0.314
predicted_H1.0000.051
predicted_HR0.000-0.203
predicted_OBP0.250-0.069
predicted_R0.000-0.433
predicted_RBI1.0000.361
predicted_SLG0.250-0.219
predicted_SO1.000-0.031
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.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: 120
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0006.0001.0000.0002.0005.0003.0002.0004.0000.33330.40000.72220.33330.11110.27780.11110.2222
last_100.2010-35.0009.0001.0000.0002.0007.0003.0004.0009.0000.25710.33330.45710.25710.05710.20000.11430.2571
season0.60120-439.000105.00018.0000.00021.00073.00052.00036.000128.0000.23920.30000.42370.23920.04780.16630.08200.2916
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1510
predicted_3B0.0010
predicted_AB3.6260
predicted_AVG0.2608
predicted_BB0.3370
predicted_H0.9460
predicted_HBP0.0160
predicted_HR0.2200
predicted_OBP0.3254
predicted_R0.4430
predicted_RBI0.6940
predicted_SLG0.4853
predicted_SO0.9720
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15000.15100.1504model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.65803.62603.6442model_form_blend
predicted_AVG0.26600.26080.2637model_form_blend
predicted_BB0.30000.33700.3160model_form_blend
predicted_H0.96000.94600.9539model_form_blend
predicted_HBP-0.01600.0160form_only
predicted_HR0.19000.22000.2030model_form_blend
predicted_OBP0.32800.32540.3269model_form_blend
predicted_R0.43300.44300.4373model_form_blend
predicted_RBI0.61000.69400.6464model_form_blend
predicted_SLG0.46000.48530.4709model_form_blend
predicted_SO1.06700.97201.0259model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date476
Season rows before report date476
Report year2026
Profile rows used120
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_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.25
Hitting_BB0
Hitting_GIDP1
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
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
gameID20260818_WAS@TEX
game_typefull
mlbID669394
playerID669394
playerNameJake Burger
pos1B
startedTrue
startingPosition1B
teamTEX
teamID28
game_date2026-08-18
game_pk822859.0
sl_k_percent26.7
sl_bb_percent7.5
sl_woba0.316
sl_xwoba0.302
sl_xba0.231
sl_xslg0.399
sl_sweet_spot_percent29.7
sl_barrel_batted_rate10.9
sl_hard_hit_percent46.6
sl_exit_velocity_avg90.0
sl_launch_angle_avg13.4
sl_whiff_percent34.0
sl_swing_percent50.4
at_bat_number55.0
ab_pitcher592866.0
ab_pitcher_nameWilliams, Trevor
ab_home_teamTEX
ab_away_teamWSH
ab_game_typeR
ab_standR
ab_p_throwsR
ab_inning7.0
ab_inning_topbotBot
ab_outs_when_up0.0
ab_balls_start0.0
ab_strikes_start0.0
ab_home_score_start5.0
ab_away_score_start0.0
ab_bat_score_start5.0
ab_fld_score_start0.0
ab_eventstrikeout
ab_event_descriptionJake Burger strikes out swinging.
ab_event_typeS
ab_hit_location2.0
ab_pitch_type_lastFF
ab_pitch_name_last4-Seam Fastball
ab_zone_last14.0
ab_launch_speed_last59.2
ab_launch_angle_last-15.0
ab_hit_distance_last7.0
ab_estimated_woba_last0.0
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_end0.0
ab_bat_score_end5.0
ab_fld_score_end0.0
ab_pitch_count7.0
ab_release_speed_avg84.61428571428571
ab_release_spin_rate_avg2273.8571428571427
ab_effective_speed_avg85.11428571428571
ab_launch_speed_avg59.2
ab_launch_angle_avg-15.0
ab_delta_run_exp_avg-0.0371428571428571
ab_delta_home_win_exp_avg-0.0002857142857142
ab_delta_pitcher_run_exp_avg0.0371428571428571
ab_bat_speed_avg70.63333333333334
ab_swing_length_avg6.666666666666667
ab_launch_speed_max59.2
ab_hit_distance_sc_max7.0
ab_release_speed_max89.6
ab_release_spin_rate_max2397.0
ab_release_speed_min77.2
ab_release_spin_rate_min1993.0
ab_delta_run_exp_sum-0.26
ab_delta_home_win_exp_sum-0.002
ab_delta_pitcher_run_exp_sum0.26
ab_result_is_hitFalse
ab_result_is_walkFalse
ab_result_is_strikeoutTrue
ab_result_is_hbpFalse
Corey Seager (608369) · BATTER · SS · Team TEX
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 283
All-history rows before 20260820: 283
System season_avg: 0.2130
Data season_avg (2026 season-to-date): 0.2118
Diff (system - data): 0.0012
System opponent_avg: 0.5000

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1360.0000.000Hitting_2B0.1410.000-0.1410.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.0203.0004.000Hitting_AB3.7214.000-0.721-1.000
predicted_AVG0.2420.3330.250Hitting_AVG0.2120.5000.122-0.167
predicted_BB0.5151.0000.000Hitting_BB0.5550.0000.4451.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.9701.0001.000Hitting_H0.7882.0000.212-1.000
predicted_HR0.1700.0000.000Hitting_HR0.1870.000-0.1870.000
predicted_OBP0.3430.5000.250Hitting_OBP0.3170.5000.1830.000
predicted_R0.5610.0001.000Hitting_R0.5800.000-0.5800.000
predicted_RBI0.4500.0000.000Hitting_RBI0.4590.000-0.4590.000
predicted_SLG0.4070.3330.250Hitting_SLG0.4010.500-0.067-0.167
predicted_SO1.0610.0001.000Hitting_SO1.0671.000-1.067-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_BB: 0.5150 -> 1.0000 (boost 0.4850, better)
Biggest Deboostpredicted_SO: 1.0610 -> 0.0000 (deboost -1.0610, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend42231predicted_SLG: 0.4070 -> 0.4153 (boost 0.0083, better)predicted_AB: 4.0200 -> 3.8504 (deboost -0.1696, worse)Final model input calibrated 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.3449 -> 0.3333 (deboost -0.0116, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling51414predicted_AB: 3.8504 -> 4.0000 (boost 0.1496, better)predicted_BB: 0.4947 -> 0.0000 (deboost -0.4947, worse)AB rounded to 4 (raw=4.02), rates preserved: AVG=0.237 HR/AB=0.039
5consistency_constraints11010predicted_R: 0.5595 -> 1.0000 (boost 0.4405, better)-Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context20202-predicted_SLG: 0.4099 -> 0.2500 (deboost -0.1599, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference41322predicted_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_final22020predicted_SLG: 0.2500 -> 0.4099 (boost 0.1599, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "608369",
  "player_name": "Corey Seager",
  "position": "SS",
  "team": "TEX",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.136,
        "predicted_3B": 0.0,
        "predicted_AB": 4.02,
        "predicted_AVG": 0.242,
        "predicted_BB": 0.515,
        "predicted_H": 0.97,
        "predicted_HR": 0.17,
        "predicted_OBP": 0.343,
        "predicted_R": 0.561,
        "predicted_RBI": 0.45,
        "predicted_SLG": 0.407,
        "predicted_SO": 1.061
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1482,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.8504,
        "predicted_AVG": 0.25,
        "predicted_BB": 0.4973,
        "predicted_H": 0.959,
        "predicted_HBP": 0.019,
        "predicted_HR": 0.159,
        "predicted_OBP": 0.3449,
        "predicted_R": 0.5656,
        "predicted_RBI": 0.4352,
        "predicted_SLG": 0.4153,
        "predicted_SO": 0.9897
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.136,
          "after": 0.1482,
          "delta": 0.0122,
          "percent_delta": 0.0897,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0004,
          "delta": 0.0004,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.02,
          "after": 3.8504,
          "delta": -0.1696,
          "percent_delta": -0.0422,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.242,
          "after": 0.25,
          "delta": 0.008,
          "percent_delta": 0.0331,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.515,
          "after": 0.4973,
          "delta": -0.0177,
          "percent_delta": -0.0344,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.97,
          "after": 0.959,
          "delta": -0.011,
          "percent_delta": -0.0113,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.17,
          "after": 0.159,
          "delta": -0.011,
          "percent_delta": -0.0647,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.343,
          "after": 0.3449,
          "delta": 0.0019,
          "percent_delta": 0.0055,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.561,
          "after": 0.5656,
          "delta": 0.0046,
          "percent_delta": 0.0082,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.45,
          "after": 0.4352,
          "delta": -0.0148,
          "percent_delta": -0.0329,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.407,
          "after": 0.4153,
          "delta": 0.0083,
          "percent_delta": 0.0204,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.061,
          "after": 0.9897,
          "delta": -0.0713,
          "percent_delta": -0.0672,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.407,
          "after": 0.4153,
          "delta": 0.0083,
          "percent_delta": 0.0204,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.02,
          "after": 3.8504,
          "delta": -0.1696,
          "percent_delta": -0.0422,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 66
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1482,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.8504,
        "predicted_AVG": 0.2477,
        "predicted_BB": 0.4947,
        "predicted_H": 0.9537,
        "predicted_HBP": 0.019,
        "predicted_HR": 0.1586,
        "predicted_OBP": 0.3333,
        "predicted_R": 0.5595,
        "predicted_RBI": 0.4305,
        "predicted_SLG": 0.4099,
        "predicted_SO": 0.9949
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1482,
          "after": 0.1482,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.8504,
          "after": 3.8504,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2477,
          "delta": -0.0023,
          "percent_delta": -0.0092,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4973,
          "after": 0.4947,
          "delta": -0.0026,
          "percent_delta": -0.0052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.959,
          "after": 0.9537,
          "delta": -0.0053,
          "percent_delta": -0.0055,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.019,
          "after": 0.019,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.159,
          "after": 0.1586,
          "delta": -0.0004,
          "percent_delta": -0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3449,
          "after": 0.3333,
          "delta": -0.0116,
          "percent_delta": -0.0336,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5656,
          "after": 0.5595,
          "delta": -0.0061,
          "percent_delta": -0.0108,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4352,
          "after": 0.4305,
          "delta": -0.0047,
          "percent_delta": -0.0108,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4153,
          "after": 0.4099,
          "delta": -0.0054,
          "percent_delta": -0.013,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9897,
          "after": 0.9949,
          "delta": 0.0052,
          "percent_delta": 0.0053,
          "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.3449,
          "after": 0.3333,
          "delta": -0.0116,
          "percent_delta": -0.0336,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.02), rates preserved: AVG=0.237 HR/AB=0.039",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1482,
          "after": 0.0,
          "delta": -0.1482,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0,
          "delta": -0.0004,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.8504,
          "after": 4.0,
          "delta": 0.1496,
          "percent_delta": 0.0389,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4947,
          "after": 0.0,
          "delta": -0.4947,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9537,
          "after": 1.0,
          "delta": 0.0463,
          "percent_delta": 0.0485,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.019,
          "after": 0.0,
          "delta": -0.019,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1586,
          "after": 0.0,
          "delta": -0.1586,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4305,
          "after": 0.0,
          "delta": -0.4305,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9949,
          "after": 1.0,
          "delta": 0.0051,
          "percent_delta": 0.0051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.8504,
          "after": 4.0,
          "delta": 0.1496,
          "percent_delta": 0.0389,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4947,
          "after": 0.0,
          "delta": -0.4947,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5595,
          "after": 1.0,
          "delta": 0.4405,
          "percent_delta": 0.7873,
          "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.5595,
          "after": 1.0,
          "delta": 0.4405,
          "percent_delta": 0.7873,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.25,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.25,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2477,
          "after": 0.25,
          "delta": 0.0023,
          "percent_delta": 0.0093,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3333,
          "after": 0.25,
          "delta": -0.0833,
          "percent_delta": -0.2499,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 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.4099,
          "after": 0.25,
          "delta": -0.1599,
          "percent_delta": -0.3901,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "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.4099,
          "after": 0.25,
          "delta": -0.1599,
          "percent_delta": -0.3901,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_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.2477,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3333,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4099,
        "predicted_SO": 0.0,
        "predicted_SS": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2477,
          "delta": -0.0023,
          "percent_delta": -0.0092,
          "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.25,
          "after": 0.3333,
          "delta": 0.0833,
          "percent_delta": 0.3334,
          "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.4099,
          "delta": 0.1599,
          "percent_delta": 0.6398,
          "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.4099,
          "delta": 0.1599,
          "percent_delta": 0.6398,
          "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.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.02,
        "after": 3.0,
        "delta": -1.02,
        "percent_delta": -0.2537,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.242,
        "after": 0.2477,
        "delta": 0.0057,
        "percent_delta": 0.0236,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.515,
        "after": 1.0,
        "delta": 0.485,
        "percent_delta": 0.9417,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.97,
        "after": 1.0,
        "delta": 0.03,
        "percent_delta": 0.0309,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.17,
        "after": 0.0,
        "delta": -0.17,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.343,
        "after": 0.3333,
        "delta": -0.0097,
        "percent_delta": -0.0283,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.561,
        "after": 0.0,
        "delta": -0.561,
        "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.407,
        "after": 0.4099,
        "delta": 0.0029,
        "percent_delta": 0.0071,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 1.061,
        "after": 0.0,
        "delta": -1.061,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 2,
      "deboosted_metrics": 7,
      "better_metrics": 3,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.515,
        "after": 1.0,
        "delta": 0.485,
        "percent_delta": 0.9417,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.061,
        "after": 0.0,
        "delta": -1.061,
        "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.136-
predicted_3B0.000-
predicted_AB4.020-
predicted_AVG0.242-
predicted_BB0.515-
predicted_H0.970-
predicted_HR0.170-
predicted_OBP0.343-
predicted_R0.561-
predicted_RBI0.450-
predicted_SLG0.407-
predicted_SO1.061-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1480.012
predicted_3B0.0000.000
predicted_AB3.850-0.170
predicted_AVG0.2500.008
predicted_BB0.497-0.018
predicted_H0.959-0.011
predicted_HBP0.019-
predicted_HR0.159-0.011
predicted_OBP0.3450.002
predicted_R0.5660.005
predicted_RBI0.435-0.015
predicted_SLG0.4150.008
predicted_SO0.990-0.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.1480.000
predicted_3B0.0000.000
predicted_AB3.8500.000
predicted_AVG0.248-0.002
predicted_BB0.495-0.003
predicted_H0.954-0.005
predicted_HBP0.0190.000
predicted_HR0.159-0.000
predicted_OBP0.333-0.012
predicted_R0.559-0.006
predicted_RBI0.430-0.005
predicted_SLG0.410-0.005
predicted_SO0.9950.005
4. ab_floor_and_scaling

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

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
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.148
predicted_3B0.000-0.000
predicted_AB4.0000.150
predicted_AVG0.2500.002
predicted_BB0.000-0.495
predicted_H1.0000.046
predicted_HR0.000-0.159
predicted_OBP0.250-0.083
predicted_R1.0000.441
predicted_RBI0.000-0.430
predicted_SLG0.250-0.160
predicted_SO1.0000.005
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
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: 66
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.205-16.0006.0001.0000.0000.0001.0003.0003.0004.0000.37500.47370.43750.37500.00000.06250.18750.2500
last_100.2010-37.00011.0002.0000.0002.0005.0006.0003.0005.0000.29730.35000.51350.29730.05410.13510.08110.1351
season0.6066-244.00052.0009.0000.00012.00030.00037.00034.00070.0000.21310.31210.39750.21310.04920.12300.13930.2869
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1650
predicted_3B0.0010
predicted_AB3.6180
predicted_AVG0.2609
predicted_BB0.4730
predicted_H0.9440
predicted_HBP0.0190
predicted_HR0.1440
predicted_OBP0.3475
predicted_R0.5720
predicted_RBI0.4150
predicted_SLG0.4267
predicted_SO0.8920
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.13600.16500.1482model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB4.02003.61803.8504model_form_blend
predicted_AVG0.24200.26090.2500model_form_blend
predicted_BB0.51500.47300.4973model_form_blend
predicted_H0.97000.94400.9590model_form_blend
predicted_HBP-0.01900.0190form_only
predicted_HR0.17000.14400.1590model_form_blend
predicted_OBP0.34300.34750.3449model_form_blend
predicted_R0.56100.57200.5656model_form_blend
predicted_RBI0.45000.41500.4352model_form_blend
predicted_SLG0.40700.42670.4153model_form_blend
predicted_SO1.06100.89200.9897model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date283
Season rows before report date283
Report year2026
Profile rows used66
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_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.213

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.5
Hitting_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB2
Hitting_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
gameID20260819_WAS@TEX
game_typefull
mlbID608369
playerID608369
playerNameCorey Seager
posSS
startedTrue
startingPositionSS
teamTEX
teamID28
game_date2026-08-19
game_pk822860.0
sl_k_percent24.8
sl_bb_percent12.1
sl_woba0.31
sl_xwoba0.337
sl_xba0.233
sl_xslg0.453
sl_sweet_spot_percent33.0
sl_barrel_batted_rate14.8
sl_hard_hit_percent47.2
sl_exit_velocity_avg91.4
sl_launch_angle_avg12.6
sl_whiff_percent34.1
sl_swing_percent51.8
at_bat_number65.0
ab_pitcher668820.0
ab_pitcher_nameKranick, Max
ab_home_teamTEX
ab_away_teamWSH
ab_game_typeR
ab_standL
ab_p_throwsR
ab_inning8.0
ab_inning_topbotBot
ab_outs_when_up2.0
ab_on_2b_start553869.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_eventfield_out
ab_event_descriptionCorey Seager grounds out to first baseman Abimelec Ortiz.
ab_event_typeX
ab_bb_typeground_ball
ab_hit_location3.0
ab_pitch_type_lastCU
ab_pitch_name_lastCurveball
ab_zone_last8.0
ab_launch_speed_last83.2
ab_launch_angle_last-6.0
ab_hit_distance_last17.0
ab_estimated_ba_last0.126
ab_estimated_woba_last0.119
ab_estimated_slg_last0.14
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_end0.0
ab_away_score_end6.0
ab_bat_score_end0.0
ab_fld_score_end6.0
ab_pitch_count1.0
ab_release_speed_avg80.5
ab_release_spin_rate_avg2176.0
ab_effective_speed_avg80.8
ab_launch_speed_avg83.2
ab_launch_angle_avg-6.0
ab_delta_run_exp_avg-0.28
ab_delta_home_win_exp_avg-0.003
ab_delta_pitcher_run_exp_avg0.28
ab_bat_speed_avg75.9
ab_swing_length_avg7.1
ab_launch_speed_max83.2
ab_hit_distance_sc_max17.0
ab_release_speed_max80.5
ab_release_spin_rate_max2176.0
ab_release_speed_min80.5
ab_release_spin_rate_min2176.0
ab_delta_run_exp_sum-0.28
ab_delta_home_win_exp_sum-0.003
ab_delta_pitcher_run_exp_sum0.28
ab_result_is_hitFalse
ab_result_is_walkFalse
ab_result_is_strikeoutFalse
ab_result_is_hbpFalse
Justin Foscue (679822) · BATTER · 2B · Team TEX
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 166
All-history rows before 20260820: 166
System season_avg: 0.2570
Data season_avg (2026 season-to-date): 0.2741
Diff (system - data): -0.0171
System opponent_avg: 0.2570
System season_avg diverges from 2026 season-to-date by -0.0171. 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.1150.0000.000Hitting_2B0.1810.000-0.1810.000
predicted_3B0.0160.0000.000Hitting_3B0.0120.000-0.0120.000
predicted_AB2.5004.0003.000Hitting_AB2.8801.0001.1203.000
predicted_AVG0.3520.0000.333Hitting_AVG0.2741.000-0.274-1.000
predicted_BB0.1640.0000.000Hitting_BB0.2591.000-0.259-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.6300.0001.000Hitting_H0.7891.000-0.789-1.000
predicted_HR0.1400.0000.000Hitting_HR0.1571.000-0.157-1.000
predicted_OBP0.3520.0000.333Hitting_OBP0.3361.000-0.336-1.000
predicted_R0.2800.0000.000Hitting_R0.3371.000-0.337-1.000
predicted_RBI0.4000.0000.000Hitting_RBI0.4882.000-0.488-2.000
predicted_SB-0.0000.000BaseRunning_SB0.0000.0000.0000.000
predicted_SLG0.8070.0000.333Hitting_SLG0.5084.000-0.508-4.000
predicted_SO0.7071.0001.000Hitting_SO0.7710.0000.2291.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics2
Deboosted Metrics9
Better Metrics1
Worse Metrics10
Biggest Boostpredicted_AB: 2.5000 -> 4.0000 (boost 1.5000, better)
Biggest Deboostpredicted_H: 0.6300 -> 0.0000 (deboost -0.6300, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend40413-predicted_SLG: 0.8070 -> 0.6769 (deboost -0.1301, worse)Final model input calibrated 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.6769 -> 0.4798 (deboost -0.1971, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling73425predicted_AB: 2.5004 -> 3.0000 (boost 0.4996, better)predicted_RBI: 0.3953 -> 0.0000 (deboost -0.3953, worse)AB rounded to 3 (raw=2.50), rates preserved: AVG=0.255 HR/AB=0.056
5consistency_constraints10101-predicted_R: 0.2738 -> 0.0000 (deboost -0.2738, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context32121predicted_AVG: 0.2552 -> 0.3330 (boost 0.0778, better)predicted_SLG: 0.4798 -> 0.3330 (deboost -0.1468, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference21111predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final31212predicted_SLG: 0.3330 -> 0.4798 (boost 0.1468, better)predicted_AVG: 0.3330 -> 0.2552 (deboost -0.0778, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "679822",
  "player_name": "Justin Foscue",
  "position": "2B",
  "team": "TEX",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.115,
        "predicted_3B": 0.016,
        "predicted_AB": 2.5,
        "predicted_AVG": 0.352,
        "predicted_BB": 0.164,
        "predicted_H": 0.63,
        "predicted_HR": 0.14,
        "predicted_OBP": 0.352,
        "predicted_R": 0.28,
        "predicted_RBI": 0.4,
        "predicted_SLG": 0.807,
        "predicted_SO": 0.707
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0996,
        "predicted_3B": 0.0209,
        "predicted_AB": 2.5004,
        "predicted_AVG": 0.3161,
        "predicted_BB": 0.1741,
        "predicted_H": 0.6417,
        "predicted_HBP": 0.012,
        "predicted_HR": 0.1404,
        "predicted_OBP": 0.338,
        "predicted_R": 0.2768,
        "predicted_RBI": 0.3996,
        "predicted_SLG": 0.6769,
        "predicted_SO": 0.6455
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.115,
          "after": 0.0996,
          "delta": -0.0154,
          "percent_delta": -0.1339,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.016,
          "after": 0.0209,
          "delta": 0.0049,
          "percent_delta": 0.3062,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.5,
          "after": 2.5004,
          "delta": 0.0004,
          "percent_delta": 0.0002,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.352,
          "after": 0.3161,
          "delta": -0.0359,
          "percent_delta": -0.102,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.164,
          "after": 0.1741,
          "delta": 0.0101,
          "percent_delta": 0.0616,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.63,
          "after": 0.6417,
          "delta": 0.0117,
          "percent_delta": 0.0186,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.14,
          "after": 0.1404,
          "delta": 0.0004,
          "percent_delta": 0.0029,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.352,
          "after": 0.338,
          "delta": -0.014,
          "percent_delta": -0.0398,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.28,
          "after": 0.2768,
          "delta": -0.0032,
          "percent_delta": -0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4,
          "after": 0.3996,
          "delta": -0.0004,
          "percent_delta": -0.001,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.807,
          "after": 0.6769,
          "delta": -0.1301,
          "percent_delta": -0.1612,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.707,
          "after": 0.6455,
          "delta": -0.0615,
          "percent_delta": -0.087,
          "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_SLG",
          "before": 0.807,
          "after": 0.6769,
          "delta": -0.1301,
          "percent_delta": -0.1612,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 65
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0996,
        "predicted_3B": 0.0209,
        "predicted_AB": 2.5004,
        "predicted_AVG": 0.2552,
        "predicted_BB": 0.1732,
        "predicted_H": 0.6382,
        "predicted_HBP": 0.012,
        "predicted_HR": 0.14,
        "predicted_OBP": 0.3035,
        "predicted_R": 0.2738,
        "predicted_RBI": 0.3953,
        "predicted_SLG": 0.4798,
        "predicted_SO": 0.6489
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0996,
          "after": 0.0996,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0209,
          "after": 0.0209,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.5004,
          "after": 2.5004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3161,
          "after": 0.2552,
          "delta": -0.0609,
          "percent_delta": -0.1927,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1741,
          "after": 0.1732,
          "delta": -0.0009,
          "percent_delta": -0.0052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.6417,
          "after": 0.6382,
          "delta": -0.0035,
          "percent_delta": -0.0055,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.012,
          "after": 0.012,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1404,
          "after": 0.14,
          "delta": -0.0004,
          "percent_delta": -0.0028,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.338,
          "after": 0.3035,
          "delta": -0.0345,
          "percent_delta": -0.1021,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.2768,
          "after": 0.2738,
          "delta": -0.003,
          "percent_delta": -0.0108,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3996,
          "after": 0.3953,
          "delta": -0.0043,
          "percent_delta": -0.0108,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.6769,
          "after": 0.4798,
          "delta": -0.1971,
          "percent_delta": -0.2912,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6455,
          "after": 0.6489,
          "delta": 0.0034,
          "percent_delta": 0.0053,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.6769,
          "after": 0.4798,
          "delta": -0.1971,
          "percent_delta": -0.2912,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.50), rates preserved: AVG=0.255 HR/AB=0.056",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0996,
          "after": 0.0,
          "delta": -0.0996,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0209,
          "after": 0.0,
          "delta": -0.0209,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.5004,
          "after": 3.0,
          "delta": 0.4996,
          "percent_delta": 0.1998,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1732,
          "after": 0.0,
          "delta": -0.1732,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6382,
          "after": 1.0,
          "delta": 0.3618,
          "percent_delta": 0.5669,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.012,
          "after": 0.0,
          "delta": -0.012,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.14,
          "after": 0.0,
          "delta": -0.14,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3953,
          "after": 0.0,
          "delta": -0.3953,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6489,
          "after": 1.0,
          "delta": 0.3511,
          "percent_delta": 0.5411,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 3,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.5004,
          "after": 3.0,
          "delta": 0.4996,
          "percent_delta": 0.1998,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3953,
          "after": 0.0,
          "delta": -0.3953,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.2738,
          "after": 0.0,
          "delta": -0.2738,
          "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.2738,
          "after": 0.0,
          "delta": -0.2738,
          "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.2552,
          "after": 0.333,
          "delta": 0.0778,
          "percent_delta": 0.3049,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3035,
          "after": 0.333,
          "delta": 0.0295,
          "percent_delta": 0.0972,
          "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.4798,
          "after": 0.333,
          "delta": -0.1468,
          "percent_delta": -0.306,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.2552,
          "after": 0.333,
          "delta": 0.0778,
          "percent_delta": 0.3049,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4798,
          "after": 0.333,
          "delta": -0.1468,
          "percent_delta": -0.306,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2552,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3035,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4798,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.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.2552,
          "delta": -0.0778,
          "percent_delta": -0.2336,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.3035,
          "delta": -0.0295,
          "percent_delta": -0.0887,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 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.4798,
          "delta": 0.1468,
          "percent_delta": 0.4408,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.4798,
          "delta": 0.1468,
          "percent_delta": 0.4408,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.333,
          "after": 0.2552,
          "delta": -0.0778,
          "percent_delta": -0.2336,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.115,
        "after": 0.0,
        "delta": -0.115,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.016,
        "after": 0.0,
        "delta": -0.016,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.5,
        "after": 4.0,
        "delta": 1.5,
        "percent_delta": 0.6,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.352,
        "after": 0.2552,
        "delta": -0.0968,
        "percent_delta": -0.275,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.164,
        "after": 0.0,
        "delta": -0.164,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.63,
        "after": 0.0,
        "delta": -0.63,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.14,
        "after": 0.0,
        "delta": -0.14,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.352,
        "after": 0.3035,
        "delta": -0.0485,
        "percent_delta": -0.1378,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.28,
        "after": 0.0,
        "delta": -0.28,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.4,
        "after": 0.0,
        "delta": -0.4,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.807,
        "after": 0.4798,
        "delta": -0.3272,
        "percent_delta": -0.4055,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.707,
        "after": 1.0,
        "delta": 0.293,
        "percent_delta": 0.4144,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 2,
      "deboosted_metrics": 9,
      "better_metrics": 1,
      "worse_metrics": 10,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 2.5,
        "after": 4.0,
        "delta": 1.5,
        "percent_delta": 0.6,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.63,
        "after": 0.0,
        "delta": -0.63,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.115-
predicted_3B0.016-
predicted_AB2.500-
predicted_AVG0.352-
predicted_BB0.164-
predicted_H0.630-
predicted_HR0.140-
predicted_OBP0.352-
predicted_R0.280-
predicted_RBI0.400-
predicted_SLG0.807-
predicted_SO0.707-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.100-0.015
predicted_3B0.0210.005
predicted_AB2.5000.000
predicted_AVG0.316-0.036
predicted_BB0.1740.010
predicted_H0.6420.012
predicted_HBP0.012-
predicted_HR0.1400.000
predicted_OBP0.338-0.014
predicted_R0.277-0.003
predicted_RBI0.400-0.000
predicted_SLG0.677-0.130
predicted_SO0.645-0.061
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1000.000
predicted_3B0.0210.000
predicted_AB2.5000.000
predicted_AVG0.255-0.061
predicted_BB0.173-0.001
predicted_H0.638-0.004
predicted_HBP0.0120.000
predicted_HR0.140-0.000
predicted_OBP0.303-0.035
predicted_R0.274-0.003
predicted_RBI0.395-0.004
predicted_SLG0.480-0.197
predicted_SO0.6490.003
4. ab_floor_and_scaling

AB rounded to 3 (raw=2.50), rates preserved: AVG=0.255 HR/AB=0.056

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. 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
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.100
predicted_3B0.000-0.021
predicted_AB3.0000.500
predicted_AVG0.3330.078
predicted_BB0.000-0.173
predicted_H1.0000.362
predicted_HR0.000-0.140
predicted_OBP0.3330.030
predicted_R0.000-0.274
predicted_RBI0.000-0.395
predicted_SLG0.333-0.147
predicted_SO1.0000.351
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
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: 65
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-10.0003.0000.0000.0001.0002.0001.0001.0000.0000.30000.36360.60000.30000.10000.20000.10000.0000
last_100.2010-23.0006.0000.0001.0001.0004.0002.0002.0006.0000.26090.32000.47830.26090.04350.17390.08700.2609
season0.6065-152.00039.0007.0001.0008.00023.00017.00010.00043.0000.25660.30490.47370.25660.05260.15130.06580.2829
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0770
predicted_3B0.0280
predicted_AB2.5010
predicted_AVG0.2633
predicted_BB0.1890
predicted_H0.6590
predicted_HBP0.0120
predicted_HR0.1410
predicted_OBP0.3174
predicted_R0.2720
predicted_RBI0.3990
predicted_SLG0.4857
predicted_SO0.5550
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.11500.07700.0996model_form_blend
predicted_3B0.01600.02800.0209model_form_blend
predicted_AB2.50002.50102.5004model_form_blend
predicted_AVG0.35200.26330.3161model_form_blend
predicted_BB0.16400.18900.1741model_form_blend
predicted_H0.63000.65900.6417model_form_blend
predicted_HBP-0.01200.0120form_only
predicted_HR0.14000.14100.1404model_form_blend
predicted_OBP0.35200.31740.3380model_form_blend
predicted_R0.28000.27200.2768model_form_blend
predicted_RBI0.40000.39900.3996model_form_blend
predicted_SLG0.80700.48570.6769model_form_blend
predicted_SO0.70700.55500.6455model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date166
Season rows before report date166
Report year2026
Profile rows used65
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_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.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_2B0
Hitting_3B0
Hitting_AB1
Hitting_AVG1.0
Hitting_BB1
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R1
Hitting_RBI2
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
allPositionsPlayedDH
gameID20260818_WAS@TEX
game_typefull
mlbID679822
playerID679822
playerNameJustin Foscue
pos2B
startedTrue
startingPositionDH
teamTEX
teamID28
game_date2026-08-18
game_pk822859.0
sl_k_percent25.6
sl_bb_percent7.7
sl_woba0.344
sl_xwoba0.319
sl_xba0.235
sl_xslg0.426
sl_sweet_spot_percent35.5
sl_barrel_batted_rate10.0
sl_hard_hit_percent40.9
sl_exit_velocity_avg88.9
sl_launch_angle_avg18.7
sl_whiff_percent20.4
sl_swing_percent43.2
at_bat_number26.0
ab_pitcher800600.0
ab_pitcher_nameKent, Jackson
ab_home_teamTEX
ab_away_teamWSH
ab_game_typeR
ab_standR
ab_p_throwsL
ab_inning3.0
ab_inning_topbotBot
ab_outs_when_up1.0
ab_on_1b_start677649.0
ab_on_2b_start607043.0
ab_on_3b_start608369.0
ab_balls_start0.0
ab_strikes_start0.0
ab_home_score_start3.0
ab_away_score_start0.0
ab_bat_score_start3.0
ab_fld_score_start0.0
ab_eventwalk
ab_event_descriptionJustin Foscue walks. Corey Seager scores. Brandon Nimmo to 3rd. Ezequiel Duran to 2nd.
ab_event_typeB
ab_pitch_type_lastFF
ab_pitch_name_last4-Seam Fastball
ab_zone_last11.0
ab_estimated_woba_last0.697785
ab_woba_value0.7
ab_woba_denom1.0
ab_babip_value0.0
ab_iso_value0.0
ab_balls_end3.0
ab_strikes_end0.0
ab_home_score_end4.0
ab_away_score_end0.0
ab_bat_score_end4.0
ab_fld_score_end0.0
ab_pitch_count4.0
ab_release_speed_avg88.1
ab_release_spin_rate_avg2119.0
ab_effective_speed_avg89.45
ab_delta_run_exp_avg0.0915
ab_delta_home_win_exp_avg0.01
ab_delta_pitcher_run_exp_avg-0.0915
ab_release_speed_max91.9
ab_release_spin_rate_max2456.0
ab_release_speed_min77.2
ab_release_spin_rate_min1983.0
ab_delta_run_exp_sum0.366
ab_delta_home_win_exp_sum0.04
ab_delta_pitcher_run_exp_sum-0.366
ab_result_is_hitFalse
ab_result_is_walkTrue
ab_result_is_strikeoutFalse
ab_result_is_hbpFalse
Brandon Nimmo (607043) · BATTER · RF · Team TEX
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 508
All-history rows before 20260820: 508
System season_avg: 0.2710
Data season_avg (2026 season-to-date): 0.2737
Diff (system - data): -0.0027
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.2310.0000.000Hitting_2B0.2340.000-0.2340.000
predicted_3B0.0330.0000.000Hitting_3B0.0370.000-0.0370.000
predicted_AB4.5504.0005.000Hitting_AB3.9414.0000.0590.000
predicted_AVG0.2390.0000.200Hitting_AVG0.2740.000-0.2740.000
predicted_BB0.3310.0000.000Hitting_BB0.3310.000-0.3310.000
predicted_CS-0.0000.000BaseRunning_CS0.0060.000-0.0060.000
predicted_H1.0900.0001.000Hitting_H1.0790.000-1.0790.000
predicted_HR0.1600.0000.000Hitting_HR0.1120.000-0.1120.000
predicted_OBP0.2930.0000.200Hitting_OBP0.3370.000-0.3370.000
predicted_R0.4300.0000.000Hitting_R0.4470.000-0.4470.000
predicted_RBI0.5100.0000.000Hitting_RBI0.4330.000-0.4330.000
predicted_SLG0.4100.0000.200Hitting_SLG0.4380.000-0.4380.000
predicted_SO0.9012.0001.000Hitting_SO0.9451.0001.0551.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics9
Boosted Metrics1
Deboosted Metrics8
Better Metrics0
Worse Metrics9
Biggest Boostpredicted_SO: 0.9010 -> 2.0000 (boost 1.0990, worse)
Biggest Deboostpredicted_H: 1.0900 -> 0.0000 (deboost -1.0900, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend40404-predicted_AB: 4.5500 -> 4.2702 (deboost -0.2798, worse)Final model input calibrated 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_scaling62415predicted_AB: 4.2702 -> 5.0000 (boost 0.7298, better)predicted_RBI: 0.4518 -> 0.0000 (deboost -0.4518, worse)AB rounded to 5 (raw=4.55), rates preserved: AVG=0.226 HR/AB=0.028
5consistency_constraints10101-predicted_R: 0.4224 -> 0.0000 (deboost -0.4224, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context30303-predicted_SLG: 0.3951 -> 0.2000 (deboost -0.1951, 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: 5.0000 -> 4.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final33030predicted_SLG: 0.2000 -> 0.3951 (boost 0.1951, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "607043",
  "player_name": "Brandon Nimmo",
  "position": "RF",
  "team": "TEX",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.231,
        "predicted_3B": 0.033,
        "predicted_AB": 4.55,
        "predicted_AVG": 0.239,
        "predicted_BB": 0.331,
        "predicted_H": 1.09,
        "predicted_HR": 0.16,
        "predicted_OBP": 0.293,
        "predicted_R": 0.43,
        "predicted_RBI": 0.51,
        "predicted_SLG": 0.41,
        "predicted_SO": 0.901
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2167,
        "predicted_3B": 0.0274,
        "predicted_AB": 4.2702,
        "predicted_AVG": 0.2423,
        "predicted_BB": 0.2937,
        "predicted_H": 1.0349,
        "predicted_HBP": 0.031,
        "predicted_HR": 0.1292,
        "predicted_OBP": 0.2933,
        "predicted_R": 0.427,
        "predicted_RBI": 0.4567,
        "predicted_SLG": 0.3952,
        "predicted_SO": 0.8841
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.231,
          "after": 0.2167,
          "delta": -0.0143,
          "percent_delta": -0.0619,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.033,
          "after": 0.0274,
          "delta": -0.0056,
          "percent_delta": -0.1697,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.55,
          "after": 4.2702,
          "delta": -0.2798,
          "percent_delta": -0.0615,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.239,
          "after": 0.2423,
          "delta": 0.0033,
          "percent_delta": 0.0138,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.331,
          "after": 0.2937,
          "delta": -0.0373,
          "percent_delta": -0.1127,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.09,
          "after": 1.0349,
          "delta": -0.0551,
          "percent_delta": -0.0506,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.16,
          "after": 0.1292,
          "delta": -0.0308,
          "percent_delta": -0.1925,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.293,
          "after": 0.2933,
          "delta": 0.0003,
          "percent_delta": 0.001,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.43,
          "after": 0.427,
          "delta": -0.003,
          "percent_delta": -0.007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.51,
          "after": 0.4567,
          "delta": -0.0533,
          "percent_delta": -0.1045,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.41,
          "after": 0.3952,
          "delta": -0.0148,
          "percent_delta": -0.0361,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.901,
          "after": 0.8841,
          "delta": -0.0169,
          "percent_delta": -0.0188,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.55,
          "after": 4.2702,
          "delta": -0.2798,
          "percent_delta": -0.0615,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 121
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2167,
        "predicted_3B": 0.0274,
        "predicted_AB": 4.2702,
        "predicted_AVG": 0.241,
        "predicted_BB": 0.2921,
        "predicted_H": 1.0292,
        "predicted_HBP": 0.031,
        "predicted_HR": 0.1289,
        "predicted_OBP": 0.2896,
        "predicted_R": 0.4224,
        "predicted_RBI": 0.4518,
        "predicted_SLG": 0.3951,
        "predicted_SO": 0.8888
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2167,
          "after": 0.2167,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0274,
          "after": 0.0274,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.2702,
          "after": 4.2702,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2423,
          "after": 0.241,
          "delta": -0.0013,
          "percent_delta": -0.0054,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2937,
          "after": 0.2921,
          "delta": -0.0016,
          "percent_delta": -0.0054,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0349,
          "after": 1.0292,
          "delta": -0.0057,
          "percent_delta": -0.0055,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.031,
          "after": 0.031,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1292,
          "after": 0.1289,
          "delta": -0.0003,
          "percent_delta": -0.0023,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2933,
          "after": 0.2896,
          "delta": -0.0037,
          "percent_delta": -0.0126,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.427,
          "after": 0.4224,
          "delta": -0.0046,
          "percent_delta": -0.0108,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4567,
          "after": 0.4518,
          "delta": -0.0049,
          "percent_delta": -0.0107,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3952,
          "after": 0.3951,
          "delta": -0.0001,
          "percent_delta": -0.0003,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.8841,
          "after": 0.8888,
          "delta": 0.0047,
          "percent_delta": 0.0053,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 5 (raw=4.55), rates preserved: AVG=0.226 HR/AB=0.028",
      "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.2167,
          "after": 0.0,
          "delta": -0.2167,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0274,
          "after": 0.0,
          "delta": -0.0274,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.2702,
          "after": 5.0,
          "delta": 0.7298,
          "percent_delta": 0.1709,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2921,
          "after": 0.0,
          "delta": -0.2921,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0292,
          "after": 1.0,
          "delta": -0.0292,
          "percent_delta": -0.0284,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.031,
          "after": 0.0,
          "delta": -0.031,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1289,
          "after": 0.0,
          "delta": -0.1289,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4518,
          "after": 0.0,
          "delta": -0.4518,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8888,
          "after": 1.0,
          "delta": 0.1112,
          "percent_delta": 0.1251,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.2702,
          "after": 5.0,
          "delta": 0.7298,
          "percent_delta": 0.1709,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4518,
          "after": 0.0,
          "delta": -0.4518,
          "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.4224,
          "after": 0.0,
          "delta": -0.4224,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 0.4224,
          "after": 0.0,
          "delta": -0.4224,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.241,
          "after": 0.2,
          "delta": -0.041,
          "percent_delta": -0.1701,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2896,
          "after": 0.2,
          "delta": -0.0896,
          "percent_delta": -0.3094,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.3951,
          "after": 0.2,
          "delta": -0.1951,
          "percent_delta": -0.4938,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.3951,
          "after": 0.2,
          "delta": -0.1951,
          "percent_delta": -0.4938,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 4.0,
          "delta": -1.0,
          "percent_delta": -0.2,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "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": 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.241,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2896,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3951,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2,
          "after": 0.241,
          "delta": 0.041,
          "percent_delta": 0.2051,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.2896,
          "delta": 0.0896,
          "percent_delta": 0.4481,
          "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.3951,
          "delta": 0.1951,
          "percent_delta": 0.9756,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.2,
          "after": 0.3951,
          "delta": 0.1951,
          "percent_delta": 0.9756,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.231,
        "after": 0.0,
        "delta": -0.231,
        "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": 4.55,
        "after": 4.0,
        "delta": -0.55,
        "percent_delta": -0.1209,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.239,
        "after": 0.241,
        "delta": 0.002,
        "percent_delta": 0.0084,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.331,
        "after": 0.0,
        "delta": -0.331,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.09,
        "after": 0.0,
        "delta": -1.09,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.16,
        "after": 0.0,
        "delta": -0.16,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.293,
        "after": 0.2896,
        "delta": -0.0034,
        "percent_delta": -0.0116,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.43,
        "after": 0.0,
        "delta": -0.43,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.51,
        "after": 0.0,
        "delta": -0.51,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.41,
        "after": 0.3951,
        "delta": -0.0149,
        "percent_delta": -0.0363,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.901,
        "after": 2.0,
        "delta": 1.099,
        "percent_delta": 1.2198,
        "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.901,
        "after": 2.0,
        "delta": 1.099,
        "percent_delta": 1.2198,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.09,
        "after": 0.0,
        "delta": -1.09,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.231-
predicted_3B0.033-
predicted_AB4.550-
predicted_AVG0.239-
predicted_BB0.331-
predicted_H1.090-
predicted_HR0.160-
predicted_OBP0.293-
predicted_R0.430-
predicted_RBI0.510-
predicted_SLG0.410-
predicted_SO0.901-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.217-0.014
predicted_3B0.027-0.006
predicted_AB4.270-0.280
predicted_AVG0.2420.003
predicted_BB0.294-0.037
predicted_H1.035-0.055
predicted_HBP0.031-
predicted_HR0.129-0.031
predicted_OBP0.2930.000
predicted_R0.427-0.003
predicted_RBI0.457-0.053
predicted_SLG0.395-0.015
predicted_SO0.884-0.017
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.2170.000
predicted_3B0.0270.000
predicted_AB4.2700.000
predicted_AVG0.241-0.001
predicted_BB0.292-0.002
predicted_H1.029-0.006
predicted_HBP0.0310.000
predicted_HR0.129-0.000
predicted_OBP0.290-0.004
predicted_R0.422-0.005
predicted_RBI0.452-0.005
predicted_SLG0.395-0.000
predicted_SO0.8890.005
4. ab_floor_and_scaling

AB rounded to 5 (raw=4.55), rates preserved: AVG=0.226 HR/AB=0.028

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.217
predicted_3B0.000-0.027
predicted_AB5.0000.730
predicted_AVG0.200-0.041
predicted_BB0.000-0.292
predicted_H1.000-0.029
predicted_HR0.000-0.129
predicted_OBP0.200-0.090
predicted_R0.000-0.422
predicted_RBI0.000-0.452
predicted_SLG0.200-0.195
predicted_SO1.0000.111
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
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: 4.550
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-21.0004.0001.0000.0000.0001.0002.0000.0004.0000.19050.19050.23810.19050.00000.04760.00000.1905
last_100.2010-39.0009.0001.0000.0001.0005.0004.0002.0008.0000.23080.26830.33330.23080.02560.12820.05130.2051
season0.60121-462.000125.00028.0004.00013.00048.00052.00040.000109.0000.27060.33530.43290.27060.02810.10390.08660.2359
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1980
predicted_3B0.0200
predicted_AB3.9050
predicted_AVG0.2467
predicted_BB0.2450
predicted_H0.9630
predicted_HBP0.0310
predicted_HR0.0890
predicted_OBP0.2936
predicted_R0.4230
predicted_RBI0.3870
predicted_SLG0.3759
predicted_SO0.8620
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.23100.19800.2167model_form_blend
predicted_3B0.03300.02000.0274model_form_blend
predicted_AB4.55003.90504.2702model_form_blend
predicted_AVG0.23900.24670.2423model_form_blend
predicted_BB0.33100.24500.2937model_form_blend
predicted_H1.09000.96301.0349model_form_blend
predicted_HBP-0.03100.0310form_only
predicted_HR0.16000.08900.1292model_form_blend
predicted_OBP0.29300.29360.2933model_form_blend
predicted_R0.43000.42300.4270model_form_blend
predicted_RBI0.51000.38700.4567model_form_blend
predicted_SLG0.41000.37590.3952model_form_blend
predicted_SO0.90100.86200.8841model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date508
Season rows before report date508
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.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_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_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
gameID20260819_WAS@TEX
game_typefull
mlbID607043
playerID607043
playerNameBrandon Nimmo
posRF
startedTrue
startingPositionRF
teamTEX
teamID28
game_date2026-08-19
game_pk822860.0
sl_k_percent21.4
sl_bb_percent7.8
sl_woba0.336
sl_xwoba0.364
sl_xba0.288
sl_xslg0.488
sl_sweet_spot_percent35.8
sl_barrel_batted_rate10.4
sl_hard_hit_percent51.5
sl_exit_velocity_avg92.3
sl_launch_angle_avg11.1
sl_whiff_percent21.9
sl_swing_percent50.8
at_bat_number71.0
ab_pitcher656234.0
ab_pitcher_nameBird, Jake
ab_home_teamTEX
ab_away_teamWSH
ab_game_typeR
ab_standL
ab_p_throwsR
ab_inning9.0
ab_inning_topbotBot
ab_outs_when_up1.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_eventfield_out
ab_event_descriptionBrandon Nimmo flies out to left fielder Daylen Lile.
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_last88.0
ab_launch_angle_last50.0
ab_hit_distance_last276.0
ab_estimated_ba_last0.006
ab_estimated_woba_last0.006
ab_estimated_slg_last0.01
ab_woba_value0.0
ab_woba_denom1.0
ab_babip_value0.0
ab_iso_value0.0
ab_balls_end1.0
ab_strikes_end0.0
ab_home_score_end0.0
ab_away_score_end6.0
ab_bat_score_end0.0
ab_fld_score_end6.0
ab_pitch_count2.0
ab_release_speed_avg87.65
ab_release_spin_rate_avg2635.5
ab_effective_speed_avg87.19999999999999
ab_launch_speed_avg88.0
ab_launch_angle_avg50.0
ab_delta_run_exp_avg-0.131
ab_delta_home_win_exp_avg0.0
ab_delta_pitcher_run_exp_avg0.131
ab_bat_speed_avg82.4
ab_swing_length_avg7.5
ab_launch_speed_max88.0
ab_hit_distance_sc_max276.0
ab_release_speed_max92.5
ab_release_spin_rate_max2756.0
ab_release_speed_min82.8
ab_release_spin_rate_min2515.0
ab_delta_run_exp_sum-0.262
ab_delta_home_win_exp_sum0.0
ab_delta_pitcher_run_exp_sum0.262
ab_result_is_hitFalse
ab_result_is_walkFalse
ab_result_is_strikeoutFalse
ab_result_is_hbpFalse
Danny Jansen (643376) · BATTER · C · Team TEX
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 147
All-history rows before 20260820: 147
System season_avg: 0.1650
Data season_avg (2026 season-to-date): 0.1762
Diff (system - data): -0.0112
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.1460.0000.000Hitting_2B0.1840.000-0.1840.000
predicted_3B0.0240.0000.000Hitting_3B0.0270.000-0.0270.000
predicted_AB3.3603.0003.000Hitting_AB3.3204.000-0.320-1.000
predicted_AVG0.1510.0000.333Hitting_AVG0.1760.000-0.1760.000
predicted_BB0.3171.0000.000Hitting_BB0.3610.0000.6391.000
predicted_CS-0.0000.000BaseRunning_CS0.0200.000-0.0200.000
predicted_H0.5100.0001.000Hitting_H0.5850.000-0.5850.000
predicted_HR0.0800.0000.000Hitting_HR0.0880.000-0.0880.000
predicted_OBP0.2560.2500.333Hitting_OBP0.2810.000-0.0310.250
predicted_R0.2680.0000.000Hitting_R0.3060.000-0.3060.000
predicted_RBI0.3400.0000.000Hitting_RBI0.3470.000-0.3470.000
predicted_SLG0.2810.0000.333Hitting_SLG0.3280.000-0.3280.000
predicted_SO1.0241.0001.000Hitting_SO1.0542.000-0.054-1.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.3170 -> 1.0000 (boost 0.6830, better)
Biggest Deboostpredicted_H: 0.5100 -> 0.0000 (deboost -0.5100, 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_snapshot10101-predicted_OBP: 0.2566 -> 0.2268 (deboost -0.0298, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling80817-predicted_H: 0.5124 -> 0.0000 (deboost -0.5124, worse)AB rounded to 3 (raw=3.36), rates preserved: AVG=0.152 HR/AB=0.023
5consistency_constraints21111predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_R: 0.2900 -> 0.0000 (deboost -0.2900, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context33030predicted_AVG: 0.1545 -> 0.3330 (boost 0.1785, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference21111predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final30303-predicted_AVG: 0.3330 -> 0.1545 (deboost -0.1785, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "643376",
  "player_name": "Danny Jansen",
  "position": "C",
  "team": "TEX",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.146,
        "predicted_3B": 0.024,
        "predicted_AB": 3.36,
        "predicted_AVG": 0.151,
        "predicted_BB": 0.317,
        "predicted_H": 0.51,
        "predicted_HR": 0.08,
        "predicted_OBP": 0.256,
        "predicted_R": 0.268,
        "predicted_RBI": 0.34,
        "predicted_SLG": 0.281,
        "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.1484,
        "predicted_3B": 0.0204,
        "predicted_AB": 3.3168,
        "predicted_AVG": 0.1549,
        "predicted_BB": 0.3118,
        "predicted_H": 0.5152,
        "predicted_HBP": 0.118,
        "predicted_HR": 0.0784,
        "predicted_OBP": 0.2566,
        "predicted_R": 0.2932,
        "predicted_RBI": 0.3404,
        "predicted_SLG": 0.2832,
        "predicted_SO": 1.0604
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.146,
          "after": 0.1484,
          "delta": 0.0024,
          "percent_delta": 0.0164,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.024,
          "after": 0.0204,
          "delta": -0.0036,
          "percent_delta": -0.15,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.36,
          "after": 3.3168,
          "delta": -0.0432,
          "percent_delta": -0.0129,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.151,
          "after": 0.1549,
          "delta": 0.0039,
          "percent_delta": 0.0258,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.317,
          "after": 0.3118,
          "delta": -0.0052,
          "percent_delta": -0.0164,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.51,
          "after": 0.5152,
          "delta": 0.0052,
          "percent_delta": 0.0102,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.08,
          "after": 0.0784,
          "delta": -0.0016,
          "percent_delta": -0.02,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.256,
          "after": 0.2566,
          "delta": 0.0006,
          "percent_delta": 0.0023,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.268,
          "after": 0.2932,
          "delta": 0.0252,
          "percent_delta": 0.094,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.34,
          "after": 0.3404,
          "delta": 0.0004,
          "percent_delta": 0.0012,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.281,
          "after": 0.2832,
          "delta": 0.0022,
          "percent_delta": 0.0078,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.024,
          "after": 1.0604,
          "delta": 0.0364,
          "percent_delta": 0.0355,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 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.1484,
        "predicted_3B": 0.0204,
        "predicted_AB": 3.3168,
        "predicted_AVG": 0.1545,
        "predicted_BB": 0.3101,
        "predicted_H": 0.5124,
        "predicted_HBP": 0.118,
        "predicted_HR": 0.0782,
        "predicted_OBP": 0.2268,
        "predicted_R": 0.29,
        "predicted_RBI": 0.3367,
        "predicted_SLG": 0.2822,
        "predicted_SO": 1.066
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1484,
          "after": 0.1484,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0204,
          "after": 0.0204,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.3168,
          "after": 3.3168,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1549,
          "after": 0.1545,
          "delta": -0.0004,
          "percent_delta": -0.0026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3118,
          "after": 0.3101,
          "delta": -0.0017,
          "percent_delta": -0.0055,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.5152,
          "after": 0.5124,
          "delta": -0.0028,
          "percent_delta": -0.0054,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.118,
          "after": 0.118,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0784,
          "after": 0.0782,
          "delta": -0.0002,
          "percent_delta": -0.0026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2566,
          "after": 0.2268,
          "delta": -0.0298,
          "percent_delta": -0.1161,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.2932,
          "after": 0.29,
          "delta": -0.0032,
          "percent_delta": -0.0109,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3404,
          "after": 0.3367,
          "delta": -0.0037,
          "percent_delta": -0.0109,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2832,
          "after": 0.2822,
          "delta": -0.001,
          "percent_delta": -0.0035,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0604,
          "after": 1.066,
          "delta": 0.0056,
          "percent_delta": 0.0053,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.2566,
          "after": 0.2268,
          "delta": -0.0298,
          "percent_delta": -0.1161,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.36), rates preserved: AVG=0.152 HR/AB=0.023",
      "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.1484,
          "after": 0.0,
          "delta": -0.1484,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0204,
          "after": 0.0,
          "delta": -0.0204,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.3168,
          "after": 3.0,
          "delta": -0.3168,
          "percent_delta": -0.0955,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3101,
          "after": 0.0,
          "delta": -0.3101,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.5124,
          "after": 0.0,
          "delta": -0.5124,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.118,
          "after": 0.0,
          "delta": -0.118,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0782,
          "after": 0.0,
          "delta": -0.0782,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3367,
          "after": 0.0,
          "delta": -0.3367,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.066,
          "after": 1.0,
          "delta": -0.066,
          "percent_delta": -0.0619,
          "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_H",
          "before": 0.5124,
          "after": 0.0,
          "delta": -0.5124,
          "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.29,
          "after": 0.0,
          "delta": -0.29,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 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.29,
          "after": 0.0,
          "delta": -0.29,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 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.1545,
          "after": 0.333,
          "delta": 0.1785,
          "percent_delta": 1.1553,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2268,
          "after": 0.333,
          "delta": 0.1062,
          "percent_delta": 0.4683,
          "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.2822,
          "after": 0.333,
          "delta": 0.0508,
          "percent_delta": 0.18,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.1545,
          "after": 0.333,
          "delta": 0.1785,
          "percent_delta": 1.1553,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.1545,
        "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.2268,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2822,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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.1545,
          "delta": -0.1785,
          "percent_delta": -0.5361,
          "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.2268,
          "delta": -0.1062,
          "percent_delta": -0.319,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 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.2822,
          "delta": -0.0508,
          "percent_delta": -0.1524,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.1545,
          "delta": -0.1785,
          "percent_delta": -0.5361,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.146,
        "after": 0.0,
        "delta": -0.146,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.024,
        "after": 0.0,
        "delta": -0.024,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.36,
        "after": 3.0,
        "delta": -0.36,
        "percent_delta": -0.1071,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.151,
        "after": 0.1545,
        "delta": 0.0035,
        "percent_delta": 0.0232,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.317,
        "after": 1.0,
        "delta": 0.683,
        "percent_delta": 2.1546,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.51,
        "after": 0.0,
        "delta": -0.51,
        "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.256,
        "after": 0.2268,
        "delta": -0.0292,
        "percent_delta": -0.1141,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.268,
        "after": 0.0,
        "delta": -0.268,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.34,
        "after": 0.0,
        "delta": -0.34,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.281,
        "after": 0.2822,
        "delta": 0.0012,
        "percent_delta": 0.0043,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "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": 8,
      "boosted_metrics": 1,
      "deboosted_metrics": 7,
      "better_metrics": 1,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.317,
        "after": 1.0,
        "delta": 0.683,
        "percent_delta": 2.1546,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.51,
        "after": 0.0,
        "delta": -0.51,
        "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.146-
predicted_3B0.024-
predicted_AB3.360-
predicted_AVG0.151-
predicted_BB0.317-
predicted_H0.510-
predicted_HR0.080-
predicted_OBP0.256-
predicted_R0.268-
predicted_RBI0.340-
predicted_SLG0.281-
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.1480.002
predicted_3B0.020-0.004
predicted_AB3.317-0.043
predicted_AVG0.1550.004
predicted_BB0.312-0.005
predicted_H0.5150.005
predicted_HBP0.118-
predicted_HR0.078-0.002
predicted_OBP0.2570.001
predicted_R0.2930.025
predicted_RBI0.3400.000
predicted_SLG0.2830.002
predicted_SO1.0600.036
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1480.000
predicted_3B0.0200.000
predicted_AB3.3170.000
predicted_AVG0.154-0.000
predicted_BB0.310-0.002
predicted_H0.512-0.003
predicted_HBP0.1180.000
predicted_HR0.078-0.000
predicted_OBP0.227-0.030
predicted_R0.290-0.003
predicted_RBI0.337-0.004
predicted_SLG0.282-0.001
predicted_SO1.0660.006
4. ab_floor_and_scaling

AB rounded to 3 (raw=3.36), rates preserved: AVG=0.152 HR/AB=0.023

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.148
predicted_3B0.000-0.020
predicted_AB3.000-0.317
predicted_AVG0.3330.179
predicted_BB0.000-0.310
predicted_H1.0000.488
predicted_HR0.000-0.078
predicted_OBP0.3330.106
predicted_R0.000-0.290
predicted_RBI0.000-0.337
predicted_SLG0.3330.051
predicted_SO1.000-0.066
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
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: 41
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-17.0002.0001.0000.0000.0002.0002.0002.0007.0000.11760.25000.17650.11770.00000.11770.11770.4118
last_100.2010-30.0003.0001.0000.0001.0003.0003.0002.00013.0000.10000.18180.23330.10000.03330.10000.06670.4333
season0.6041-127.00021.0006.0001.0003.00012.00011.00013.00042.0000.16540.26900.29920.16530.02360.09450.10240.3307
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1520
predicted_3B0.0150
predicted_AB3.2520
predicted_AVG0.1608
predicted_BB0.3040
predicted_H0.5230
predicted_HBP0.1180
predicted_HR0.0760
predicted_OBP0.2576
predicted_R0.3310
predicted_RBI0.3410
predicted_SLG0.2866
predicted_SO1.1150
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.14600.15200.1484model_form_blend
predicted_3B0.02400.01500.0204model_form_blend
predicted_AB3.36003.25203.3168model_form_blend
predicted_AVG0.15100.16080.1549model_form_blend
predicted_BB0.31700.30400.3118model_form_blend
predicted_H0.51000.52300.5152model_form_blend
predicted_HBP-0.11800.1180form_only
predicted_HR0.08000.07600.0784model_form_blend
predicted_OBP0.25600.25760.2566model_form_blend
predicted_R0.26800.33100.2932model_form_blend
predicted_RBI0.34000.34100.3404model_form_blend
predicted_SLG0.28100.28660.2832model_form_blend
predicted_SO1.02401.11501.0604model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date147
Season rows before report date147
Report year2026
Profile rows used41
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB0
Hitting_battingOrder7
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedC
gameID20260818_WAS@TEX
game_typefull
mlbID643376
playerID643376
playerNameDanny Jansen
posC
startedTrue
startingPositionC
teamTEX
teamID28
game_date2026-08-18
game_pk822859.0
sl_k_percent28.8
sl_bb_percent8.9
sl_woba0.261
sl_xwoba0.249
sl_xba0.165
sl_xslg0.267
sl_sweet_spot_percent22.1
sl_barrel_batted_rate5.8
sl_hard_hit_percent32.6
sl_exit_velocity_avg87.2
sl_launch_angle_avg22.8
sl_whiff_percent26.1
sl_swing_percent44.7
at_bat_number59.0
ab_pitcher592866.0
ab_pitcher_nameWilliams, Trevor
ab_home_teamTEX
ab_away_teamWSH
ab_game_typeR
ab_standR
ab_p_throwsR
ab_inning7.0
ab_inning_topbotBot
ab_outs_when_up2.0
ab_on_1b_start677649.0
ab_on_2b_start607043.0
ab_balls_start0.0
ab_strikes_start0.0
ab_home_score_start5.0
ab_away_score_start0.0
ab_bat_score_start5.0
ab_fld_score_start0.0
ab_eventstrikeout
ab_event_descriptionDanny Jansen 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_end0.0
ab_strikes_end2.0
ab_home_score_end5.0
ab_away_score_end0.0
ab_bat_score_end5.0
ab_fld_score_end0.0
ab_pitch_count3.0
ab_release_speed_avg86.83333333333333
ab_release_spin_rate_avg2310.6666666666665
ab_effective_speed_avg87.3
ab_delta_run_exp_avg-0.0943333333333333
ab_delta_home_win_exp_avg-0.001
ab_delta_pitcher_run_exp_avg0.0943333333333333
ab_bat_speed_avg70.6
ab_swing_length_avg6.8
ab_release_speed_max91.1
ab_release_spin_rate_max2362.0
ab_release_speed_min78.9
ab_release_spin_rate_min2229.0
ab_delta_run_exp_sum-0.283
ab_delta_home_win_exp_sum-0.003
ab_delta_pitcher_run_exp_sum0.283
ab_result_is_hitFalse
ab_result_is_walkFalse
ab_result_is_strikeoutTrue
ab_result_is_hbpFalse
Cody Freeman (683227) · BATTER · 3B · Team TEX
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 30
All-history rows before 20260820: 30
System season_avg: 0.2690
Data season_avg (2026 season-to-date): 0.3256
Diff (system - data): -0.0566
System opponent_avg: 0.2690
System season_avg diverges from 2026 season-to-date by -0.0566. This usually means mixed-season window logic.

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0000.0000.000Hitting_2B0.0000.0000.0000.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.5004.0003.000Hitting_AB2.8671.0001.1333.000
predicted_AVG0.2690.0000.333Hitting_AVG0.3260.000-0.3260.000
predicted_BB0.2880.0000.000Hitting_BB0.4000.000-0.4000.000
predicted_CS-0.0000.000BaseRunning_CS0.1330.000-0.1330.000
predicted_H0.2400.0001.000Hitting_H0.9330.000-0.9330.000
predicted_HR0.0100.0000.000Hitting_HR0.0000.0000.0000.000
predicted_OBP0.2890.0000.333Hitting_OBP0.4080.000-0.4080.000
predicted_R0.0960.0000.000Hitting_R0.1670.000-0.1670.000
predicted_RBI0.1400.0000.000Hitting_RBI0.1330.000-0.1330.000
predicted_SLG0.2900.0000.333Hitting_SLG0.3260.000-0.3260.000
predicted_SO0.6730.0001.000Hitting_SO0.7670.000-0.7670.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_AB: 2.5000 -> 4.0000 (boost 1.5000, better)
Biggest Deboostpredicted_SO: 0.6730 -> 0.0000 (deboost -0.6730, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend44040predicted_AB: 2.5000 -> 2.6696 (boost 0.1696, 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.3054 -> 0.1875 (deboost -0.1179, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling52314predicted_AB: 2.6696 -> 3.0000 (boost 0.3304, better)predicted_H: 0.4050 -> 0.0000 (deboost -0.4050, worse)AB rounded to 3 (raw=2.67), rates preserved: AVG=0.152 HR/AB=0.009
5consistency_constraints21111predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_R: 0.1415 -> 0.0000 (deboost -0.1415, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context33030predicted_AVG: 0.1517 -> 0.3330 (boost 0.1813, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference31221predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final30303-predicted_AVG: 0.3330 -> 0.1517 (deboost -0.1813, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "683227",
  "player_name": "Cody Freeman",
  "position": "3B",
  "team": "TEX",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 2.5,
        "predicted_AVG": 0.269,
        "predicted_BB": 0.288,
        "predicted_H": 0.24,
        "predicted_HR": 0.01,
        "predicted_OBP": 0.289,
        "predicted_R": 0.096,
        "predicted_RBI": 0.14,
        "predicted_SLG": 0.29,
        "predicted_SO": 0.673
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0223,
        "predicted_3B": 0.0018,
        "predicted_AB": 2.6696,
        "predicted_AVG": 0.2662,
        "predicted_BB": 0.2946,
        "predicted_H": 0.4072,
        "predicted_HBP": 0.013,
        "predicted_HR": 0.0233,
        "predicted_OBP": 0.3016,
        "predicted_R": 0.143,
        "predicted_RBI": 0.1807,
        "predicted_SLG": 0.3054,
        "predicted_SO": 0.689
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0223,
          "delta": 0.0223,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0018,
          "delta": 0.0018,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.5,
          "after": 2.6696,
          "delta": 0.1696,
          "percent_delta": 0.0678,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.269,
          "after": 0.2662,
          "delta": -0.0028,
          "percent_delta": -0.0104,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.288,
          "after": 0.2946,
          "delta": 0.0066,
          "percent_delta": 0.0229,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.24,
          "after": 0.4072,
          "delta": 0.1672,
          "percent_delta": 0.6967,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.01,
          "after": 0.0233,
          "delta": 0.0133,
          "percent_delta": 1.33,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.289,
          "after": 0.3016,
          "delta": 0.0126,
          "percent_delta": 0.0436,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.096,
          "after": 0.143,
          "delta": 0.047,
          "percent_delta": 0.4896,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.14,
          "after": 0.1807,
          "delta": 0.0407,
          "percent_delta": 0.2907,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.29,
          "after": 0.3054,
          "delta": 0.0154,
          "percent_delta": 0.0531,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.673,
          "after": 0.689,
          "delta": 0.016,
          "percent_delta": 0.0238,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.5,
          "after": 2.6696,
          "delta": 0.1696,
          "percent_delta": 0.0678,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 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.0223,
        "predicted_3B": 0.0018,
        "predicted_AB": 2.6696,
        "predicted_AVG": 0.1517,
        "predicted_BB": 0.293,
        "predicted_H": 0.405,
        "predicted_HBP": 0.013,
        "predicted_HR": 0.0232,
        "predicted_OBP": 0.2356,
        "predicted_R": 0.1415,
        "predicted_RBI": 0.1787,
        "predicted_SLG": 0.1875,
        "predicted_SO": 0.6927
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0223,
          "after": 0.0223,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0018,
          "after": 0.0018,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.6696,
          "after": 2.6696,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2662,
          "after": 0.1517,
          "delta": -0.1145,
          "percent_delta": -0.4301,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2946,
          "after": 0.293,
          "delta": -0.0016,
          "percent_delta": -0.0054,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.4072,
          "after": 0.405,
          "delta": -0.0022,
          "percent_delta": -0.0054,
          "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.0233,
          "after": 0.0232,
          "delta": -0.0001,
          "percent_delta": -0.0043,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3016,
          "after": 0.2356,
          "delta": -0.066,
          "percent_delta": -0.2188,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.143,
          "after": 0.1415,
          "delta": -0.0015,
          "percent_delta": -0.0105,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1807,
          "after": 0.1787,
          "delta": -0.002,
          "percent_delta": -0.0111,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3054,
          "after": 0.1875,
          "delta": -0.1179,
          "percent_delta": -0.3861,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.689,
          "after": 0.6927,
          "delta": 0.0037,
          "percent_delta": 0.0054,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.3054,
          "after": 0.1875,
          "delta": -0.1179,
          "percent_delta": -0.3861,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.67), rates preserved: AVG=0.152 HR/AB=0.009",
      "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.0223,
          "after": 0.0,
          "delta": -0.0223,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0018,
          "after": 0.0,
          "delta": -0.0018,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.6696,
          "after": 3.0,
          "delta": 0.3304,
          "percent_delta": 0.1238,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.293,
          "after": 0.0,
          "delta": -0.293,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.405,
          "after": 0.0,
          "delta": -0.405,
          "percent_delta": -1.0,
          "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.0232,
          "after": 0.0,
          "delta": -0.0232,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1787,
          "after": 0.0,
          "delta": -0.1787,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6927,
          "after": 1.0,
          "delta": 0.3073,
          "percent_delta": 0.4436,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.6696,
          "after": 3.0,
          "delta": 0.3304,
          "percent_delta": 0.1238,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.405,
          "after": 0.0,
          "delta": -0.405,
          "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.1415,
          "after": 0.0,
          "delta": -0.1415,
          "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.1415,
          "after": 0.0,
          "delta": -0.1415,
          "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.1517,
          "after": 0.333,
          "delta": 0.1813,
          "percent_delta": 1.1951,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2356,
          "after": 0.333,
          "delta": 0.0974,
          "percent_delta": 0.4134,
          "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.1875,
          "after": 0.333,
          "delta": 0.1455,
          "percent_delta": 0.776,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.1517,
          "after": 0.333,
          "delta": 0.1813,
          "percent_delta": 1.1951,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.1517,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2356,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.1875,
        "predicted_SO": 0.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.333,
          "after": 0.1517,
          "delta": -0.1813,
          "percent_delta": -0.5445,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.2356,
          "delta": -0.0974,
          "percent_delta": -0.2925,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 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.1875,
          "delta": -0.1455,
          "percent_delta": -0.4369,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.333,
          "after": 0.1517,
          "delta": -0.1813,
          "percent_delta": -0.5445,
          "direction": "deboost",
          "projection_effect": "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.269,
        "after": 0.1517,
        "delta": -0.1173,
        "percent_delta": -0.4361,
        "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.24,
        "after": 0.0,
        "delta": -0.24,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.01,
        "after": 0.0,
        "delta": -0.01,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_OBP",
        "before": 0.289,
        "after": 0.2356,
        "delta": -0.0534,
        "percent_delta": -0.1848,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.096,
        "after": 0.0,
        "delta": -0.096,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.14,
        "after": 0.0,
        "delta": -0.14,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.29,
        "after": 0.1875,
        "delta": -0.1025,
        "percent_delta": -0.3534,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.673,
        "after": 0.0,
        "delta": -0.673,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 1,
      "deboosted_metrics": 8,
      "better_metrics": 2,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 2.5,
        "after": 4.0,
        "delta": 1.5,
        "percent_delta": 0.6,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.673,
        "after": 0.0,
        "delta": -0.673,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution 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.269-
predicted_BB0.288-
predicted_H0.240-
predicted_HR0.010-
predicted_OBP0.289-
predicted_R0.096-
predicted_RBI0.140-
predicted_SLG0.290-
predicted_SO0.673-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.0220.022
predicted_3B0.0020.002
predicted_AB2.6700.170
predicted_AVG0.266-0.003
predicted_BB0.2950.007
predicted_H0.4070.167
predicted_HBP0.013-
predicted_HR0.0230.013
predicted_OBP0.3020.013
predicted_R0.1430.047
predicted_RBI0.1810.041
predicted_SLG0.3050.015
predicted_SO0.6890.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.0220.000
predicted_3B0.0020.000
predicted_AB2.6700.000
predicted_AVG0.152-0.114
predicted_BB0.293-0.002
predicted_H0.405-0.002
predicted_HBP0.0130.000
predicted_HR0.023-0.000
predicted_OBP0.236-0.066
predicted_R0.141-0.002
predicted_RBI0.179-0.002
predicted_SLG0.188-0.118
predicted_SO0.6930.004
4. ab_floor_and_scaling

AB rounded to 3 (raw=2.67), rates preserved: AVG=0.152 HR/AB=0.009

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.022
predicted_3B0.000-0.002
predicted_AB3.0000.330
predicted_AVG0.3330.181
predicted_BB0.000-0.293
predicted_H1.0000.595
predicted_HR0.000-0.023
predicted_OBP0.3330.097
predicted_R0.000-0.141
predicted_RBI0.000-0.179
predicted_SLG0.3330.146
predicted_SO1.0000.307
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
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO0.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 11
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-10.0003.0000.0000.0000.0001.0000.0002.0002.0000.30000.41670.30000.30000.00000.10000.20000.2000
last_100.2010-24.0006.0000.0000.0000.0001.0001.0003.0006.0000.25000.33330.25000.25000.00000.04170.12500.2500
season0.6011-26.0007.0000.0000.0000.0001.0001.0003.0007.0000.26920.34480.26920.26920.00000.03850.11540.2692
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0740
predicted_3B0.0060
predicted_AB3.0630
predicted_AVG0.2596
predicted_BB0.3100
predicted_H0.7950
predicted_HBP0.0130
predicted_HR0.0540
predicted_OBP0.3307
predicted_R0.2520
predicted_RBI0.2750
predicted_SLG0.3410
predicted_SO0.7260
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.00000.07400.0223model_form_blend
predicted_3B0.00000.00600.0018model_form_blend
predicted_AB2.50003.06302.6696model_form_blend
predicted_AVG0.26900.25960.2662model_form_blend
predicted_BB0.28800.31000.2946model_form_blend
predicted_H0.24000.79500.4072model_form_blend
predicted_HBP-0.01300.0130form_only
predicted_HR0.01000.05400.0233model_form_blend
predicted_OBP0.28900.33070.3016model_form_blend
predicted_R0.09600.25200.1430model_form_blend
predicted_RBI0.14000.27500.1807model_form_blend
predicted_SLG0.29000.34100.3054model_form_blend
predicted_SO0.67300.72600.6890model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date30
Season rows before report date30
Report year2026
Profile rows used11
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_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.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_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
allPositionsPlayedPH-3B
gameID20260819_WAS@TEX
game_typeph
mlbID683227
notePopped out for Carter in the 7th.
playerID683227
playerNameCody Freeman
pos3B
startedFalse
startingPositionPH
teamTEX
teamID28
game_date2026-08-19
game_pk822860.0
sl_k_percent23.3
sl_bb_percent10.0
sl_woba0.287
sl_xwoba0.187
sl_xba0.138
sl_xslg0.156
sl_sweet_spot_percent20.0
sl_barrel_batted_rate0.0
sl_hard_hit_percent15.0
sl_exit_velocity_avg81.4
sl_launch_angle_avg17.0
sl_whiff_percent24.5
sl_swing_percent43.4
at_bat_number57.0
ab_pitcher702021.0
ab_pitcher_nameDion, Will
ab_home_teamTEX
ab_away_teamWSH
ab_game_typeR
ab_standR
ab_p_throwsL
ab_inning7.0
ab_inning_topbotBot
ab_outs_when_up1.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_eventfield_out
ab_event_descriptionCody Freeman pops out to catcher Keibert Ruiz 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_last76.2
ab_launch_angle_last87.0
ab_hit_distance_last40.0
ab_estimated_ba_last0.003
ab_estimated_woba_last0.003
ab_estimated_slg_last0.004
ab_woba_value0.0
ab_woba_denom1.0
ab_babip_value0.0
ab_iso_value0.0
ab_balls_end1.0
ab_strikes_end0.0
ab_home_score_end0.0
ab_away_score_end6.0
ab_bat_score_end0.0
ab_fld_score_end6.0
ab_pitch_count2.0
ab_release_speed_avg82.75
ab_release_spin_rate_avg1851.5
ab_effective_speed_avg82.55
ab_launch_speed_avg76.2
ab_launch_angle_avg87.0
ab_delta_run_exp_avg-0.131
ab_delta_home_win_exp_avg-0.002
ab_delta_pitcher_run_exp_avg0.131
ab_bat_speed_avg69.6
ab_swing_length_avg6.9
ab_launch_speed_max76.2
ab_hit_distance_sc_max40.0
ab_release_speed_max90.3
ab_release_spin_rate_max2273.0
ab_release_speed_min75.2
ab_release_spin_rate_min1430.0
ab_delta_run_exp_sum-0.262
ab_delta_home_win_exp_sum-0.004
ab_delta_pitcher_run_exp_sum0.262
ab_result_is_hitFalse
ab_result_is_walkFalse
ab_result_is_strikeoutFalse
ab_result_is_hbpFalse
Evan Carter (694497) · BATTER · CF · Team TEX
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 361
All-history rows before 20260820: 361
System season_avg: 0.1950
Data season_avg (2026 season-to-date): 0.2046
Diff (system - data): -0.0096
System opponent_avg: 0.1670

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1030.0000.000Hitting_2B0.1220.000-0.1220.000
predicted_3B0.0190.0000.000Hitting_3B0.0170.000-0.0170.000
predicted_AB2.8692.0003.000Hitting_AB3.1412.000-1.1410.000
predicted_AVG0.2270.0000.333Hitting_AVG0.2050.500-0.205-0.500
predicted_BB0.3741.0000.000Hitting_BB0.4600.0000.5401.000
predicted_CS-0.0000.000BaseRunning_CS0.0220.000-0.0220.000
predicted_H0.6000.0001.000Hitting_H0.6431.000-0.643-1.000
predicted_HR0.0500.0000.000Hitting_HR0.0890.000-0.0890.000
predicted_OBP0.2990.3330.333Hitting_OBP0.3130.5000.020-0.167
predicted_R0.3740.0000.000Hitting_R0.4320.000-0.4320.000
predicted_RBI0.2100.0000.000Hitting_RBI0.3270.000-0.3270.000
predicted_SLG0.3520.0000.333Hitting_SLG0.3390.500-0.339-0.500
predicted_SO0.8130.0001.000Hitting_SO0.8671.000-0.867-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_BB: 0.3740 -> 1.0000 (boost 0.6260, better)
Biggest Deboostpredicted_AB: 2.8690 -> 2.0000 (deboost -0.8690, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend51414predicted_AB: 2.8690 -> 2.9523 (boost 0.0833, better)predicted_BB: 0.3740 -> 0.3155 (deboost -0.0585, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot20202-predicted_SLG: 0.3403 -> 0.3157 (deboost -0.0246, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4ab_floor_and_scaling62415predicted_H: 0.6124 -> 1.0000 (boost 0.3876, better)predicted_BB: 0.3138 -> 0.0000 (deboost -0.3138, worse)AB rounded to 3 (raw=2.95), rates preserved: AVG=0.207 HR/AB=0.017
5consistency_constraints10101-predicted_R: 0.3484 -> 0.0000 (deboost -0.3484, worse)Enforced H<=AB, HR<=H, safety nets, derived R
6embedded_savant_player_context33030predicted_AVG: 0.2074 -> 0.3330 (boost 0.1256, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
7simulation_box_score_reference41322predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 3.0000 -> 2.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
8current_json_final30303-predicted_AVG: 0.3330 -> 0.2074 (deboost -0.1256, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "694497",
  "player_name": "Evan Carter",
  "position": "CF",
  "team": "TEX",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.103,
        "predicted_3B": 0.019,
        "predicted_AB": 2.869,
        "predicted_AVG": 0.227,
        "predicted_BB": 0.374,
        "predicted_H": 0.6,
        "predicted_HR": 0.05,
        "predicted_OBP": 0.299,
        "predicted_R": 0.374,
        "predicted_RBI": 0.21,
        "predicted_SLG": 0.352,
        "predicted_SO": 0.813
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1342,
        "predicted_3B": 0.016,
        "predicted_AB": 2.9523,
        "predicted_AVG": 0.2188,
        "predicted_BB": 0.3155,
        "predicted_H": 0.6158,
        "predicted_HBP": 0.024,
        "predicted_HR": 0.0513,
        "predicted_OBP": 0.2856,
        "predicted_R": 0.3522,
        "predicted_RBI": 0.2066,
        "predicted_SLG": 0.3403,
        "predicted_SO": 0.8514
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.103,
          "after": 0.1342,
          "delta": 0.0312,
          "percent_delta": 0.3029,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.019,
          "after": 0.016,
          "delta": -0.003,
          "percent_delta": -0.1579,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.869,
          "after": 2.9523,
          "delta": 0.0833,
          "percent_delta": 0.029,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.227,
          "after": 0.2188,
          "delta": -0.0082,
          "percent_delta": -0.0361,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.374,
          "after": 0.3155,
          "delta": -0.0585,
          "percent_delta": -0.1564,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6,
          "after": 0.6158,
          "delta": 0.0158,
          "percent_delta": 0.0263,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.05,
          "after": 0.0513,
          "delta": 0.0013,
          "percent_delta": 0.026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.299,
          "after": 0.2856,
          "delta": -0.0134,
          "percent_delta": -0.0448,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.374,
          "after": 0.3522,
          "delta": -0.0218,
          "percent_delta": -0.0583,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.21,
          "after": 0.2066,
          "delta": -0.0034,
          "percent_delta": -0.0162,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.352,
          "after": 0.3403,
          "delta": -0.0117,
          "percent_delta": -0.0332,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.813,
          "after": 0.8514,
          "delta": 0.0384,
          "percent_delta": 0.0472,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.869,
          "after": 2.9523,
          "delta": 0.0833,
          "percent_delta": 0.029,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.374,
          "after": 0.3155,
          "delta": -0.0585,
          "percent_delta": -0.1564,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 107
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1342,
        "predicted_3B": 0.016,
        "predicted_AB": 2.9523,
        "predicted_AVG": 0.2074,
        "predicted_BB": 0.3138,
        "predicted_H": 0.6124,
        "predicted_HBP": 0.024,
        "predicted_HR": 0.0512,
        "predicted_OBP": 0.2836,
        "predicted_R": 0.3484,
        "predicted_RBI": 0.2044,
        "predicted_SLG": 0.3157,
        "predicted_SO": 0.8559
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1342,
          "after": 0.1342,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.016,
          "after": 0.016,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.9523,
          "after": 2.9523,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2188,
          "after": 0.2074,
          "delta": -0.0114,
          "percent_delta": -0.0521,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3155,
          "after": 0.3138,
          "delta": -0.0017,
          "percent_delta": -0.0054,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.6158,
          "after": 0.6124,
          "delta": -0.0034,
          "percent_delta": -0.0055,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.024,
          "after": 0.024,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0513,
          "after": 0.0512,
          "delta": -0.0001,
          "percent_delta": -0.0019,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2856,
          "after": 0.2836,
          "delta": -0.002,
          "percent_delta": -0.007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3522,
          "after": 0.3484,
          "delta": -0.0038,
          "percent_delta": -0.0108,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2066,
          "after": 0.2044,
          "delta": -0.0022,
          "percent_delta": -0.0106,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3403,
          "after": 0.3157,
          "delta": -0.0246,
          "percent_delta": -0.0723,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8514,
          "after": 0.8559,
          "delta": 0.0045,
          "percent_delta": 0.0053,
          "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.3403,
          "after": 0.3157,
          "delta": -0.0246,
          "percent_delta": -0.0723,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.95), rates preserved: AVG=0.207 HR/AB=0.017",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1342,
          "after": 0.0,
          "delta": -0.1342,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.016,
          "after": 0.0,
          "delta": -0.016,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.9523,
          "after": 3.0,
          "delta": 0.0477,
          "percent_delta": 0.0162,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3138,
          "after": 0.0,
          "delta": -0.3138,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6124,
          "after": 1.0,
          "delta": 0.3876,
          "percent_delta": 0.6329,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.024,
          "after": 0.0,
          "delta": -0.024,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0512,
          "after": 0.0,
          "delta": -0.0512,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2044,
          "after": 0.0,
          "delta": -0.2044,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8559,
          "after": 1.0,
          "delta": 0.1441,
          "percent_delta": 0.1684,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.6124,
          "after": 1.0,
          "delta": 0.3876,
          "percent_delta": 0.6329,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3138,
          "after": 0.0,
          "delta": -0.3138,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3484,
          "after": 0.0,
          "delta": -0.3484,
          "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.3484,
          "after": 0.0,
          "delta": -0.3484,
          "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.2074,
          "after": 0.333,
          "delta": 0.1256,
          "percent_delta": 0.6056,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2836,
          "after": 0.333,
          "delta": 0.0494,
          "percent_delta": 0.1742,
          "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.3157,
          "after": 0.333,
          "delta": 0.0173,
          "percent_delta": 0.0548,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.2074,
          "after": 0.333,
          "delta": 0.1256,
          "percent_delta": 0.6056,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 2.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 2.0,
          "delta": -1.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 2.0,
          "delta": -1.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 2.0,
        "predicted_AVG": 0.2074,
        "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.2836,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3157,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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.2074,
          "delta": -0.1256,
          "percent_delta": -0.3771,
          "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.2836,
          "delta": -0.0494,
          "percent_delta": -0.1484,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 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.3157,
          "delta": -0.0173,
          "percent_delta": -0.0519,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.333,
          "after": 0.2074,
          "delta": -0.1256,
          "percent_delta": -0.3771,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.103,
        "after": 0.0,
        "delta": -0.103,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.019,
        "after": 0.0,
        "delta": -0.019,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.869,
        "after": 2.0,
        "delta": -0.869,
        "percent_delta": -0.3029,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.227,
        "after": 0.2074,
        "delta": -0.0196,
        "percent_delta": -0.0863,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.374,
        "after": 1.0,
        "delta": 0.626,
        "percent_delta": 1.6738,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.6,
        "after": 0.0,
        "delta": -0.6,
        "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.299,
        "after": 0.2836,
        "delta": -0.0154,
        "percent_delta": -0.0515,
        "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.21,
        "after": 0.0,
        "delta": -0.21,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.352,
        "after": 0.3157,
        "delta": -0.0363,
        "percent_delta": -0.1031,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.813,
        "after": 0.0,
        "delta": -0.813,
        "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.374,
        "after": 1.0,
        "delta": 0.626,
        "percent_delta": 1.6738,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 2.869,
        "after": 2.0,
        "delta": -0.869,
        "percent_delta": -0.3029,
        "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.103-
predicted_3B0.019-
predicted_AB2.869-
predicted_AVG0.227-
predicted_BB0.374-
predicted_H0.600-
predicted_HR0.050-
predicted_OBP0.299-
predicted_R0.374-
predicted_RBI0.210-
predicted_SLG0.352-
predicted_SO0.813-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1340.031
predicted_3B0.016-0.003
predicted_AB2.9520.083
predicted_AVG0.219-0.008
predicted_BB0.316-0.058
predicted_H0.6160.016
predicted_HBP0.024-
predicted_HR0.0510.001
predicted_OBP0.286-0.013
predicted_R0.352-0.022
predicted_RBI0.207-0.003
predicted_SLG0.340-0.012
predicted_SO0.8510.038
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1340.000
predicted_3B0.0160.000
predicted_AB2.9520.000
predicted_AVG0.207-0.011
predicted_BB0.314-0.002
predicted_H0.612-0.003
predicted_HBP0.0240.000
predicted_HR0.051-0.000
predicted_OBP0.284-0.002
predicted_R0.348-0.004
predicted_RBI0.204-0.002
predicted_SLG0.316-0.025
predicted_SO0.8560.004
4. ab_floor_and_scaling

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

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. 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
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.134
predicted_3B0.000-0.016
predicted_AB3.0000.048
predicted_AVG0.3330.126
predicted_BB0.000-0.314
predicted_H1.0000.388
predicted_HR0.000-0.051
predicted_OBP0.3330.049
predicted_R0.000-0.348
predicted_RBI0.000-0.204
predicted_SLG0.3330.017
predicted_SO1.0000.144
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-1.000
BB1.0001.000
CS0.0000.000
H0.000-1.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: 107
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-17.0004.0002.0000.0000.0000.0001.0000.0006.0000.23530.23530.35290.23530.00000.00000.00000.3529
last_100.2010-30.0006.0002.0000.0000.0000.0002.0000.0009.0000.20000.20000.26670.20000.00000.00000.00000.3000
season0.60107-307.00060.00011.0002.0008.00031.00040.00040.00087.0000.19540.29550.32250.19540.02610.10100.13030.2834
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1760
predicted_3B0.0120
predicted_AB3.0640
predicted_AVG0.2077
predicted_BB0.2370
predicted_H0.6370
predicted_HBP0.0240
predicted_HR0.0530
predicted_OBP0.2676
predicted_R0.3230
predicted_RBI0.2020
predicted_SLG0.3245
predicted_SO0.9030
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.10300.17600.1342model_form_blend
predicted_3B0.01900.01200.0160model_form_blend
predicted_AB2.86903.06402.9523model_form_blend
predicted_AVG0.22700.20770.2188model_form_blend
predicted_BB0.37400.23700.3155model_form_blend
predicted_H0.60000.63700.6158model_form_blend
predicted_HBP-0.02400.0240form_only
predicted_HR0.05000.05300.0513model_form_blend
predicted_OBP0.29900.26760.2856model_form_blend
predicted_R0.37400.32300.3522model_form_blend
predicted_RBI0.21000.20200.2066model_form_blend
predicted_SLG0.35200.32450.3403model_form_blend
predicted_SO0.81300.90300.8514model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date361
Season rows before report date361
Report year2026
Profile rows used107
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB2
Hitting_AVG0.5
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB1
Hitting_battingOrder6
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedCF
gameID20260819_WAS@TEX
game_typefull
mlbID694497
playerID694497
playerNameEvan Carter
posCF
startedTrue
startingPositionCF
teamTEX
teamID28
game_date2026-08-19
game_pk822860.0
sl_k_percent24.1
sl_bb_percent11.6
sl_woba0.283
sl_xwoba0.286
sl_xba0.202
sl_xslg0.325
sl_sweet_spot_percent29.4
sl_barrel_batted_rate5.7
sl_hard_hit_percent36.0
sl_exit_velocity_avg87.8
sl_launch_angle_avg17.8
sl_whiff_percent28.7
sl_swing_percent40.2
at_bat_number33.0
ab_pitcher676917.0
ab_pitcher_nameCavalli, Cade
ab_home_teamTEX
ab_away_teamWSH
ab_game_typeR
ab_standL
ab_p_throwsR
ab_inning4.0
ab_inning_topbotBot
ab_outs_when_up1.0
ab_balls_start0.0
ab_strikes_start0.0
ab_home_score_start0.0
ab_away_score_start2.0
ab_bat_score_start0.0
ab_fld_score_start2.0
ab_eventstrikeout
ab_event_descriptionEvan Carter strikes out swinging.
ab_event_typeS
ab_hit_location2.0
ab_pitch_type_lastKC
ab_pitch_name_lastKnuckle Curve
ab_zone_last14.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_end2.0
ab_bat_score_end0.0
ab_fld_score_end2.0
ab_pitch_count5.0
ab_release_speed_avg91.22
ab_release_spin_rate_avg2244.2
ab_effective_speed_avg90.76
ab_delta_run_exp_avg-0.0524
ab_delta_home_win_exp_avg-0.004
ab_delta_pitcher_run_exp_avg0.0524
ab_bat_speed_avg33.3
ab_swing_length_avg6.5
ab_release_speed_max96.2
ab_release_spin_rate_max2295.0
ab_release_speed_min88.1
ab_release_spin_rate_min2212.0
ab_delta_run_exp_sum-0.262
ab_delta_home_win_exp_sum-0.02
ab_delta_pitcher_run_exp_sum0.262
ab_result_is_hitFalse
ab_result_is_walkFalse
ab_result_is_strikeoutTrue
ab_result_is_hbpFalse
Jacob deGrom (594798) · PITCHER · Starter · Team TEX
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 23
All-history rows before 20260820: 23

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB1.3481.000-1.348-1.000
predicted_ER2.0002.0002.000Pitching_ER2.3042.000-0.3040.000
predicted_H3.0003.0003.000Pitching_H4.7836.000-1.783-3.000
predicted_IP5.0005.0005.000Pitching_InningsPitched5.1652.000-0.1653.000
predicted_SO4.0004.0004.000Pitching_SO6.3913.000-2.3911.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": "594798",
  "player_name": "Jacob deGrom",
  "position": "Starter",
  "team": "TEX",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 2.0,
        "predicted_H": 3.0,
        "predicted_HR": 1.0,
        "predicted_IP": 5.0,
        "predicted_SO": 4.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 2.0,
        "predicted_H": 3.0,
        "predicted_HR": 1.0,
        "predicted_IP": 5.0,
        "predicted_R": 2.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": 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_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": 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_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_ER2.000-
predicted_H3.000-
predicted_HR1.000-
predicted_IP5.000-
predicted_SO4.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 23
Reference playing time: 5.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45520.00014.00030.0009.00025.0001.0006.30001.95000.70001.50000.45001.25000.0500
last_100.351050.00028.00055.00016.00063.0004.0005.04001.42000.56001.10000.32001.26000.0800
season0.2023120.20053.000110.00031.000147.00017.0003.95301.16850.43920.91160.25691.21820.1409
Weighted Prediction From Real Data
MetricValue
predicted_BB1.7140
predicted_ER2.7230
predicted_ERA5.2310
predicted_H5.5950
predicted_HR0.4260
predicted_IP4.2000
predicted_SO5.5980
predicted_WHIP1.5599
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00001.71400.9848model_form_blend
predicted_ER2.00002.72302.4154model_form_blend
predicted_ERA-5.23105.2310form_only
predicted_H3.00005.59504.4909model_form_blend
predicted_HR1.00000.42600.6702model_form_blend
predicted_IP5.00004.20004.2000model_form_blend
predicted_SO4.00005.59804.9181model_form_blend
predicted_WHIP-1.55991.5599form_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
IP5.0
H3
R2
ER2
BB0
SO4
HR1
BF18
Pitches88

Latest Real Data Snapshot (before report date)

Latest 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_ER2
Pitching_ERA3.95
Pitching_Flyouts1
Pitching_Groundouts1
Pitching_H6
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched2.0
Pitching_Pitches53
Pitching_R2
Pitching_SO3
Pitching_Strikes35
Pitching_Wild Pitch0
Pitching_decisionL
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260813_TEX@LAA
game_typefull
mlbID594798
playerID594798
playerNameJacob deGrom
posP
startedTrue
startingPositionP
teamTEX
teamID28
game_date2026-08-13
game_pk823995.0
sl_k_percent29.5
sl_bb_percent6.2
sl_woba0.293
sl_xwoba0.297
sl_sweet_spot_percent39.7
sl_barrel_batted_rate8.8
sl_hard_hit_percent45.6
sl_whiff_percent33.4
sl_swing_percent51.7
sv_pitch_count53.0
sv_outs_recorded_est5.0
sv_release_speed93.66415094339622
sv_release_spin_rate2334.943396226415
sv_effective_speed94.07358490566035
sv_launch_speed82.025
sv_launch_angle21.75
sv_woba_value6.45
sv_woba_denom12.0
sv_delta_run_exp1.949
sv_delta_home_win_exp0.1129999999999999
sl_avg_best_speed80.591895975
sl_avg_hyper_speed94.805125818
Jacob Latz (656641) · PITCHER · Middle Reliever · Team TEX
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 44
All-history rows before 20260820: 44

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.3411.000-0.341-1.000
predicted_ER0.0000.0000.000Pitching_ER0.2500.000-0.2500.000
predicted_H0.0000.0000.000Pitching_H0.5910.000-0.5910.000
predicted_IP1.1001.1001.100Pitching_InningsPitched1.2092.000-0.109-0.900
predicted_SO2.0002.0002.000Pitching_SO1.3182.0000.6820.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": "656641",
  "player_name": "Jacob Latz",
  "position": "Middle Reliever",
  "team": "TEX",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.3333,
        "predicted_SO": 2.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.1,
        "predicted_R": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.3333,
          "after": 1.1,
          "delta": -0.2333,
          "percent_delta": -0.175,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 1.3333,
          "after": 1.1,
          "delta": -0.2333,
          "percent_delta": -0.175,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.3333,
        "after": 1.1,
        "delta": -0.2333,
        "percent_delta": -0.175,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 0,
      "deboosted_metrics": 1,
      "better_metrics": 0,
      "worse_metrics": 1,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 1.3333,
        "after": 1.1,
        "delta": -0.2333,
        "percent_delta": -0.175,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 43
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.0004.0004.0007.0000.0001.28571.14290.14290.57140.57141.00000.0000
last_100.351012.1003.0008.0005.00012.0000.0002.18921.05410.24320.64860.40540.97300.0000
season0.204356.0008.00023.00014.00058.0003.0001.28570.66070.14290.41070.25001.03570.0536
Weighted Prediction From Real Data
MetricValue
predicted_BB0.5640
predicted_ER0.3700
predicted_ERA2.4953
predicted_H0.9220
predicted_HR0.0700
predicted_IP1.1000
predicted_SO1.3120
predicted_WHIP1.1148
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.56400.2932model_form_blend
predicted_ER0.00000.37000.1923model_form_blend
predicted_ERA-2.49532.4953form_only
predicted_H0.00000.92200.4793model_form_blend
predicted_HR0.00000.07000.0364model_form_blend
predicted_IP1.10001.10001.1000model_form_blend
predicted_SO2.00001.31201.6424model_form_blend
predicted_WHIP-1.11481.1148form_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 date44
Season rows before report date44
Report year2026
Profile rows used43
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
SO2
HR0
BF4
Pitches4

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced6
Pitching_ER0
Pitching_ERA1.77
Pitching_Flyouts1
Pitching_Groundouts1
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched2.0
Pitching_Pitches36
Pitching_R0
Pitching_SO2
Pitching_Strikes23
Pitching_Wild Pitch0
Pitching_decisionS
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260815_TEX@OAK
game_typefull
mlbID656641
playerID656641
playerNameJacob Latz
posP
startedFalse
startingPositionP
teamTEX
teamID28
game_date2026-08-15
game_pk824966.0
sl_k_percent28.2
sl_bb_percent7.3
sl_woba0.193
sl_xwoba0.242
sl_sweet_spot_percent24.8
sl_barrel_batted_rate5.3
sl_hard_hit_percent37.6
sl_whiff_percent28.9
sl_swing_percent53.0
sv_pitch_count36.0
sv_outs_recorded_est5.0
sv_release_speed89.90555555555555
sv_release_spin_rate2306.1388888888887
sv_effective_speed89.43333333333334
sv_launch_speed75.5
sv_launch_angle42.41666666666666
sv_woba_value0.7
sv_woba_denom6.0
sv_delta_run_exp-0.822
sv_delta_home_win_exp-0.238
sl_avg_best_speed78.411291077
sl_avg_hyper_speed93.534851769
Peyton Gray (682608) · PITCHER · Middle Reliever · Team TEX
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 43
All-history rows before 20260820: 43

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.3722.000-0.372-2.000
predicted_ER0.0000.0000.000Pitching_ER0.4883.000-0.488-3.000
predicted_H1.0001.0001.000Pitching_H1.0931.000-0.0930.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.9951.0000.0050.000
predicted_SO0.0000.0000.000Pitching_SO1.1630.000-1.1630.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": "682608",
  "player_name": "Peyton Gray",
  "position": "Middle Reliever",
  "team": "TEX",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 0,
      "boosted_metrics": 0,
      "deboosted_metrics": 0,
      "better_metrics": 0,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": null,
      "has_material_change": false,
      "dominant_effect": "neutral"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 43
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.0005.0002.0003.0002.0009.00001.75001.00001.25000.50000.75000.5000
last_100.351010.0006.00010.0004.0008.0004.0005.40001.40000.60001.00000.40000.80000.4000
season0.204349.10021.00047.00016.00050.0007.0003.83111.27700.42570.95270.32431.01350.1419
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3680
predicted_ER0.5970
predicted_ERA5.9659
predicted_H0.9540
predicted_HR0.2800
predicted_IP1.0000
predicted_SO0.7790
predicted_WHIP1.4674
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.36800.1870model_form_blend
predicted_ER0.00000.59700.3034model_form_blend
predicted_ERA-5.96595.9659form_only
predicted_H1.00000.95400.9766model_form_blend
predicted_HR0.00000.28000.1423model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO0.00000.77900.3958model_form_blend
predicted_WHIP-1.46741.4674form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date43
Season rows before report date43
Report year2026
Profile rows used43
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_BB2
Pitching_Balk0
Pitching_Batters Faced6
Pitching_ER3
Pitching_ERA3.83
Pitching_Flyouts1
Pitching_Groundouts2
Pitching_H1
Pitching_HBP0
Pitching_HR1
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches27
Pitching_R3
Pitching_SO0
Pitching_Strikes15
Pitching_Wild Pitch0
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20260819_WAS@TEX
game_typefull
mlbID682608
playerID682608
playerNamePeyton Gray
posP
startedFalse
startingPositionP
teamTEX
teamID28
game_date2026-08-19
game_pk822860.0
sl_k_percent22.8
sl_bb_percent7.3
sl_woba0.309
sl_xwoba0.287
sl_sweet_spot_percent30.9
sl_barrel_batted_rate6.8
sl_hard_hit_percent32.9
sl_whiff_percent26.0
sl_swing_percent49.8
sv_pitch_count27.0
sv_outs_recorded_est3.0
sv_release_speed88.2074074074074
sv_release_spin_rate2105.0
sv_effective_speed88.88888888888889
sv_launch_speed82.625
sv_launch_angle24.25
sv_woba_value3.4
sv_woba_denom6.0
sv_delta_run_exp1.1960000000000002
sv_delta_home_win_exp-0.087
sl_avg_best_speed75.003482192
sl_avg_hyper_speed92.915064
Robby Ahlstrom (695239) · PITCHER · Middle Reliever · Team TEX
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 33
All-history rows before 20260820: 33

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.2420.000-0.2420.000
predicted_ER0.0000.0000.000Pitching_ER0.4550.000-0.4550.000
predicted_H2.0002.0002.000Pitching_H0.8182.0001.1820.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.7210.2000.2790.800
predicted_SO2.0002.0002.000Pitching_SO0.7882.0001.2120.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": "695239",
  "player_name": "Robby Ahlstrom",
  "position": "Middle Reliever",
  "team": "TEX",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 0.0,
        "predicted_SO": 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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 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": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 2.0,
        "after": 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_H2.000-
predicted_HR0.000-
predicted_IP1.000-
predicted_SO2.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 32
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.1004.0006.0000.0005.0001.0008.30771.38460.92311.38460.00001.15390.2308
last_100.35108.2004.0007.0000.0009.0001.0004.15380.80770.46150.80770.00001.03850.1154
season0.203228.00013.00024.0007.00026.0003.0004.17861.10710.46430.85710.25000.92860.1071
Weighted Prediction From Real Data
MetricValue
predicted_BB0.1990
predicted_ER0.5900
predicted_ERA5.3089
predicted_H1.0280
predicted_HR0.1570
predicted_IP1.0000
predicted_SO1.0150
predicted_WHIP1.2265
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.19900.0897model_form_blend
predicted_ER0.00000.59000.2661model_form_blend
predicted_ERA-5.30895.3089form_only
predicted_H2.00001.02801.5617model_form_blend
predicted_HR0.00000.15700.0708model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO2.00001.01501.5558model_form_blend
predicted_WHIP-1.22651.2265form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date33
Season rows before report date33
Report year2026
Profile rows used32
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
SO2
HR0
BF5
Pitches19

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced4
Pitching_ER0
Pitching_ERA4.82
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H2
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.2
Pitching_Pitches17
Pitching_R0
Pitching_SO2
Pitching_Strikes12
Pitching_Wild Pitch0
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20260818_WAS@TEX
game_typefull
mlbID695239
playerID695239
playerNameRobby Ahlstrom
posP
startedFalse
startingPositionP
teamTEX
teamID28
game_date2026-08-18
game_pk822859.0
sl_k_percent22.0
sl_bb_percent6.8
sl_woba0.311
sl_xwoba0.311
sl_sweet_spot_percent33.3
sl_barrel_batted_rate6.2
sl_hard_hit_percent33.3
sl_whiff_percent27.6
sl_swing_percent49.0
sv_pitch_count17.0
sv_outs_recorded_est2.0
sv_release_speed88.76470588235294
sv_release_spin_rate1808.2941176470588
sv_effective_speed88.29411764705883
sv_launch_speed88.39999999999999
sv_launch_angle41.833333333333336
sv_woba_value2.15
sv_woba_denom4.0
sv_delta_run_exp0.7740000000000001
sv_delta_home_win_exp0.0
sl_avg_best_speed74.19773425
sl_avg_hyper_speed92.777011875
Chase Silseth (681217) · PITCHER · Middle Reliever · Team TEX
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260820: 9
All-history rows before 20260820: 9

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.6671.000-0.667-1.000
predicted_ER3.0003.0003.000Pitching_ER0.3330.0002.6673.000
predicted_H4.0004.0004.000Pitching_H0.6670.0003.3334.000
predicted_IP0.2000.2000.200Pitching_InningsPitched0.7331.000-0.533-0.800
predicted_SO1.0001.0001.000Pitching_SO0.7780.0000.2221.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": "681217",
  "player_name": "Chase Silseth",
  "position": "Middle Reliever",
  "team": "TEX",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 3.0,
        "predicted_H": 4.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": 3.0,
        "predicted_H": 4.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.2,
        "predicted_R": 3.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": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 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": 3.0,
        "after": 3.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 4.0,
        "after": 4.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 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_ER3.000-
predicted_H4.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: 56
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.0001.0002.0002.0004.0001.0002.25001.00000.25000.50000.50001.00000.2500
last_100.35109.0003.0006.0007.0008.0002.0003.00001.44440.33330.66670.77780.88890.2222
season0.205647.20015.00040.00028.00055.0005.0002.83221.42660.31470.83920.58741.15390.1049
Weighted Prediction From Real Data
MetricValue
predicted_BB0.4160
predicted_ER0.2860
predicted_ERA3.2722
predicted_H0.5860
predicted_HR0.1490
predicted_IP0.2000
predicted_SO0.7700
predicted_WHIP1.2742
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.41600.2100model_form_blend
predicted_ER3.00000.28601.6298model_form_blend
predicted_ERA-3.27223.2722form_only
predicted_H4.00000.58602.2764model_form_blend
predicted_HR0.00000.14900.0752model_form_blend
predicted_IP0.20000.20000.2000model_form_blend
predicted_SO1.00000.77000.8839model_form_blend
predicted_WHIP-1.27421.2742form_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 used56
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP0.2
H4
R3
ER3
BB0
SO1
HR0
BF6
Pitches12

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced4
Pitching_ER0
Pitching_ERA2.83
Pitching_Flyouts0
Pitching_Groundouts2
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches15
Pitching_R0
Pitching_SO0
Pitching_Strikes8
Pitching_Wild Pitch0
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20260816_TEX@OAK
game_typefull
mlbID681217
playerID681217
playerNameChase Silseth
posP
startedFalse
startingPositionP
teamTEX
teamID28
game_date2026-08-16
game_pk824965.0
sl_k_percent26.2
sl_bb_percent13.3
sl_woba0.308
sl_xwoba0.311
sl_sweet_spot_percent41.6
sl_barrel_batted_rate9.6
sl_hard_hit_percent32.0
sl_whiff_percent32.0
sl_swing_percent47.5
sv_pitch_count15.0
sv_outs_recorded_est3.0
sv_release_speed88.59333333333333
sv_release_spin_rate2448.733333333333
sv_effective_speed87.69333333333334
sv_launch_speed74.45
sv_launch_angle23.83333333333333
sv_woba_value0.7
sv_woba_denom4.0
sv_delta_run_exp-0.4609999999999999
sv_delta_home_win_exp-0.067
sl_avg_best_speed75.094382787
sl_avg_hyper_speed93.374363197